| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- DEF VAR VDEP AS DEC INIT 0.655 NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR nWertA AS DEC EXTENT 12 NO-UNDO.
- DEF VAR nWertN AS DEC EXTENT 12 NO-UNDO.
- DEF VAR iJJ AS INT NO-UNDO.
- DEF VAR iMM AS INT NO-UNDO.
-
- DEF TEMP-TABLE tDifferenz NO-UNDO
- FIELD JJ AS INT
- FIELD MM AS INT
- FIELD Knr AS INT
- FIELD WertA AS DEC DECIMALS 4
- FIELD WertN AS DEC DECIMALS 4
-
- INDEX tDifferenz-k1 IS PRIMARY
- Knr
- JJ
- MM.
- FOR EACH Artbw USE-INDEX Artbw-k2
- WHERE Artbw.Firma = '1000'
- AND Artbw.Artnr = 100162
- AND Artbw.Inhalt = 0
- AND Artbw.Jahr = 0
- AND Artbw.Datum >= 12/29/2015
- AND Artbw.Tr_Art > 0
- AND Artbw.Tr_Art < 11
- AND Artbw.Menge <> 0
- AND Artbw.Lager = 0
- AND Artbw.EP > 0.8:
- Artbw.EP = VDEP.
- END.
-
- FOR EACH Aufze USE-INDEX Aufze-k2
- WHERE Aufze.Firma = '1000'
- AND Aufze.Artnr = 100162
- AND Aufze.Inhalt = 0
- AND Aufze.Jahr = 0
- AND Aufze.Ep >= 0.8 ,
- FIRST Aufko USE-INDEX Aufko-k1
- WHERE Aufko.Firma = Aufze.Firma
- AND Aufko.Aufnr = Aufze.Aufnr
- AND Aufko.Lief_Datum > 11/01/2015 NO-LOCK :
- Aufze.EP = VDEP.
- END.
- FOR EACH Savze
- WHERE Savze.Firma = '1000'
- AND Savze.Artnr = 100162
- AND Savze.Inhalt = 0
- AND Savze.Jahr = 0,
- FIRST Savko NO-LOCK
- WHERE Savko.Firma = Savze.Firma
- AND Savko.Aufnr = Savze.Aufnr
- AND Savko.Lief_Dat >= 11/01/2015:
- iJJ = YEAR (Savko.Lief_Datum).
- iMM = MONTH(Savko.Lief_Datum).
- FIND FIRST tDifferenz
- WHERE tDifferenz.Knr = Savko.Knr
- AND tDifferenz.JJ = iJJ
- AND tDifferenz.MM = iMM NO-ERROR.
- IF NOT AVAILABLE tDifferenz THEN DO:
- CREATE tDifferenz.
- ASSIGN tDifferenz.Knr = Savko.Knr
- tDifferenz.JJ = iJJ
- tDifferenz.MM = iMM.
- END.
- tDifferenz.WertA = tDifferenz.WertA + (Savze.MGeli * Savze.Ep).
- tDifferenz.WertN = tDifferenz.WertN + (Savze.MGeli * VDEP).
- Savze.Ep = VDEP.
- END.
- FOR EACH tDifferenz:
- ASSIGN iJJ = tDifferenz.JJ
- iMM = tDifferenz.MM.
- FIND DeArUms
- WHERE DeArUms.Firma = '1000'
- AND DeArUms.Jahr = iJJ
- AND DeArUms.Knr = tDifferenz.Knr
- AND DeArUms.Artnr = 100162
- AND DeArUms.Inhalt = 0
- AND DeArUms.Jahrg = 0 NO-ERROR.
- IF AVAILABLE DeArUms THEN DO:
- DeArUms.Ep_Mon[iMM] = DeArUms.Ep_Mon[iMM] - tDifferenz.WertA + tDifferenz.WertN.
- DeArUms.Ep_Kum = DeArUms.Ep_Kum - tDifferenz.WertA + tDifferenz.WertN.
- END.
- FIND ArtUms
- WHERE ArtUms.Firma = '1000'
- AND ArtUms.Jahr = iJJ
- AND ArtUms.Artnr = 100162
- AND ArtUms.Inhalt = 0
- AND ArtUms.Jahrg = 0 NO-ERROR.
- IF AVAILABLE ArtUms THEN DO:
- ArtUms.Ep_Mon[iMM] = ArtUms.Ep_Mon[iMM] - tDifferenz.WertA + tDifferenz.WertN.
- ArtUms.Ep_Kum = ArtUms.Ep_Kum - tDifferenz.WertA + tDifferenz.WertN.
- END.
-
- FIND DebUms
- WHERE DebUms.Firma = '1000'
- AND DebUms.Jahr = iJJ
- AND DebUms.Knr = tDifferenz.Knr
- AND DebUms.Ums_Grp = 999 NO-ERROR.
- IF AVAILABLE DebUms THEN DO:
- DebUms.Ep_Mon[iMM] = DebUms.Ep_Mon[iMM] - tDifferenz.WertA + tDifferenz.WertN.
- DebUms.Ep_Kum = DebUms.Ep_Kum - tDifferenz.WertA + tDifferenz.WertN.
- END.
- END.
- FOR EACH Artbw USE-INDEX Artbw-k4
- WHERE Artbw.Firma = '1000'
- AND Artbw.Artnr = 100162
- AND Artbw.Inhalt = 0
- AND Artbw.Jahr = 0
- AND Artbw.Tr_Art = 11
- AND Artbw.Lager = 0
- AND Artbw.Datum >= 12/29/2015:
- ASSIGN Artbw.Preis = 0.677
- Artbw.Bru_Betr = 0.677 * Artbw.Menge
- Artbw.Net_Betr = 0.677 * Artbw.Menge
- Artbw.Ep = 0.677.
- END.
|