PreiseMitNeuemMwstAnsatzRechnen.p 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. DEF TEMP-TABLE tArtPreis LIKE ArtPreis.
  2. DEF VAR cPreisGrp AS CHAR NO-UNDO
  3. INIT '10,20,30,35,65,55'.
  4. DEF VAR iPgr AS INT NO-UNDO.
  5. DEF VAR ix AS INT NO-UNDO.
  6. DEF VAR Ansatz AS DEC NO-UNDO.
  7. EMPTY TEMP-TABLE tArtPreis.
  8. FOR EACH Artst NO-LOCK
  9. WHERE Artst.Firma = '1000'
  10. AND Artst.Aktiv = TRUE:
  11. IF Artst.Mwst = 1 THEN Ansatz = 8.00.
  12. ELSE Ansatz = 2.50.
  13. DO ix = 1 TO NUM-ENTRIES(cPreisGrp, ','):
  14. iPgr = INTEGER(ENTRY(ix, cPreisGrp, ',')).
  15. FIND LAST ArtPreis NO-LOCK
  16. WHERE ArtPreis.Firma = Artst.Firma
  17. AND ArtPreis.Artnr = Artst.Artnr
  18. AND ArtPreis.Inhalt = Artst.Inhalt
  19. AND ArtPreis.Jahr = Artst.Jahr
  20. AND ArtPreis.Preis_Grp = iPgr
  21. AND ArtPreis.Aktion = FALSE
  22. AND ArtPreis.Ab_Datum <= TODAY NO-ERROR.
  23. IF NOT AVAILABLE ArtPreis THEN NEXT.
  24. IF ArtPreis.Ab_Datum >= 01/01/2011 THEN NEXT.
  25. CREATE tArtPreis.
  26. BUFFER-COPY ArtPreis
  27. EXCEPT Ab_Datum
  28. TO tArtPreis
  29. ASSIGN tArtPreis.Ab_Datum = 01/01/2011.
  30. CASE iPgr:
  31. WHEN 10 THEN tArtPreis.VK_Netto = tArtPreis.VK_Brutto / (100 + Ansatz) * 100.
  32. OTHERWISE tArtPreis.VK_Brutto = tArtPreis.VK_Netto * (100 + Ansatz) / 100.
  33. END.
  34. IF Artst.Listen_EP <= 0 THEN NEXT.
  35. IF ArtPreis.VK_Netto <= 0 THEN NEXT.
  36. tArtPreis.Marge = 100 - (Artst.Listen_EP * 100 / tArtPreis.VK_Netto).
  37. END.
  38. END.
  39. FOR EACH tArtPreis:
  40. CREATE ArtPreis.
  41. BUFFER-COPY tArtPreis TO ArtPreis.
  42. END.