Skip to main content
Skip table of contents

Event "vor Fertigungs-AKA-Abbuchung"

Event "vor Fertigungs-AKA-Abbuchung"


Der Event wird vor der Abbuchung der Rohwaren beim Arbeitskartendruck in der Fertigung aufgerufen. Als Parameter wird das aktuelle Datenmodul, die Vorgabe-Lagerliste, sowie die abzubuchende Menge übergeben. Rückgabe ist ggf. eine neue Lagerliste; optional mit maximal abzubuchender Menge je Lager.
+Hinweis{+}: Ist die Rückgabe NULL() (nicht leer!), so erfolgt keine Abbuchung von Ware für diese Fertigungsposition!

Beispiel

CODE
| nEvtNo:P1, oDM:P2, aLager:P3, nMenge:P4,
  nTray, cTrayLag, i |

// Der Aufruf erfolgt direkt vor Beginn der Abbuchung einer Fertigungsauftragsposition.
// Auf alle aktuellen Tabellen kann über das Datenmodul oDM über die Standard-Aliase zugegriffen werden.
// Rückgabe : Lagernummern-/Max.Mengen-Array
//  { { <Lager-Nr.-String>, <Max.Menge> }, <Lager-Nr.-String>, ... } oder Leer bzw. NULL() = keine Abbuchung.
//  Das <Max.Menge>-Element stellt die max. abzubuchende Menge dar.
//  Wird das <Max.Menge>-Element nicht angegeben, wird die gesamte verfügbare Lager-Menge verwendet.

// Lager "10" wird als Tray-Lager angenommen 
cTrayLag := "10",

// Tray-Lager präventiv aus Lager-Array löschen
for i := 1 to Alen(aLager) do
   if aLager[i] = cTrayLag then
      ADelete( aLager, i ),
   endif,
next,

// Verfügbare Tray-Menge wird auf Vielfaches von 12 abgerundet
nTray := Min(nMenge, Lager(cTrayLag, DBGetTable(oDM,waDAB010))),
nTray := Int(nTray / 12) * 12,

// Dem aLager-Array als erstes Element mit einer Max.Menge von nTray hinzufügen
if nTray > 0 then
   AInsert(aLager, 1, { cTrayLag, nTray } ),
endif,

aLager


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.