KorrEpCocaCola.p 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. DEF VAR VDEP AS DEC INIT 0.655 NO-UNDO.
  2. DEF VAR ix AS INT NO-UNDO.
  3. DEF VAR nWertA AS DEC EXTENT 12 NO-UNDO.
  4. DEF VAR nWertN AS DEC EXTENT 12 NO-UNDO.
  5. DEF VAR iJJ AS INT NO-UNDO.
  6. DEF VAR iMM AS INT NO-UNDO.
  7. DEF TEMP-TABLE tDifferenz NO-UNDO
  8. FIELD JJ AS INT
  9. FIELD MM AS INT
  10. FIELD Knr AS INT
  11. FIELD WertA AS DEC DECIMALS 4
  12. FIELD WertN AS DEC DECIMALS 4
  13. INDEX tDifferenz-k1 IS PRIMARY
  14. Knr
  15. JJ
  16. MM.
  17. FOR EACH Artbw USE-INDEX Artbw-k2
  18. WHERE Artbw.Firma = '1000'
  19. AND Artbw.Artnr = 100162
  20. AND Artbw.Inhalt = 0
  21. AND Artbw.Jahr = 0
  22. AND Artbw.Datum >= 12/29/2015
  23. AND Artbw.Tr_Art > 0
  24. AND Artbw.Tr_Art < 11
  25. AND Artbw.Menge <> 0
  26. AND Artbw.Lager = 0
  27. AND Artbw.EP > 0.8:
  28. Artbw.EP = VDEP.
  29. END.
  30. FOR EACH Aufze USE-INDEX Aufze-k2
  31. WHERE Aufze.Firma = '1000'
  32. AND Aufze.Artnr = 100162
  33. AND Aufze.Inhalt = 0
  34. AND Aufze.Jahr = 0
  35. AND Aufze.Ep >= 0.8 ,
  36. FIRST Aufko USE-INDEX Aufko-k1
  37. WHERE Aufko.Firma = Aufze.Firma
  38. AND Aufko.Aufnr = Aufze.Aufnr
  39. AND Aufko.Lief_Datum > 11/01/2015 NO-LOCK :
  40. Aufze.EP = VDEP.
  41. END.
  42. FOR EACH Savze
  43. WHERE Savze.Firma = '1000'
  44. AND Savze.Artnr = 100162
  45. AND Savze.Inhalt = 0
  46. AND Savze.Jahr = 0,
  47. FIRST Savko NO-LOCK
  48. WHERE Savko.Firma = Savze.Firma
  49. AND Savko.Aufnr = Savze.Aufnr
  50. AND Savko.Lief_Dat >= 11/01/2015:
  51. iJJ = YEAR (Savko.Lief_Datum).
  52. iMM = MONTH(Savko.Lief_Datum).
  53. FIND FIRST tDifferenz
  54. WHERE tDifferenz.Knr = Savko.Knr
  55. AND tDifferenz.JJ = iJJ
  56. AND tDifferenz.MM = iMM NO-ERROR.
  57. IF NOT AVAILABLE tDifferenz THEN DO:
  58. CREATE tDifferenz.
  59. ASSIGN tDifferenz.Knr = Savko.Knr
  60. tDifferenz.JJ = iJJ
  61. tDifferenz.MM = iMM.
  62. END.
  63. tDifferenz.WertA = tDifferenz.WertA + (Savze.MGeli * Savze.Ep).
  64. tDifferenz.WertN = tDifferenz.WertN + (Savze.MGeli * VDEP).
  65. Savze.Ep = VDEP.
  66. END.
  67. FOR EACH tDifferenz:
  68. ASSIGN iJJ = tDifferenz.JJ
  69. iMM = tDifferenz.MM.
  70. FIND DeArUms
  71. WHERE DeArUms.Firma = '1000'
  72. AND DeArUms.Jahr = iJJ
  73. AND DeArUms.Knr = tDifferenz.Knr
  74. AND DeArUms.Artnr = 100162
  75. AND DeArUms.Inhalt = 0
  76. AND DeArUms.Jahrg = 0 NO-ERROR.
  77. IF AVAILABLE DeArUms THEN DO:
  78. DeArUms.Ep_Mon[iMM] = DeArUms.Ep_Mon[iMM] - tDifferenz.WertA + tDifferenz.WertN.
  79. DeArUms.Ep_Kum = DeArUms.Ep_Kum - tDifferenz.WertA + tDifferenz.WertN.
  80. END.
  81. FIND ArtUms
  82. WHERE ArtUms.Firma = '1000'
  83. AND ArtUms.Jahr = iJJ
  84. AND ArtUms.Artnr = 100162
  85. AND ArtUms.Inhalt = 0
  86. AND ArtUms.Jahrg = 0 NO-ERROR.
  87. IF AVAILABLE ArtUms THEN DO:
  88. ArtUms.Ep_Mon[iMM] = ArtUms.Ep_Mon[iMM] - tDifferenz.WertA + tDifferenz.WertN.
  89. ArtUms.Ep_Kum = ArtUms.Ep_Kum - tDifferenz.WertA + tDifferenz.WertN.
  90. END.
  91. FIND DebUms
  92. WHERE DebUms.Firma = '1000'
  93. AND DebUms.Jahr = iJJ
  94. AND DebUms.Knr = tDifferenz.Knr
  95. AND DebUms.Ums_Grp = 999 NO-ERROR.
  96. IF AVAILABLE DebUms THEN DO:
  97. DebUms.Ep_Mon[iMM] = DebUms.Ep_Mon[iMM] - tDifferenz.WertA + tDifferenz.WertN.
  98. DebUms.Ep_Kum = DebUms.Ep_Kum - tDifferenz.WertA + tDifferenz.WertN.
  99. END.
  100. END.
  101. FOR EACH Artbw USE-INDEX Artbw-k4
  102. WHERE Artbw.Firma = '1000'
  103. AND Artbw.Artnr = 100162
  104. AND Artbw.Inhalt = 0
  105. AND Artbw.Jahr = 0
  106. AND Artbw.Tr_Art = 11
  107. AND Artbw.Lager = 0
  108. AND Artbw.Datum >= 12/29/2015:
  109. ASSIGN Artbw.Preis = 0.677
  110. Artbw.Bru_Betr = 0.677 * Artbw.Menge
  111. Artbw.Net_Betr = 0.677 * Artbw.Menge
  112. Artbw.Ep = 0.677.
  113. END.