| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- TRIGGER PROCEDURE FOR DELETE OF RuestAuf.
- DEFINE VARIABLE lBatch AS LOGICAL NO-UNDO.
- DEFINE VARIABLE iHoReLager_Id AS INTEGER NO-UNDO.
- DEFINE BUFFER bHoRelager FOR HoReLager.
- DEFINE BUFFER bLotLager FOR LotLager .
- DEFINE BUFFER bAufLot FOR AufLot .
- DEFINE BUFFER bAufze FOR Aufze .
- lBatch = DYNAMIC-FUNCTION ('getBatch':U) NO-ERROR.
- IF lBatch = ? THEN lBatch = TRUE.
- IF RuestAuf.MGeli = 0 THEN RETURN.
- REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
- FIND bAufze NO-LOCK OF RuestAuf NO-ERROR.
- IF NOT AVAILABLE bAufze THEN LEAVE.
-
- iHoReLager_Id = 0.
- FIND FIRST bHoReLager
- WHERE bHoReLager.Firma = bAufze.Firma
- AND bHoReLager.Lager = bAufze.Lager
- AND bHoReLager.cSort = RuestAuf.Lagerort NO-ERROR.
- IF AVAILABLE bHoReLager THEN
- DO:
- bHoReLager.Bestand = bHoReLager.Bestand + RuestAuf.MGeli.
- iHoReLager_Id = bHoReLager.HoReLager_Id.
- END.
-
- FOR EACH bAufLot
- WHERE bAufLot.Firma = bAufze.Firma
- AND bAufLot.Lager = bAufze.Lager
- AND bAufLot.Aufnr = bAufze.Aufnr
- AND bAufLot.Pos = bAufze.Pos :
-
- FIND FIRST bLotLager USE-INDEX LotLager-k3
- WHERE bLotLager.Firma = bAufze.Firma
- AND bLotLager.Lager = bAufze.Lager
- AND bLotLager.Artnr = bAufze.Artnr
- AND bLotLager.Inhalt = bAufze.Inhalt
- AND bLotLager.Jahr = bAufze.Jahr
- AND bLotLager.Verfall = bAufLot.Verfall NO-ERROR.
- IF iHoReLager_Id <> 0 THEN
- DO:
- IF NOT AVAILABLE bLotLager OR
- bLotLager.HoReLager_Id <> iHoReLager_Id THEN
- DO:
- CREATE bLotLager.
- ASSIGN
- bLotLager.Firma = bAufLot.Firma
- bLotLager.Artnr = bAufLot.Artnr
- bLotLager.Inhalt = bAufze.Inhalt
- bLotLager.Jahr = bAufze.Jahr
- bLotLager.Eingang = TODAY
- bLotLager.Verfall = bAufLot.Verfall
- bLotLager.Lotnummer = bAufLot.Nummer
- bLotLager.Prodnummer = bAufLot.ProduktionsNr
- bLotLager.HoReLager_Id = iHoReLager_Id
- bLotLager.Lager = bAufLot.Lager.
- END.
- bLotLager.Bestand = bLotLager.Bestand + bAufLot.Menge.
- END.
-
- DELETE bAufLot .
-
- RELEASE bLotLager.
- END.
-
- RELEASE bHoRelager.
- RELEASE bAufLot .
- RELEASE bLotLager .
-
- LEAVE.
- END.
|