| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- 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.
|