TRIGGER PROCEDURE FOR DELETE OF Besze. DEFINE VARIABLE lBatch AS LOG INIT TRUE NO-UNDO. DEFINE VARIABLE rArtst AS RECID NO-UNDO. DEFINE BUFFER bArtLager FOR ArtLager. DEFINE BUFFER bArtbw FOR Artbw. DEFINE BUFFER bArtst FOR Artst. IF Besze.Artnr = 0 THEN RETURN. FIND FIRST BesEing NO-LOCK OF Besze NO-ERROR. IF AVAILABLE BesEing THEN RETURN ERROR. FIND bArtst NO-LOCK WHERE bArtst.Firma = Besze.Firma AND bArtst.Artnr = Besze.Artnr AND bArtst.Inhalt = Besze.Inhalt AND bArtst.Jahr = Besze.Jahr NO-ERROR. IF NOT AVAILABLE bArtst OR NOT bArtst.Lager OR NOT bArtst.Aktiv OR bArtst.Ausverk = 9 THEN RETURN. rArtst = RECID(bArtst). FIND FIRST ASMutation WHERE ASMutation.Firma = Besze.Firma AND ASMutation.Datum = TODAY AND ASMutation.MutArt = 'DASHBOARD' AND ASMutation.cFeld_1 = 'BESTELLUNG' AND ASMutation.iKey_1 = Besze.Besnr NO-ERROR. IF AVAILABLE ASMutation THEN DO: IF (TIME - ASMutation.iFeld_1) > 5 THEN RELEASE ASMutation. END. IF NOT AVAILABLE ASMutation THEN DO: CREATE ASMutation. ASSIGN ASMutation.asmutation_id = NEXT-VALUE(asmutation_id) ASMutation.Aktiv = TRUE ASMutation.cStatus = '' ASMutation.Datum = TODAY ASMutation.Firma = Besze.Firma ASMutation.MutArt = 'DASHBOARD' ASMutation.cFeld_1 = 'BESTELLUNG' ASMutation.iKey_1 = Besze.Besnr ASMutation.iFeld_1 = TIME . END. lBatch = DYNAMIC-FUNCTION('getBatch':U) NO-ERROR. IF ERROR-STATUS:ERROR THEN lBatch = FALSE. IF lBatch = ? THEN lBatch = FALSE. FIND Artst WHERE RECID(Artst) = rArtst. Artst.Bestellt = bArtst.Bestellt - Besze.MBest. IF Besze.Trnr > 0 THEN DO: FIND bArtbw WHERE bArtbw.Firma = Besze.Firma AND bArtbw.Trnr = Besze.Trnr NO-ERROR. IF AVAILABLE bArtbw THEN DELETE bArtbw. END. IF Artst.Lager THEN DO: FIND bArtLager WHERE bArtLager.Firma = Besze.Firma AND bArtLager.Artnr = Besze.Artnr AND bArtLager.Inhalt = Besze.Inhalt AND bArtLager.Jahr = Besze.Jahr AND bArtLager.Lager = Besze.Lager NO-ERROR. IF NOT AVAILABLE bArtLager THEN DO: CREATE bArtLager. ASSIGN bArtLager.Firma = Besze.Firma bArtLager.Artnr = Besze.Artnr bArtLager.Inhalt = Besze.Inhalt bArtLager.Jahr = Besze.Jahr bArtLager.Lager = Besze.Lager. END. ASSIGN bArtLager.Eingang = bArtLager.Eingang - Besze.MGeli bArtLager.Bestand = bArtLager.Bestand - Besze.MGeli bArtLager.Bestellt = bArtLager.Bestellt - Besze.MBest. . RELEASE bArtLager. END. RELEASE Artst . RELEASE bArtst . RELEASE bArtbw . RELEASE bArtLager.