| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- TRIGGER PROCEDURE FOR WRITE OF Aufze
- NEW BUFFER NAufze
- OLD BUFFER OAufze.
- DEFINE VARIABLE cResult AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lWeiter AS LOG NO-UNDO.
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- DEFINE VARIABLE lBatch AS LOG NO-UNDO INIT FALSE.
- DEFINE VARIABLE iDiff AS INTEGER NO-UNDO.
- DEFINE VARIABLE iRest AS INTEGER NO-UNDO.
- DEFINE VARIABLE lRuestDruck AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE VARIABLE cCallProg AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
-
- DEFINE BUFFER bArtLager FOR ArtLager.
- DEFINE BUFFER bArtbw FOR Artbw .
- DEFINE BUFFER bArtst FOR Artst .
- IF NAufze.Artnr = 0 AND
- OAufze.Artnr = 0 THEN RETURN.
-
- FIND bArtst NO-LOCK OF nAufze NO-ERROR.
- ASSIGN
- NAufze.lVerfall = bArtst.lVerfall
- NAufze.lLotnr = bArtst.lLotnr.
- RELEASE bArtst.
-
- BUFFER-COMPARE nAufze
- EXCEPT EP Liter Sk_Ber Verbucht
- TO OAufze
- SAVE RESULT IN cResult.
- IF cResult = '' THEN RETURN.
-
- lBatch = DYNAMIC-FUNCTION('getBatch':U) NO-ERROR.
- IF lBatch = ? THEN lBatch = TRUE.
- /* ---------------------------------------------- */
- /* Bestandesmutation */
- /* ---------------------------------------------- */
- DO WHILE TRUE:
- IF OAufze.Artnr = 0 AND
- NAufze.Artnr = 0 THEN LEAVE.
- IF OAufze.MGeli = NAufze.MGeli AND
- OAufze.Lag_Buch = NAufze.Lag_Buch THEN LEAVE.
-
- IF OAufze.Lag_Buch AND
- OAufze.Artnr > 0 THEN
- DO:
- FIND bArtLager
- WHERE bArtLager.Firma = OAufze.Firma
- AND bArtLager.Artnr = OAufze.Artnr
- AND bArtLager.Inhalt = OAufze.Inhalt
- AND bArtLager.Jahr = OAufze.Jahr
- AND bArtLager.Lager = OAufze.Lager NO-ERROR.
- IF NOT AVAILABLE bArtLager THEN
- DO:
- CREATE bArtLager.
- ASSIGN
- bArtLager.Firma = OAufze.Firma
- bArtLager.Artnr = OAufze.Artnr
- bArtLager.Inhalt = OAufze.Inhalt
- bArtLager.Jahr = OAufze.Jahr
- bArtLager.Lager = OAufze.Lager.
- END.
- ASSIGN
- bArtLager.Ausgang = bArtLager.Ausgang - OAufze.MGeli
- bArtLager.Bestand = bArtLager.Bestand + OAufze.MGeli.
- END.
- RELEASE bArtLager.
-
- IF NAufze.Lag_Buch AND
- NAufze.Artnr > 0 THEN
- DO:
- FIND bArtLager
- WHERE bArtLager.Firma = NAufze.Firma
- AND bArtLager.Artnr = NAufze.Artnr
- AND bArtLager.Inhalt = NAufze.Inhalt
- AND bArtLager.Jahr = NAufze.Jahr
- AND bArtLager.Lager = NAufze.Lager NO-ERROR.
- IF NOT AVAILABLE bArtLager THEN
- DO:
- CREATE bArtLager.
- ASSIGN
- bArtLager.Firma = NAufze.Firma
- bArtLager.Artnr = NAufze.Artnr
- bArtLager.Inhalt = NAufze.Inhalt
- bArtLager.Jahr = NAufze.Jahr
- bArtLager.Lager = NAufze.Lager.
- END.
- ASSIGN
- bArtLager.Ausgang = bArtLager.Ausgang + NAufze.MGeli
- bArtLager.Bestand = bArtLager.Bestand - NAufze.MGeli.
- END.
- RELEASE bArtLager.
-
- IF NAufze.Trnr <> 0 THEN
- DO:
- FIND FIRST Artbw
- WHERE Artbw.Firma = NAufze.Firma
- AND Artbw.Trnr = NAufze.Trnr.
- ASSIGN
- Artbw.GGeb_Me = NAufze.GGeb_Me
- Artbw.VGeb_Me = NAufze.VGeb_Me
- Artbw.KGeb_Me = NAufze.KGeb_Me
- Artbw.Menge = NAufze.KGeb_Me
- Artbw.Gewicht = NAufze.Gewicht
- Artbw.Net_Betr = NAufze.Net_Betr.
- END.
- LEAVE.
- END.
-
- FIND Aufko NO-LOCK OF NAufze.
- IF Aufko.Auf_Sta > 2 OR
- Aufko.Fahrer = 0 THEN
- DO:
- RELEASE Aufko.
- RETURN. /* Auftrag ist bereits im Lieferschein */
- END.
|