DEF VAR ix AS INT NO-UNDO. DEF VAR Lep AS DEC DECIMALS 4 NO-UNDO. DEF BUFFER BArtst FOR Artst. FOR EACH Artst NO-LOCK : IF Artst.Dep <> ? THEN NEXT. Lep = Artst.Lep. IF Lep = 0 OR Lep = ? THEN Lep = Artst.Listen_Ep. FOR EACH Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = Artst.Firma AND Artbw.Artnr = Artst.Artnr AND Artbw.Inhalt = Artst.Inhalt AND Artbw.Jahr = Artst.Jahr AND Artbw.Tr_Art < 21 : IF Artbw.Tr_Art = 11 THEN DO: IF Artbw.Preis = ? THEN Artbw.Preis = Lep. IF Artbw.Preis = 0 THEN Artbw.Preis = Lep. IF Artbw.Preis > 0 THEN Lep = Artbw.Preis. IF Artbw.Ep = ? THEN Artbw.Ep = Lep. IF Artbw.Ep = 0 THEN Artbw.Ep = Lep. NEXT. END. IF Artbw.Ep = ? THEN Artbw.Ep = Lep. IF Artbw.Ep = 0 THEN Artbw.Ep = Lep. IF Artbw.Ep <> ? AND Artbw.Ep <> 0 THEN Lep = Artbw.Ep. END. FOR EACH DeArUms USE-INDEX DeArUms-k4 WHERE DeArUms.Firma = Artst.Firma AND DeArUms.Artnr = Artst.Artnr AND DeArUms.Inhalt = Artst.Inhalt AND DeArUms.Jahrg = Artst.Jahr: IF DeArUms.Ep_Kum <> ? THEN NEXT. ASSIGN DeArUms.Ep_Kum = 0. DO ix = 1 TO 12: IF DeArUms.Ep_Mon[ix] = ? THEN DO: Datum = DATE(ix,01,DeArUms.Jahr). FIND LAST Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = Artst.Firma AND Artbw.Artnr = Artst.Artnr AND Artbw.Inhalt = Artst.Inhalt AND Artbw.Jahr = Artst.Jahr AND Artbw.Tr_Art = 1 AND Artbw.Datum <= Datum NO-ERROR. IF AVAILABLE Artbw AND Artbw.Ep <> 0 THEN Lep = Artbw.Ep. DeArUms.Ep_Mon[ix] = DeArUms.Me_Mon[ix] * Lep. END. ASSIGN DeArUms.Ep_Kum = DeArUms.Ep_Kum + DeArUms.Ep_Mon[ix]. END. END. REPEAT TRANSACTION: FIND BArtst WHERE RECID(BArtst) = RECID(Artst). BArtst.Dep = Lep. RELEASE BArtst. LEAVE. END. END. FOR EACH ArtUms USE-INDEX ArtUms-k2: IF ArtUms.Ep_Kum <> ? THEN NEXT. ASSIGN ArtUms.Ep_Kum = 0 ArtUms.Ep_Mon = 0. FOR EACH DeArUms USE-INDEX DeArUms-k4 WHERE DeArUms.Firma = ArtUms.Firma AND DeArUms.Artnr = ArtUms.Artnr AND DeArUms.Inhalt = ArtUms.Inhalt AND DeArUms.Jahrg = ArtUms.Jahrg AND DeArUms.Jahr = ArtUms.Jahr NO-LOCK: DO ix = 1 TO 12: ASSIGN ArtUms.Ep_Mon[ix] = ArtUms.Ep_Mon[ix] + DeArUms.Ep_Mon[ix] ArtUms.Ep_Kum = ArtUms.Ep_Kum + DeArUms.Ep_Mon[ix]. END. END. END. FOR EACH DebUms: IF DebUms.Ep_Kum <> ? THEN NEXT. ASSIGN DebUms.Ep_Kum = 0 DebUms.Ep_Mon = 0. FOR EACH DeArUms USE-INDEX DeArUms-k3 WHERE DeArUms.Firma = DebUms.Firma AND DeArUms.Knr = DebUms.Knr AND DeArUms.Jahr = DebUms.Jahr NO-LOCK: DO ix = 1 TO 12: ASSIGN DebUms.Ep_Mon[ix] = DebUms.Ep_Mon[ix] + DeArUms.Ep_Mon[ix] DebUms.Ep_Kum = DebUms.Ep_Kum + DeArUms.Ep_Mon[ix]. END. END. END.