Inhaltsverzeichnis



Beispiel - Benachrichtung - Überlast an Ressource nach FA-Einplanung

 

Das folgende Beispiel zeigt eine automatische Benachrichtigung nach erfolgter Terminierung eines Fertigungsauftrags an, wenn durch die Einplanung eine Überlast an einem in einem Fertigungsauftrag verwendeten Arbeitsplatz erzeugt wurde.

„Überlast“ bedeutet, an mindestens einem verwendeten Arbeitsplatz übersteigt die benötigte Kapazität an mindestens einem Tag im Zeitraum „Start 1. AG“ bis „Ende letzter AG“ (= Durchlaufzeit der gesamten FA-Position) die verfügbare Kapazität.

 

Einrichtung Workflowaktion

 

Für das Ereignis „cd4027 Fertigungsauflösung - Auflösung für Auftrag IKEY1 beendet“ wird die folgende Aktion definiert:

 

graphic/52103_BspWofl_03.gif

 

 

Formel

 

declare

   min_ag_start = date not null with default,

   max_ag_start = date not null with default,

   char_dummy = varchar(100) not null with default,

   int_dummy = integer not null with default,

   arbeitsplatz = integer not null with default,

enddeclare

begin

 

   /* Kleinsten Starttermin eines AG holen. */

   select min_ag_start = ifnull(min(ag_start), )      from fert_zeitsatz     where auftrags_nr = :ikey1       and pos_nr1 = :ikey3       and arbeitsgang != 9999;      /* Grössten Starttermin eines AG holen. */    select max_ag_start = ifnull(max(ag_start), )

     from fert_zeitsatz

    where auftrags_nr = :ikey1

      and pos_nr1 = :ikey3

      and arbeitsgang != 9999;

   

   /* Jeden Arbeitsplatz im angegebenen Bereich prüfen. */

   select distinct arbeitsplatz = arbeitsplatz

     from fert_zeitsatz

    where auftrags_nr = :ikey1

      and pos_nr1 = :ikey3

      and arbeitsgang != 9999

   begin

       

      char_dummy = '%' + varchar(arbeitsplatz);

       

      int_dummy = 0;

      select int_dummy = 1

        from fert_tkapazitaet_vorgabe

       where satz_kennzeichen = 1

         and werkzeug_nr like :char_dummy

         and datum between :min_ag_start and :max_ag_start

         and kapazitaet_gesamt - bedarf_gesamt_standard < 0;

      if int_dummy = 1 then

           

         ResultString = 'Überlast bei Arbeitsplatz ' + varchar(arbeitsplatz) +

                        ' im FA ' + text(ikey1) + ', Position ' + text(ikey3);

                         

         return true;

      endif;

       

   end;

       

 

   return false;

 

end

Menüpunkte

Buttons

Informationen zu den "Buttons"