DEF VAR ii AS INT NO-UNDO. DEF VAR hSavze AS HANDLE NO-UNDO. DEF VAR Firma AS CHAR INIT '1000' NO-UNDO. FOR EACH Savko NO-LOCK WHERE Savko.Firma = Firma AND Savko.Fak_Datum >= 01/01/2018, EACH Savze WHERE Savze.Firma = Savko.Firma AND Savze.Aufnr = Savko.Aufnr AND Savze.Artnr > 0: FIND Artbw NO-LOCK WHERE Artbw.Firma = Savze.Firma AND Artbw.Trnr = Savze.Trnr AND Artbw.Aufnr = Savko.Aufnr AND Artbw.Faknr = Savko.Faknr AND Artbw.Artnr = Savze.Artnr AND Artbw.Inhalt = Savze.Inhalt AND Artbw.Jahr = Savze.Jahr NO-ERROR. IF AVAILABLE Artbw THEN NEXT. FIND Artbw NO-LOCK WHERE Artbw.Firma = Savze.Firma AND Artbw.Trnr = Savze.Trnr NO-ERROR. IF AVAILABLE Artbw THEN DO: Savze.Trnr = 0. hSavze = BUFFER Savze:HANDLE. DYNAMIC-FUNCTION('fillArtbwFromSavze':U, INPUT-OUTPUT hSavze ). ii = ii + 1. NEXT. END. END. MESSAGE ii VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. FUNCTION fillArtbwFromSavze RETURNS LOGICAL ( INPUT-OUTPUT iohtSavze AS HANDLE ): /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF VAR hArtbw AS HANDLE NO-UNDO. DEF VAR iAufnr AS INT NO-UNDO. DEF VAR iArtnr AS INT NO-UNDO. DEF VAR iTrnr AS INT NO-UNDO. DEF BUFFER bSavko FOR Savko. DEF BUFFER bArtbw FOR Artbw. DEF BUFFER bArtst FOR Artst. iAufnr = iohtSavze::Aufnr. iArtnr = iohtSavze::Artnr. iTrnr = iohtSavze::Trnr . IF iArtnr = 0 THEN RETURN TRUE. FIND bSavko NO-LOCK WHERE bSavko.Firma = Firma AND bSavko.Aufnr = iAufnr. FIND LAST bArtbw NO-LOCK USE-INDEX Artbw-k1 WHERE bArtbw.Firma = Firma NO-ERROR. IF AVAILABLE bArtbw THEN iTrnr = bArtbw.Trnr + 1. ELSE iTrnr = 1. iohtSavze::Trnr = iTrnr. CREATE bArtbw. ASSIGN bArtbw.Tr_Art = 01. hArtbw = BUFFER bArtbw:HANDLE. hArtbw:BUFFER-COPY(iohtSavze). ASSIGN bArtbw.Menge = iohtSavze::MGeli bArtbw.Datum = bSavko.Auf_Datum bArtbw.Faknr = bSavko.Faknr bArtbw.Fak_Dat = bSavko.Fak_Datum bArtbw.Knr = bSavko.Knr bArtbw.Fak_Knr = bSavko.Fak_Knr bArtbw.Fak_Art = bSavko.Fak_Art bArtbw.Abhol = bSavko.Abhol bArtbw.Vertr = bSavko.Vertr bArtbw.Lag_Buch = FALSE . RELEASE bSavko. RELEASE bArtbw. RELEASE bArtst. RETURN TRUE. END FUNCTION.