| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- DEF VAR Firma AS CHAR NO-UNDO INIT '2000'.
- DEF VAR Jahr AS INT NO-UNDO INIT 2003.
- DEF VAR JJ AS INT NO-UNDO.
- DEF VAR MM AS INT NO-UNDO.
- DEF VAR VNetto AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VEp AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VLiter AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR Knr AS INT NO-UNDO.
- DEF VAR inkl AS LOG NO-UNDO.
- DEF VAR Ansatz AS DEC NO-UNDO.
- DO Jahr = 2003 TO 2004:
- FOR EACH DebUms WHERE DebUms.Firma = Firma
- AND DebUms.Jahr = Jahr:
- DELETE DebUms.
- END.
- FOR EACH ArtUms WHERE ArtUms.Firma = Firma
- AND ArtUms.Jahr = Jahr:
- DELETE ArtUms.
- END.
- FOR EACH DeArUms WHERE DeArUms.Firma = Firma
- AND DeArUms.Jahr = Jahr:
- DELETE DeArUms.
- END.
- FOR EACH Debst WHERE Debst.Firma = Firma NO-LOCK:
- CREATE DebUms.
- ASSIGN DebUms.Firma = Firma
- DebUms.Jahr = Jahr
- DebUms.Knr = Debst.Knr
- DebUms.Ums_Grp = 999.
- END.
- FOR EACH Artst WHERE Artst.Firma = Firma NO-LOCK:
- CREATE ArtUms.
- ASSIGN ArtUms.Firma = Firma
- ArtUms.Jahr = Jahr
- ArtUms.Artnr = Artst.Artnr
- ArtUms.Inhalt = Artst.Inhalt
- ArtUms.Jahrg = Artst.Jahr.
- END.
- FOR EACH Savko WHERE Savko.Firma = Firma
- AND YEAR(Savko.Fak_Datum) = Jahr NO-LOCK,
- EACH Savze OF Savko NO-LOCK:
- IF Savze.MGeli = 0 THEN NEXT.
- IF Savko.Fak_Knr <> 0 THEN Knr = Savko.Fak_Knr.
- ELSE Knr = Savko.Knr.
- JJ = YEAR (Savko.Fak_Datum).
- MM = MONTH(Savko.Fak_Datum).
- FIND FIRST Wust USE-INDEX Wust-k2
- WHERE Wust.WuCd = Savze.WuCd NO-LOCK NO-ERROR.
- IF AVAILABLE Wust THEN inkl = Wust.Incl.
- ELSE inkl = FALSE.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = Savze.WuCd
- AND MWSTAns.Datum <= Savko.Kond_Datum NO-LOCK NO-ERROR.
- IF AVAILABLE MWSTAns THEN Ansatz = MWSTAns.Ansatz.
- ELSE Ansatz = 2.4.
- VNetto = Savze.Net_Betr - Savze.Auf_Rab - Savze.Abh_Rab - Savze.Auf_Sp_Rab.
- IF Inkl THEN VNetto = VNetto * 100 / (100 + Ansatz).
- VLiter = Savze.Liter.
- VEp = Savze.Ep * Savze.MGeli.
- FIND DebUms USE-INDEX DebUms-k1
- WHERE DebUms.Firma = Firma
- AND DebUms.Jahr = JJ
- AND DebUms.Knr = Knr
- AND DebUms.Ums_Grp = 999 NO-ERROR.
- IF NOT AVAILABLE DebUms THEN DO:
- CREATE DebUms.
- ASSIGN DebUms.Firma = Firma
- DebUms.Jahr = JJ
- DebUms.Knr = Knr
- DebUms.Ums_Grp = 999.
- END.
- ASSIGN DebUms.Me_Mon[MM] = DebUms.Me_Mon[MM] + Savze.MGeli
- DebUms.Me_Kum = DebUms.Me_Kum + Savze.MGeli
- DebUms.Ep_Mon[MM] = DebUms.Ep_Mon[MM] + VEp
- DebUms.Ep_Kum = DebUms.Ep_Kum + VEp
- DebUms.Vp_Mon[MM] = DebUms.Vp_Mon[MM] + VNetto
- DebUms.Vp_Kum = DebUms.Vp_Kum + VNetto.
- FIND ArtUms USE-INDEX ArtUms-k1
- WHERE ArtUms.Firma = Firma
- AND ArtUms.Jahr = JJ
- AND ArtUms.Artnr = Savze.Artnr
- AND ArtUms.Inhalt = Savze.Inhalt
- AND ArtUms.Jahrg = Savze.Jahr NO-ERROR.
- IF NOT AVAILABLE ArtUms THEN DO:
- CREATE ArtUms.
- ASSIGN ArtUms.Firma = Firma
- ArtUms.Jahr = JJ
- ArtUms.Artnr = Savze.Artnr
- ArtUms.Inhalt = Savze.Inhalt
- ArtUms.Jahrg = Savze.Jahr NO-ERROR.
- END.
- ASSIGN ArtUms.Me_Mon[MM] = ArtUms.Me_Mon[MM] + Savze.MGeli
- ArtUms.Me_Kum = ArtUms.Me_Kum + Savze.MGeli
- ArtUms.Ep_Mon[MM] = ArtUms.Ep_Mon[MM] + VEp
- ArtUms.Ep_Kum = ArtUms.Ep_Kum + VEp
- ArtUms.Li_Mon[MM] = ArtUms.Li_Mon[MM] + VLiter
- ArtUms.Li_Kum = ArtUms.Li_Kum + VLiter
- ArtUms.Vp_Mon[MM] = ArtUms.Vp_Mon[MM] + VNetto
- ArtUms.Vp_Kum = ArtUms.Vp_Kum + VNetto.
- FIND DeArUms USE-INDEX DeArUms-k1
- WHERE DeArUms.Firma = Firma
- AND DeArUms.Jahr = JJ
- AND DeArUms.Knr = Knr
- AND DeArUms.Artnr = Savze.Artnr
- AND DeArUms.Inhalt = Savze.Inhalt
- AND DeArUms.Jahrg = Savze.Jahr NO-ERROR.
- IF NOT AVAILABLE DeArUms THEN DO:
- CREATE DeArUms.
- ASSIGN DeArUms.Firma = Firma
- DeArUms.Jahr = JJ
- DeArUms.Knr = Knr
- DeArUms.Artnr = Savze.Artnr
- DeArUms.Inhalt = Savze.Inhalt
- DeArUms.Jahrg = Savze.Jahr NO-ERROR.
- END.
- ASSIGN DeArUms.Me_Mon[MM] = DeArUms.Me_Mon[MM] + Savze.MGeli
- DeArUms.Me_Kum = DeArUms.Me_Kum + Savze.MGeli
- DeArUms.Ep_Mon[MM] = DeArUms.Ep_Mon[MM] + VEp
- DeArUms.Ep_Kum = DeArUms.Ep_Kum + VEp
- DeArUms.Li_Mon[MM] = DeArUms.Li_Mon[MM] + VLiter
- DeArUms.Li_Kum = DeArUms.Li_Kum + VLiter
- DeArUms.Vp_Mon[MM] = DeArUms.Vp_Mon[MM] + VNetto
- DeArUms.Vp_Kum = DeArUms.Vp_Kum + VNetto.
- END.
- END.
|