DEF VAR Firma AS CHAR NO-UNDO INIT '1000'. DEF VAR VJJ AS INT NO-UNDO. DEF VAR VMM AS INT NO-UNDO. DEF VAR nRundbetr AS DEC DECIMALS 4. DEF TEMP-TABLE tArtikel FIELD Artnr AS INT FIELD Inhalt AS INT FIELD Jahr AS INT FIELD Datum AS DATE FIELD DEP AS DEC DECIMALS 4 FIELD LDEP AS DEC DECIMALS 4 FIELD EP AS DEC DECIMALS 4 FIELD NDEP AS DEC DECIMALS 4 . DEF TEMP-TABLE tKunden FIELD Knr AS INT . FOR EACH Artbw WHERE Artbw.Firma = Firma AND Artbw.Datum > 01/01/2021 AND Artbw.EP > 5000 AND Artbw.Tr_Art = 11, FIRST ArtLief NO-LOCK WHERE ArtLief.Firma = Artbw.Firma AND ArtLief.Artnr = Artbw.Artnr AND ArtLief.Inhalt = Artbw.Inhalt AND ArtLief.Jahr = Artbw.Jahr AND ArtLief.Knr = Artbw.Knr : FIND FIRST tArtikel WHERE tArtikel.Artnr = Artbw.Artnr AND tArtikel.Inhalt = Artbw.Inhalt AND tArtikel.Jahr = Artbw.Inhalt NO-ERROR. IF NOT AVAILABLE tArtikel THEN DO: CREATE tArtikel. ASSIGN tArtikel.Artnr = Artbw.Artnr tArtikel.Inhalt = Artbw.Inhalt tArtikel.Jahr = Artbw.Inhalt tArtikel.Datum = Artbw.Datum tArtikel.DEP = Artbw.EP . END. IF Artbw.Datum < tArtikel.Datum THEN tArtikel.Datum = Artbw.Datum. ASSIGN tArtikel.EP = (IF Artbw.Preis < 0.05 THEN ArtLief.S_Preis ELSE Artbw.Preis). END. FOR EACH tArtikel: FIND LAST Artbw NO-LOCK WHERE Artbw.Firma = Firma AND Artbw.Artnr = tArtikel.Artnr AND Artbw.Inhalt = tArtikel.Inhalt AND Artbw.Jahr = tArtikel.Jahr AND Artbw.Tr_Art = 11 AND Artbw.Datum < tArtikel.Datum NO-ERROR. IF AVAILABLE Artbw THEN tArtikel.LDEP = Artbw.EP. ELSE tArtikel.LDEP = tArtikel.EP. IF tArtikel.LDEP <> 0 THEN DO: tArtikel.NDEP = (tArtikel.LDEP + tArtikel.EP) / 2. NEXT. END. FIND FIRST ArtLief NO-LOCK WHERE ArtLief.Firma = Firma AND ArtLief.Artnr = tArtikel.Artnr AND ArtLief.Inhalt = tArtikel.Inhalt AND ArtLief.Jahr = tArtikel.Jahr AND ArtLief.Haupt = TRUE NO-ERROR. tArtikel.LDEP = ArtLief.S_Preis. tArtikel.NDEP = (tArtikel.LDEP + tArtikel.EP) / 2. END. FOR EACH tArtikel: FOR EACH Artbw WHERE Artbw.Firma = Firma AND Artbw.Artnr = tArtikel.Artnr AND Artbw.Inhalt = tArtikel.Inhalt AND Artbw.Jahr = tArtikel.Jahr AND Artbw.Datum = 04/01/2021 AND Artbw.EP > 5000 AND Artbw.Tr_Art < 11: FIND FIRST tKunden WHERE tKunden.Knr = Artbw.Knr NO-ERROR. IF NOT AVAILABLE tKunden THEN DO: CREATE tKunden. ASSIGN tKunden.Knr = Artbw.Knr. END. END. END. FOR EACH tArtikel: FIND Artst WHERE Artst.Firma = Firma AND Artst.Artnr = tArtikel.Artnr AND Artst.Inhalt = tArtikel.Inhalt AND Artst.Jahr = tArtikel.Jahr. ASSIGN Artst.DEP = tArtikel.NDEP Artst.LEP = tArtikel.EP. FOR EACH Aufze WHERE Aufze.Firma = Firma AND Aufze.Artnr = tArtikel.Artnr AND Aufze.Inhalt = tArtikel.Inhalt AND Aufze.Jahr = tArtikel.Jahr AND Aufze.EP > 5000: Aufze.Ep = tArtikel.NDEP. END. FOR EACH Savze WHERE Savze.Firma = Firma AND Savze.Artnr = tArtikel.Artnr AND Savze.Inhalt = tArtikel.Inhalt AND Savze.Jahr = tArtikel.Jahr AND Savze.EP > 5000: Savze.Ep = tArtikel.NDEP. END. END. FOR EACH tKunden: FOR EACH tArtikel: FOR EACH Artbw WHERE Artbw.Firma = Firma AND Artbw.Knr = tKunden.Knr AND Artbw.Artnr = tArtikel.Artnr AND Artbw.Inhalt = tArtikel.Inhalt AND Artbw.Jahr = tArtikel.Jahr AND Artbw.Datum >= tArtikel.Datum AND Artbw.EP > 5000: IF Artbw.Faknr = 0 THEN DO: Artbw.EP = tArtikel.NDEP. NEXT. END. VJJ = YEAR (Artbw.Fak_Dat). VMM = MONTH(Artbw.Fak_Dat). nRundbetr = (Artbw.Menge * tArtikel.NDEP) - (Artbw.Menge * Artbw.EP). FIND DeArUms USE-INDEX DeArUms-k1 WHERE DeArUms.Firma = Firma AND DeArUms.Jahr = VJJ AND DeArUms.Knr = tKunden.Knr AND DeArUms.Artnr = tArtikel.Artnr AND DeArUms.Inhalt = tArtikel.Inhalt AND DeArUms.Jahrg = tArtikel.Jahr NO-ERROR. IF AVAILABLE DeArUms THEN DO: DeArUms.Ep_Kum = DeArUms.Ep_Kum + nRundbetr. DeArUms.Ep_Mon[VMM] = DeArUms.Ep_Mon[VMM] + nRundbetr. END. FIND ArtUms USE-INDEX ArtUms-k1 WHERE ArtUms.Firma = Firma AND ArtUms.Jahr = VJJ AND ArtUms.Artnr = tArtikel.Artnr AND ArtUms.Inhalt = tArtikel.Inhalt AND ArtUms.Jahrg = tArtikel.Jahr NO-ERROR. IF AVAILABLE ArtUms THEN DO: ArtUms.Ep_Kum = ArtUms.Ep_Kum + nRundbetr. ArtUms.Ep_Mon[VMM] = ArtUms.Ep_Mon[VMM] + nRundbetr. END. FIND DebUms USE-INDEX DebUms-k1 WHERE DebUms.Firma = Firma AND DebUms.Jahr = VJJ AND DebUms.Knr = tKunden.Knr AND DebUms.Ums_Grp = 999 NO-ERROR. IF AVAILABLE DebUms THEN DO: DebUms.Ep_Kum = DebUms.Ep_Kum + nRundbetr. DebUms.Ep_Mon[VMM] = DebUms.Ep_Mon[VMM] + nRundbetr. END. Artbw.Ep = tArtikel.NDEP. END. END. END.