TRIGGER PROCEDURE FOR DELETE OF Aufze. DEFINE VARIABLE lBatch AS LOGICAL NO-UNDO INIT FALSE. DEFINE VARIABLE lRuestDruck AS LOGICAL NO-UNDO INIT FALSE. DEFINE BUFFER bArtLager FOR ArtLager. DEFINE BUFFER bArtbw FOR Artbw. IF Aufze.Artnr = 0 THEN RETURN. lBatch = DYNAMIC-FUNCTION ('getBatch':U) NO-ERROR. IF lBatch = ? THEN lBatch = TRUE. FIND bArtbw WHERE bArtbw.Firma = Aufze.Firma AND bArtbw.Trnr = Aufze.Trnr NO-ERROR. IF AVAILABLE bArtbw THEN DELETE bArtbw. IF NOT Aufze.Lag_Buch THEN RETURN. FIND bArtLager WHERE bArtLager.Firma = Aufze.Firma AND bArtLager.Artnr = Aufze.Artnr AND bArtLager.Inhalt = Aufze.Inhalt AND bArtLager.Jahr = Aufze.Jahr AND bArtLager.Lager = Aufze.Lager NO-ERROR. IF NOT AVAILABLE bArtLager THEN DO: CREATE bArtLager. ASSIGN bArtLager.Firma = Aufze.Firma bArtLager.Artnr = Aufze.Artnr bArtLager.Inhalt = Aufze.Inhalt bArtLager.Jahr = Aufze.Jahr bArtLager.Lager = Aufze.Lager. END. ASSIGN bArtLager.Ausgang = bArtLager.Ausgang - Aufze.MGeli bArtLager.Bestand = bArtLager.Bestand + Aufze.MGeli. RELEASE bArtLager. FIND Aufko NO-LOCK OF Aufze NO-ERROR. IF AVAILABLE Aufko THEN DO: IF Aufko.Auf_Sta > 2 THEN DO: RELEASE Aufko. RETURN. /* Auftrag ist bereits im Lieferschein */ END. END.