| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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.
-
|