| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- DEF TEMP-TABLE tArtPreis LIKE ArtPreis.
- DEF VAR cPreisGrp AS CHAR NO-UNDO
- INIT '10,20,30,35,65,55'.
- DEF VAR iPgr AS INT NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR Ansatz AS DEC NO-UNDO.
- EMPTY TEMP-TABLE tArtPreis.
- FOR EACH Artst NO-LOCK
- WHERE Artst.Firma = '1000'
- AND Artst.Aktiv = TRUE:
-
- IF Artst.Mwst = 1 THEN Ansatz = 8.00.
- ELSE Ansatz = 2.50.
-
- DO ix = 1 TO NUM-ENTRIES(cPreisGrp, ','):
- iPgr = INTEGER(ENTRY(ix, cPreisGrp, ',')).
- FIND LAST ArtPreis NO-LOCK
- WHERE ArtPreis.Firma = Artst.Firma
- AND ArtPreis.Artnr = Artst.Artnr
- AND ArtPreis.Inhalt = Artst.Inhalt
- AND ArtPreis.Jahr = Artst.Jahr
- AND ArtPreis.Preis_Grp = iPgr
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Ab_Datum <= TODAY NO-ERROR.
- IF NOT AVAILABLE ArtPreis THEN NEXT.
- IF ArtPreis.Ab_Datum >= 01/01/2011 THEN NEXT.
- CREATE tArtPreis.
- BUFFER-COPY ArtPreis
- EXCEPT Ab_Datum
- TO tArtPreis
- ASSIGN tArtPreis.Ab_Datum = 01/01/2011.
- CASE iPgr:
- WHEN 10 THEN tArtPreis.VK_Netto = tArtPreis.VK_Brutto / (100 + Ansatz) * 100.
- OTHERWISE tArtPreis.VK_Brutto = tArtPreis.VK_Netto * (100 + Ansatz) / 100.
- END.
- IF Artst.Listen_EP <= 0 THEN NEXT.
- IF ArtPreis.VK_Netto <= 0 THEN NEXT.
- tArtPreis.Marge = 100 - (Artst.Listen_EP * 100 / tArtPreis.VK_Netto).
- END.
- END.
- FOR EACH tArtPreis:
- CREATE ArtPreis.
- BUFFER-COPY tArtPreis TO ArtPreis.
- END.
|