| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- { super/funktionen.i }
- DEF VAR cParam AS CHAR NO-UNDO.
- DEF VAR iRetVal AS INT NO-UNDO.
- DEF VAR iPreisArt AS INT NO-UNDO.
- DEF VAR nNormPreis AS DEC NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR htAufze AS HANDLE NO-UNDO.
- DEF TEMP-TABLE tAufze LIKE Aufze
- FIELD Knr AS INT
- FIELD Datum AS DATE
- .
- htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
- DEF TEMP-TABLE tDebst
- FIELD Knr AS INT
- FIELD Anzeig_Br AS CHAR
- FIELD Rab_Grp AS INT
- FIELD cRab_Grp AS CHAR
-
- INDEX tDebst-k1 IS PRIMARY
- Knr
- .
- DEF TEMP-TABLE tArtst
- FIELD Knr AS INT
- FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD cBez AS CHAR
- FIELD Art_Grp AS INT
- FIELD cArt_Grp AS CHAR
- FIELD Rab_Grp AS INT
- FIELD cRab_Grp AS CHAR
- FIELD iMenge AS INT
- FIELD NormPreis AS DEC
- FIELD SpezPreis AS DEC
-
- INDEX tArtst-k1 IS PRIMARY
- Knr
- Artnr
- Inhalt
- Jahr
- .
- cParam = SUBSTITUTE('&1&4&2&4&3', 'wari', '', '1000', CHR(01)).
- RUN ANMELDUNG(cParam).
-
- FOR EACH Debst NO-LOCK
- WHERE Debst.Firma = '1000'
- AND Debst.Aktiv = TRUE:
-
- /* EACH SpezPrei NO-LOCK */
- /* WHERE SpezPrei.Firma = Debst.Firma */
- /* AND SpezPrei.Knr = Debst.Knr, */
- /* FIRST Artst NO-LOCK */
- /* WHERE Artst.Firma = SpezPrei.Firma */
- /* AND Artst.Artnr = SpezPrei.Artnr */
- /* AND Artst.Inhalt = SpezPrei.Inhalt */
- /* */
- /* BREAK BY Debst.Knr */
- /* BY Artst.Artnr */
- /* BY Artst.Inhalt */
- /* BY Artst.Jahr */
- FOR EACH Artst NO-LOCK
- WHERE Artst.Firma = Debst.Firma
- AND Artst.Aktiv = TRUE:
-
- 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 = Debst.Preis_Grp
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Ab_Datum <= TODAY NO-ERROR.
- IF NOT AVAILABLE ArtPreis THEN DO:
- 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 = 01
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Ab_Datum <= TODAY NO-ERROR.
- END.
- IF NOT AVAILABLE ArtPreis THEN DO:
- 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 = 03
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Ab_Datum <= TODAY NO-ERROR.
- END.
- IF NOT AVAILABLE ArtPreis THEN NEXT.
- IF ArtPreis.VK_Netto = 0 THEN NEXT.
- EMPTY TEMP-TABLE tAufze.
- CREATE tAufze.
- ASSIGN tAufze.Firma = Debst.Firma
- tAufze.Knr = Debst.Knr
- tAufze.Artnr = Artst.Artnr
- tAufze.Inhalt = Artst.Inhalt
- tAufze.Jahr = Artst.Jahr.
-
- iRetVal = DYNAMIC-FUNCTION ( 'fillAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
- IF iRetVal > 0 THEN DO:
- MESSAGE 'Fehler fillAufze'
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
- NEXT.
- END.
- IF tAufze.Mwst_Inkl THEN nNormPreis = ArtPreis.VK_Brutto.
- ELSE nNormPreis = ArtPreis.VK_Netto.
-
- ASSIGN tAufze.MGel = 1
- tAufze.KGeb_Be = 1
- tAufze.VGeb_Be = 0
- tAufze.GGeb_Be = 0
- tAufze.KGeb_Me = 1
- tAufze.VGeb_Me = 0
- tAufze.GGeb_Me = 0
- tAufze.KGeb_Ru = 0
- tAufze.VGeb_Ru = 0
- tAufze.GGeb_Ru = 0
- .
- iPreisArt = DYNAMIC-FUNCTION('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
- IF iPreisArt < 0 THEN NEXT.
- IF tAufze.Net_Betr = nNormPreis THEN NEXT.
-
- FIND FIRST tDebst
- WHERE tDebst.Knr = Debst.Knr NO-ERROR.
- IF NOT AVAILABLE tDebst THEN DO:
- FIND FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = Debst.Firma
- AND Adresse.Knr = Debst.Knr.
- CREATE tDebst.
- ASSIGN tDebst.Knr = Debst.Knr
- tDebst.Rab_Grp = Debst.Rab_Grp
- tDebst.Anzeig_Br = Adresse.Anzeig_Br.
- RUN FIND_RABATTGRP ( Debst.Rab_Grp, OUTPUT cString ).
- tDebst.cRab_Grp = (IF cString BEGINS '?' THEN cString ELSE ENTRY(2, cString, CHR(01))).
- END.
- FIND FIRST ArtBez NO-LOCK OF Artst.
- CREATE tArtst.
- ASSIGN tArtst.Knr = Debst.Knr
- tArtst.Artnr = Artst.Artnr
- tArtst.Inhalt = Artst.Inhalt
- tArtst.Jahr = Artst.Jahr
- tArtst.cBez = TRIM(Artbez.Bez1 + ' ' + ArtBez.Bez2)
- tArtst.Rab_Grp = Artst.Rab_Grp
- tArtst.Art_Grp = Artst.Art_Grp
- tArtst.NormPreis = nNormPreis
- tArtst.SpezPreis = tAufze.Net_Betr.
- RUN FIND_RABATTGRUPPE ( Artst.Rab_Grp, OUTPUT cString ).
- tArtst.cRab_Grp = (IF cString BEGINS '?' THEN cString ELSE ENTRY(2, cString, CHR(01))).
- RUN FIND_ARTIKGRP ( Artst.Wg_Grp, Artst.Prod_Grp, Artst.Art_Grp, OUTPUT cString ).
- tArtst.cRab_Grp = (IF cString BEGINS '?' THEN cString ELSE ENTRY(2, cString, CHR(01))).
- END.
- END.
- OUTPUT TO 'P:\TEMP\KundenRabatte.csv' NO-MAP NO-CONVERT.
- FOR EACH tDebst,
- EACH tArtst WHERE tArtst.Knr = tDebst.Knr:
-
- EXPORT DELIMITER ';' tDebst.Knr
- tDebst.Anzeig_Br
- tDebst.Rab_Grp
- tDebst.cRab_Grp
- tArtst.Artnr
- tArtst.Inhalt
- tArtst.Jahr
- tArtst.cBez
- tArtst.Art_Grp
- tArtst.cArt_Grp
- tArtst.Rab_Grp
- tArtst.cRab_Grp
- tArtst.NormPreis
- tArtst.SpezPreis
- .
- END.
- OUTPUT CLOSE.
|