| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- DEF VAR iBestellt AS INT NO-UNDO.
- DEF BUFFER bBesze FOR Besze .
- DEF BUFFER bArtst FOR Artst .
- DEF BUFFER bArtLager FOR ArtLager.
- DISABLE TRIGGERS FOR LOAD OF Besze .
- DISABLE TRIGGERS FOR LOAD OF Artst .
- DISABLE TRIGGERS FOR LOAD OF ArtLager.
- FOR EACH Besze NO-LOCK
- WHERE Besze.Firma = '1000':
-
- FIND FIRST Besko NO-LOCK OF Besze NO-ERROR.
- IF NOT AVAILABLE Besko THEN
- DO:
- FIND bBesze WHERE RECID(bBesze) = RECID(Besze).
- DELETE bBesze.
- RELEASE bBesze.
- NEXT.
- END.
- IF Besze.Best_Sta = Besko.Best_Sta THEN NEXT.
-
- FIND bBesze WHERE RECID(bBesze) = RECID(Besze).
- bBesze.Best_Sta = Besko.Best_Sta.
- END.
- FOR EACH Artst NO-LOCK
- WHERE Artst.Firma = '1000',
-
- FIRST ArtLager NO-LOCK OF Artst:
-
- iBestellt = 0.
- FOR EACH Besze NO-LOCK
- WHERE Besze.Firma = Artst.Firma
- AND Besze.Artnr = Artst.Artnr
- AND Besze.Inhalt = Artst.Inhalt
- AND Besze.Jahr = Artst.Jahr
- AND Besze.Best_Sta < 3
- :
- iBestellt = iBestellt + Besze.MBest.
- END.
-
- IF iBestellt = Artst.Bestellt AND
- iBestellt = ArtLager.Bestellt THEN NEXT.
-
- IF iBestellt <> Artst.Bestellt THEN DO:
- FIND bArtst EXCLUSIVE-LOCK
- WHERE RECID(bArtst) = RECID(Artst) NO-WAIT NO-ERROR.
- IF AVAILABLE bArtst THEN DO:
- bArtst.Bestellt = iBestellt.
- RELEASE bArtst.
- END.
- END.
- IF iBestellt <> ArtLager.Bestellt THEN DO:
- FIND bArtLager EXCLUSIVE-LOCK
- WHERE RECID(bArtLager) = RECID(ArtLager) NO-WAIT NO-ERROR.
- IF AVAILABLE bArtLager THEN DO:
- bArtLager.Bestellt = iBestellt.
- RELEASE bArtLager.
- END.
- END.
- END.
|