| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- DEF VAR iAufnr AS INT NO-UNDO.
- DEF VAR hSavze AS HANDLE NO-UNDO.
- FOR EACH Savze
- WHERE Savze.Firma = '1000'
- AND Savze.Artnr > 0
- AND Savze.Trnr = 0,
- FIRST Savko NO-LOCK OF Savze :
- hSavze = BUFFER Savze:HANDLE.
-
- RUN CREATE_ARTBW ( INPUT-OUTPUT hSavze ).
-
- END.
- PROCEDURE CREATE_ARTBW:
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT-OUTPUT PARAMETER iphSavze AS HANDLE NO-UNDO.
- DEF VAR cFirma AS CHAR NO-UNDO.
- DEF VAR iKnr AS INT NO-UNDO.
- DEF VAR iLager AS INT NO-UNDO.
- DEF VAR iArtnr AS INT NO-UNDO.
- DEF VAR iInhalt AS INT NO-UNDO.
- DEF VAR iJahr AS INT NO-UNDO.
- DEF VAR iTrnr AS INT NO-UNDO.
- DEF VAR hArtbw AS HANDLE NO-UNDO.
- DEF VAR nMGel AS DEC NO-UNDO.
-
- ASSIGN cFirma = iphSavze::Firma
- iArtnr = iphSavze::Artnr
- iInhalt = iphSavze::Inhalt
- iJahr = iphSavze::Jahr
- nMGel = iphSavze::MGeli
- iAufnr = iphSavze::Aufnr.
-
- FIND Savko NO-LOCK
- WHERE Savko.Firma = cFirma
- AND Savko.Aufnr = iAufnr NO-ERROR.
- IF NOT AVAILABLE Savko THEN RETURN.
- ASSIGN iKnr = Savko.Knr
- iLager = Savko.Lager.
-
- IF iphSavze::Trnr = 0 THEN DO:
- FIND LAST Artbw NO-LOCK USE-INDEX Artbw-k1
- WHERE Artbw.Firma = cFirma NO-ERROR.
- IF AVAILABLE Artbw THEN iphSavze::Trnr = Artbw.Trnr + 1.
- ELSE iphSavze::Trnr = 1.
- END.
- iTrnr = iphSavze::Trnr.
-
- FIND Artbw USE-INDEX Artbw-k1
- WHERE Artbw.Firma = cFirma
- AND Artbw.Trnr = iTrnr NO-ERROR.
- IF NOT AVAILABLE Artbw THEN DO:
- CREATE Artbw.
- ASSIGN Artbw.Firma = cFirma
- Artbw.Trnr = iTrnr
- Artbw.Tr_Art = 01
- Artbw.Artnr = iArtnr
- Artbw.Inhalt = iInhalt
- Artbw.Jahr = iJahr
- Artbw.Knr = iKnr.
- END.
- hArtbw = BUFFER Artbw:HANDLE.
- hArtbw:BUFFER-COPY(iphSavze, "Firma,Trnr,Artnr,Inhalt,Jahr").
- ASSIGN Artbw.Menge = nMGel
- Artbw.Datum = Savko.Auf_Dat
- Artbw.Faktor = 1
- Artbw.Kurs = Savko.Kurs
- Artbw.Faknr = Savko.Faknr
- Artbw.Fak_Dat = Savko.Fak_Dat
- Artbw.Fak_Art = Savko.Fak_Art
- Artbw.Knr = Savko.Knr
- Artbw.Fak_Knr = Savko.Fak_Knr
- Artbw.Abhol = Savko.Abhol
- Artbw.Vertr = Savko.Vertr
- Artbw.Bonus_Verb = FALSE.
- /* ------------------------------------------ */
- /* Bestand, Ausgang (Lager) */
- /* ------------------------------------------ */
- IF iphSavze::Lag_Buch THEN DO:
- FIND ArtLager USE-INDEX ArtLager-k1
- WHERE ArtLager.Firma = cFirma
- AND ArtLager.Artnr = iArtnr
- AND ArtLager.Inhalt = iInhalt
- AND ArtLager.Jahr = iJahr
- AND ArtLager.Lager = iLager NO-ERROR.
- IF NOT AVAILABLE ArtLager THEN DO:
- CREATE ArtLager.
- ASSIGN ArtLager.Firma = cFirma
- ArtLager.Artnr = iArtnr
- ArtLager.Inhalt = iInhalt
- ArtLager.Jahr = iJahr
- ArtLager.Lager = iLager NO-ERROR.
- END.
- ASSIGN ArtLager.Ausgang = ArtLager.Ausgang + nMGel
- ArtLager.Bestand = ArtLager.Bestand - nMGel.
- END.
-
- END PROCEDURE.
|