| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gRueckverguetung
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gRueckverguetung
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrdlg.w - ADM2 SmartDialog Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEF VAR MaxPage AS INT NO-UNDO.
- DEF VAR AktSeite AS INT NO-UNDO.
- DEF VAR FMutFlag AS LOG NO-UNDO.
- DEF VAR ProgName AS CHAR NO-UNDO.
- DEF VAR Firma AS CHAR NO-UNDO.
- DEF VAR AdFirma AS CHAR NO-UNDO.
- DEF VAR iHerst AS INT NO-UNDO.
- DEF VAR iMWSTCd AS INT NO-UNDO.
- DEF VAR iAdrCd AS INT NO-UNDO.
- DEF TEMP-TABLE TWork FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD Eingang AS DEC DECIMALS 4
- FIELD EP AS DEC DECIMALS 4
- FIELD Ausgang AS DEC DECIMALS 4
- FIELD VP AS DEC DECIMALS 4
- FIELD RID AS RECID
- FIELD Art AS LOG
- FIELD Wert AS DEC DECIMALS 4
- FIELD MWST_Cd AS INT
- FIELD Preis_Grp AS INT.
- DEF TEMP-TABLE TKunden FIELD Knr AS INT
- FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD Eingang AS DEC DECIMALS 4
- FIELD EP AS DEC DECIMALS 4
- FIELD Ausgang AS DEC DECIMALS 4
- FIELD VP AS DEC DECIMALS 4
- FIELD RID AS RECID
- FIELD Art AS LOG
- FIELD Wert AS DEC DECIMALS 4
- FIELD MWST_Cd AS INT
-
- INDEX TKunden-k1 Knr Artnr Inhalt Jahr.
-
- DEF TEMP-TABLE TMWST FIELD MWST_Cd AS INT
- FIELD MWST_Ansatz AS DEC
- FIELD Netto AS DEC.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDialog
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER DIALOG-BOX
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of first Frame and/or Browse and/or first Query */
- &Scoped-define FRAME-NAME gRueckverguetung
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS CB_Hersteller F_Warengrp F_Knr F_Preisgrp ~
- CB_AdrCode F_Inhalt F_VonDatum F_BisDatum CB_MWST Btn_Start Btn_Abbrechen ~
- RECT-21 RECT-22 RECT-23
- &Scoped-Define DISPLAYED-OBJECTS CB_Hersteller F_Warengrp F_Knr F_Preisgrp ~
- CB_AdrCode F_Inhalt F_VonDatum F_BisDatum CB_MWST
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-1 CB_Hersteller F_Warengrp F_Knr F_Preisgrp CB_AdrCode ~
- F_Inhalt F_VonDatum F_BisDatum CB_MWST Btn_Start Btn_Abbrechen
- &Scoped-define List-6 CB_Hersteller F_Warengrp F_Knr F_Preisgrp CB_AdrCode ~
- F_Inhalt F_VonDatum F_BisDatum CB_MWST
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Abbrechen
- LABEL "&Abbrechen"
- SIZE 15 BY 1.
- DEFINE BUTTON Btn_Start
- IMAGE-UP FILE "grafik/results%.ico":U
- LABEL "&Starten"
- SIZE 7 BY 1.67.
- DEFINE VARIABLE CB_AdrCode AS CHARACTER FORMAT "X(256)":U
- LABEL "Adresscode"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 15 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_Hersteller AS CHARACTER FORMAT "X(256)":U
- LABEL "Hersteller"
- VIEW-AS COMBO-BOX SORT INNER-LINES 5
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_MWST AS CHARACTER FORMAT "X(256)":U
- LABEL "Mehrwertsteuer Hersteller"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Inhalt AS CHARACTER FORMAT "X(256)":U
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1 TOOLTIP "Inhalt dieses Adresscodefeldes"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Knr AS CHARACTER FORMAT "X(256)":U
- LABEL "Kunden"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1 TOOLTIP "mit rechter Maustaste zur Auswahl, Leer = alle; ALT-L -> Liste"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Preisgrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1 TOOLTIP "mit rechter Maustaste zur Auswahl, Leer = alle"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
- LABEL "von - bis Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Warengrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Warengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1 TOOLTIP "mit rechter Maustaste zur Auswahl, Leer = alle"
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-21
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 88 BY 3.33.
- DEFINE RECTANGLE RECT-22
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 88 BY 4.29.
- DEFINE RECTANGLE RECT-23
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 88 BY 5.71.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gRueckverguetung
- CB_Hersteller AT ROW 1.95 COL 42 COLON-ALIGNED
- F_Warengrp AT ROW 2.95 COL 42 COLON-ALIGNED
- F_Knr AT ROW 5.95 COL 42 COLON-ALIGNED
- F_Preisgrp AT ROW 6.95 COL 42 COLON-ALIGNED
- CB_AdrCode AT ROW 7.95 COL 42 COLON-ALIGNED
- F_Inhalt AT ROW 7.95 COL 62 COLON-ALIGNED
- F_VonDatum AT ROW 10.48 COL 42 COLON-ALIGNED
- F_BisDatum AT ROW 10.48 COL 66 COLON-ALIGNED NO-LABEL
- CB_MWST AT ROW 11.52 COL 42 COLON-ALIGNED
- Btn_Start AT ROW 13.38 COL 44
- Btn_Abbrechen AT ROW 13.71 COL 68.2
- RECT-21 AT ROW 1.48 COL 3
- RECT-22 AT ROW 5.29 COL 3
- RECT-23 AT ROW 10 COL 3
- "Artikelselektion" VIEW-AS TEXT
- SIZE 21.2 BY 1 AT ROW 1.95 COL 5.2
- "Kundenselektion" VIEW-AS TEXT
- SIZE 21.2 BY 1 AT ROW 5.95 COL 5.2
- SPACE(66.59) SKIP(9.28)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Rückvergütung durch Hersteller".
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDialog
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gRueckverguetung
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR DIALOG-BOX gRueckverguetung
- */
- ASSIGN
- FRAME gRueckverguetung:SCROLLABLE = FALSE
- FRAME gRueckverguetung:HIDDEN = TRUE.
- /* SETTINGS FOR BUTTON Btn_Abbrechen IN FRAME gRueckverguetung
- 1 */
- /* SETTINGS FOR BUTTON Btn_Start IN FRAME gRueckverguetung
- 1 */
- /* SETTINGS FOR COMBO-BOX CB_AdrCode IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR COMBO-BOX CB_Hersteller IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR COMBO-BOX CB_MWST IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR FILL-IN F_Knr IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR FILL-IN F_Preisgrp IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gRueckverguetung
- 1 6 */
- /* SETTINGS FOR FILL-IN F_Warengrp IN FRAME gRueckverguetung
- 1 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gRueckverguetung
- /* Query rebuild information for DIALOG-BOX gRueckverguetung
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gRueckverguetung */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gRueckverguetung
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gRueckverguetung gRueckverguetung
- ON END-ERROR OF FRAME gRueckverguetung /* Rückvergütung durch Hersteller */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gRueckverguetung gRueckverguetung
- ON GO OF FRAME gRueckverguetung /* Rückvergütung durch Hersteller */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gRueckverguetung gRueckverguetung
- ON WINDOW-CLOSE OF FRAME gRueckverguetung /* Rückvergütung durch Hersteller */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Abbrechen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Abbrechen gRueckverguetung
- ON CHOOSE OF Btn_Abbrechen IN FRAME gRueckverguetung /* Abbrechen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Start
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start gRueckverguetung
- ON CHOOSE OF Btn_Start IN FRAME gRueckverguetung /* Starten */
- DO:
- DEF VAR i AS INT NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN BEREINIGEN ( F_Warengrp:HANDLE ).
- RUN BEREINIGEN ( F_Preisgrp:HANDLE ).
- ASSIGN {&List-6}.
- IF F_VonDatum = ? THEN DO:
- BELL.
- APPLY 'ENTRY' TO F_VonDatum.
- RETURN NO-APPLY.
- END.
- IF F_BisDatum = ? THEN DO:
- BELL.
- APPLY 'ENTRY' TO F_BisDatum.
- RETURN NO-APPLY.
- END.
- IF F_BisDatum < F_VonDatum THEN DO:
- BELL.
- APPLY 'ENTRY' TO F_VonDatum.
- RETURN NO-APPLY.
- END.
- F_Knr = REPLACE(F_Knr, ';', ',').
- DO i = 1 TO NUM-ENTRIES(F_Knr, ','):
- ENTRY(i, F_Knr, ',') = TRIM(STRING(INTEGER(ENTRY(i, F_Knr, ',')))).
- END.
- iHerst = INTEGER(CB_Hersteller:SCREEN-VALUE).
- iMWSTCd = INTEGER(CB_MWST :SCREEN-VALUE).
- iAdrCd = INTEGER(CB_AdrCode :SCREEN-VALUE).
- DISPLAY {&List-6}.
- RUN SCHREIBENFWAUSWERTUNGEN
- ( INPUT ProgName,
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
- Btn_Start :SENSITIVE = FALSE.
- Btn_Abbrechen:SENSITIVE = FALSE.
- SESSION:SET-WAIT-STATE('GENERAL').
- RUN REPORT.
- SESSION:SET-WAIT-STATE('').
- Btn_Start :SENSITIVE = TRUE.
- Btn_Abbrechen:SENSITIVE = TRUE.
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /*
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- VHerst = INTEGER(SUBSTRING(CB_Hersteller :SCREEN-VALUE,01,03)).
- VWgr = INTEGER(SUBSTRING(CB_Warengrp :SCREEN-VALUE,01,03)).
- VPreisgrp = INTEGER(SUBSTRING(CB_Preisgruppe:SCREEN-VALUE,01,03)).
- VWcK = INTEGER(SUBSTRING(CB_MWST :SCREEN-VALUE,01,02)).
- IF F_VonDatum = ? THEN DO:
- APPLY 'ENTRY' TO F_VonDatum.
- RETURN NO-APPLY.
- END.
- IF F_BisDatum = ? THEN DO:
- APPLY 'ENTRY' TO F_BisDatum.
- RETURN NO-APPLY.
- END.
- IF F_BisDatum < F_VonDatum THEN DO:
- APPLY 'ENTRY' TO F_VonDatum.
- RETURN NO-APPLY.
- END.
- xKunden = F_Knr.
- F_Knr = ''.
- DO ix = 1 TO LENGTH(XKunden).
- IF SUBSTRING(xKunden,ix,01) >= '0' AND
- SUBSTRING(xKunden,ix,01) <= '9' THEN DO:
- F_Knr = F_Knr + SUBSTRING(xKunden,ix,01).
- NEXT.
- END.
- IF SUBSTRING(xKunden,ix,01) = ' ' THEN NEXT.
- IF SUBSTRING(xKunden,ix,01) > '9' THEN NEXT.
- F_Knr = F_Knr + ','.
- END.
- XKunden = F_Knr.
- DO ix = 1 TO NUM-ENTRIES(XKunden, ','):
- VKnr = INTEGER(ENTRY(ix, xKunden)).
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = GVFirma
- AND Debst.Knr = VKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN DO:
- Linktext = 'Die Kundennummer ' + STRING(VKnr) + ' gibt es nicht! '.
- MESSAGE Linktext VIEW-AS ALERT-BOX ERROR.
- DISPLAY F_Knr.
- APPLY 'ENTRY' TO F_Knr.
- RETURN NO-APPLY.
- END.
- END.
- F_Knr = ''.
- DO ix = 1 TO NUM-ENTRIES(XKunden, ','):
- VKnr = INTEGER(ENTRY(ix, xKunden)).
- IF ix > 1 THEN F_Knr = F_Knr + ','.
- F_Knr = F_Knr + TRIM(STRING(VKnr,'zzzzzz')).
- END.
- xKunden = F_Knr.
- DISPLAY F_Knr.
- IF FKMut THEN PUT-KEY-VALUE SECTION 'Rückvergütung' KEY 'Kunden' VALUE xKunden.
-
- VDatum = F_VonDatum.
- BDatum = F_BisDatum.
- DISPLAY {&List-6}.
- RUN SCHREIBENFWAUSWERTUNGEN ( INPUT 'd-rueckverguetung',
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
- DISABLE {&List-1}.
- RUN BERECHNEN.
- ENABLE {&List-1}.
- END.
- */
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_AdrCode
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_AdrCode gRueckverguetung
- ON RETURN OF CB_AdrCode IN FRAME gRueckverguetung /* Adresscode */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Hersteller
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Hersteller gRueckverguetung
- ON RETURN OF CB_Hersteller IN FRAME gRueckverguetung /* Hersteller */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_MWST
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST gRueckverguetung
- ON RETURN OF CB_MWST IN FRAME gRueckverguetung /* Mehrwertsteuer Hersteller */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Knr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr gRueckverguetung
- ON ALT-L OF F_Knr IN FRAME gRueckverguetung /* Kunden */
- DO:
- RUN g-adresslisten.w ( INPUT SELF ).
- APPLY 'ENTRY' TO SELF.
- APPLY 'END' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr gRueckverguetung
- ON RIGHT-MOUSE-CLICK OF F_Knr IN FRAME gRueckverguetung /* Kunden */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- END.
- RUN g-auswahl-adresse.w ( INPUT F_Knr:HANDLE ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Preisgrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgrp gRueckverguetung
- ON RIGHT-MOUSE-CLICK OF F_Preisgrp IN FRAME gRueckverguetung /* Preisgruppen */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'PREGRP' ).
- APPLY 'ENTRY' TO SELF.
- APPLY 'END' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Warengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gRueckverguetung
- ON RIGHT-MOUSE-CLICK OF F_Warengrp IN FRAME gRueckverguetung /* Warengruppen */
- DO:
- RUN g-auswahl-wgr.w ( INPUT F_Warengrp:HANDLE ).
- APPLY 'ENTRY' TO SELF.
- APPLY 'END' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gRueckverguetung
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR.
- ProgName = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
- /* TRIGGERS ------------------------------------------------------ */
- ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN NEXTPAGE.
- END.
- ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN PREVPAGE.
- END.
- ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN ENTRY_CURSOR.
- END.
- /*
- ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
- END.
- ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
- END.
-
- ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
- END.
- ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
- END.
- ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
- END.
- ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
- END.
- ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
- END.
- ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
- END.
- ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
- END.
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- IF FMutFlag = FALSE THEN DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
- RETURN NO-APPLY.
- END.
- */
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gRueckverguetung _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gRueckverguetung
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR i AS INT NO-UNDO.
- cString = ipHandle:SCREEN-VALUE.
- DO i = 1 TO LENGTH(cString):
- IF SUBSTRING(cString,i,1) < '0' OR
- SUBSTRING(cString,i,1) > '9' THEN SUBSTRING(cString,i) = ','.
- END.
- ipHandle:SCREEN-VALUE = REPLACE(cString, ';', ',').
- cString = ''.
- DO i = 1 TO NUM-ENTRIES(ipHandle:SCREEN-VALUE, ','):
- IF cString <> '' THEN cString = cString + ','.
- cString = cString
- + STRING(INTEGER(ENTRY(i, ipHandle:SCREEN-VALUE, ',')),'999').
- END.
- ipHandle:SCREEN-VALUE = cString.
- RETURN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gRueckverguetung
- PROCEDURE changePage :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- /* Code placed here will execute PRIOR to standard behavior. */
- RUN SUPER.
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- WHEN 1 THEN DO:
- /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
- /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
- /* RUN ToolbarInit ( INPUT h_d-auftr ). */
- RUN ENTRY_CURSOR.
- END.
- WHEN 2 THEN DO:
- RUN ENTRY_CURSOR.
- END.
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gRueckverguetung _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME gRueckverguetung.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gRueckverguetung
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR cText AS CHAR NO-UNDO.
- DEF VAR i AS INT NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN COMBO_HERSTELLER ( INPUT CB_Hersteller:HANDLE ).
- cString = CB_Hersteller:LIST-ITEM-PAIRS + ';Alle;000999'.
- CB_Hersteller:LIST-ITEM-PAIRS = cString.
- CB_Hersteller:SCREEN-VALUE = ENTRY(2, CB_Hersteller:LIST-ITEM-PAIRS, ';') NO-ERROR.
- FIND Femeld WHERE Femeld.Sprcd = 1
- AND Femeld.Fenr = 999 NO-LOCK NO-ERROR.
- IF AVAILABLE Femeld THEN cText = Femeld.FeText.
- ELSE cText = ''.
- cString = 'Alle;00'.
- DO i = 1 TO NUM-ENTRIES(cText, ','):
- cString = cString + ';' + ENTRY(i, cText, ',') + ';' + STRING(i,'99').
- END.
- CB_AdrCode:DELIMITER = ';'.
- CB_AdrCode:LIST-ITEM-PAIRS = cString.
- CB_AdrCode:SCREEN-VALUE = ENTRY(2, CB_AdrCode:LIST-ITEM-PAIRS, ';') NO-ERROR.
- RUN COMBO_MWSTKUND ( INPUT CB_MWST:HANDLE ).
- END.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- RUN LESENFWAUSWERTUNGEN ( INPUT ProgName,
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gRueckverguetung _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY CB_Hersteller F_Warengrp F_Knr F_Preisgrp CB_AdrCode F_Inhalt
- F_VonDatum F_BisDatum CB_MWST
- WITH FRAME gRueckverguetung.
- ENABLE CB_Hersteller F_Warengrp F_Knr F_Preisgrp CB_AdrCode F_Inhalt
- F_VonDatum F_BisDatum CB_MWST Btn_Start Btn_Abbrechen RECT-21 RECT-22
- RECT-23
- WITH FRAME gRueckverguetung.
- VIEW FRAME gRueckverguetung.
- {&OPEN-BROWSERS-IN-QUERY-gRueckverguetung}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gRueckverguetung
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
- IF AktSeite > 1 THEN DO:
- RUN selectPage ( INPUT 1 ).
- RETURN NO-APPLY.
- END.
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gRueckverguetung
- PROCEDURE ENTRY_CURSOR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
- /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
- /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
- /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
- /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
- /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
- /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
- END CASE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gRueckverguetung
- PROCEDURE exitObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- RUN ENDE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gRueckverguetung
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR VZelle AS CHAR NO-UNDO.
- DEF VAR xHerst AS CHAR NO-UNDO.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
-
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'F', INPUT 2,
- INPUT Steuer.Firma1 ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'F', INPUT 3,
- INPUT Steuer.Strasse).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'F', INPUT 4,
- INPUT Steuer.Ort ).
- IF iHerst = 999 THEN xHerst = 'alle Hersteller'.
- IF iHerst <> 999 THEN DO:
- FIND Tabel USE-INDEX Tabel-k2
- WHERE Tabel.Firma = Firma
- AND Tabel.RecArt = 'HERST'
- AND Tabel.CodeI = iHerst
- AND Tabel.CodeC = ''
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF AVAILABLE Tabel THEN xHerst = Tabel.Bez1.
- ELSE xHerst = '??????????'.
- END.
-
- VZelle = 'B1'.
- excelAppl:Range(VZelle):Select.
- cString = excelAppl:ActiveCell:Value.
- cString = cString + ' ' + xHerst.
- excelAppl:ActiveCell:FormulaR1C1 = cString.
- VZelle = 'B3'.
- excelAppl:Range(VZelle):Select.
- cString = excelAppl:ActiveCell:Value.
- cString = cString + ' ' + STRING(F_VonDatum,"99.99.9999")
- + ' - ' + STRING(F_BisDatum,"99.99.9999").
- excelAppl:ActiveCell:FormulaR1C1 = cString.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gRueckverguetung
- PROCEDURE NEXTPAGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- IF AktSeite = MaxPage THEN AktSeite = 1.
- ELSE AktSeite = AktSeite + 1.
- RUN selectPage ( INPUT AktSeite ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gRueckverguetung
- PROCEDURE PREVPAGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- IF AktSeite = 1 THEN AktSeite = MaxPage.
- ELSE AktSeite = AktSeite - 1.
- RUN selectPage ( INPUT AktSeite ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gRueckverguetung
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR xKnr AS CHAR NO-UNDO.
- def var xAdresse AS CHAR NO-UNDO.
- def var xAdrCd AS CHAR NO-UNDO.
- DEF VAR VBetr AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VBetrag AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VProz AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR i1 AS INT NO-UNDO.
- DEF VAR Rundbetr AS DEC DECIMALS 4.
-
- DEF VAR cVorlage AS CHAR NO-UNDO.
- DEF VAR cDaten AS CHAR NO-UNDO.
- DEF VAR cDokument AS CHAR NO-UNDO.
- DEF VAR cDateiName AS CHAR NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR ja AS LOG NO-UNDO.
- EMPTY TEMP-TABLE TWork .
- EMPTY TEMP-TABLE TKunden.
- EMPTY TEMP-TABLE TMWST .
-
- i1 = 0.
- FOR EACH Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma NO-LOCK:
-
- IF iHerst <> 999 AND
- Artst.Herst <> iHerst THEN NEXT.
- IF F_Warengrp <> '' AND
- LOOKUP(STRING(Artst.Wg_Grp,'999'), F_Warengrp, ',') = 0 THEN NEXT.
-
- FOR EACH ArtKanal USE-INDEX ArtKanal-k1
- WHERE ArtKanal.Firma = Artst.Firma
- AND ArtKanal.Artnr = Artst.Artnr
- AND ArtKanal.Inhalt = Artst.Inhalt
- AND ArtKanal.Jahr = Artst.Jahr
- AND ((F_Preisgrp = '') OR
- (LOOKUP(STRING(ArtKanal.Preis_Grp,'999'), F_Preisgrp, ',') > 0))
- AND ArtKanal.Ab_Datum <= F_BisDatum NO-LOCK
- BREAK BY ArtKanal.Preis_Grp
- BY ArtKanal.Ab_Datum DESCENDING :
- IF NOT FIRST-OF ( ArtKanal.Preis_Grp ) THEN NEXT.
-
- CREATE TWork.
- ASSIGN TWork.Artnr = Artst.Artnr
- TWork.Inhalt = Artst.Inhalt
- TWork.Jahr = Artst.Jahr
- TWork.EP = Artst.Listen_EP
- TWork.RID = RECID(Artst)
- TWork.Art = ArtKanal.Art
- TWork.Wert = ArtKanal.Wert
- TWork.MWST_Cd = Artst.MWST
- TWork.Preis_Grp = ArtKanal.Preis_Grp.
- i1 = i1 + 1.
- END.
- END.
- IF i1 = 0 THEN RETURN ''.
- FOR EACH TWork:
- FOR EACH Artbw USE-INDEX Artbw-k2
- WHERE Artbw.Firma = Firma
- AND Artbw.Artnr = TWork.Artnr
- AND Artbw.Inhalt = TWork.Inhalt
- AND Artbw.Jahr = TWork.Jahr
- AND Artbw.Datum >= F_VonDatum
- AND Artbw.Datum <= F_BisDatum
- AND Artbw.Tr_Art < 9 NO-LOCK:
-
- xKnr = TRIM(STRING(Artbw.Knr,'zzzzzz')).
- IF LOOKUP(xKnr, F_Knr, ',' ) = 0 THEN NEXT.
-
- IF Artbw.Tr_Art = 01 THEN DO:
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Artbw.Firma
- AND Debst.Knr = Artbw.Knr
- AND Debst.Preis_Grp = TWork.Preis_Grp
- NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN NEXT.
- IF iAdrCd <> 0 THEN DO:
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = Debst.Knr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Adresse THEN NEXT.
- xAdrCd = ''.
- CASE iAdrCd:
- WHEN 1 THEN xAdrCd = Adresse.Cd01.
- WHEN 2 THEN xAdrCd = Adresse.Cd02.
- WHEN 3 THEN xAdrCd = Adresse.Cd03.
- WHEN 4 THEN xAdrCd = Adresse.Cd04.
- WHEN 5 THEN xAdrCd = Adresse.Cd05.
- WHEN 6 THEN xAdrCd = Adresse.Cd06.
- WHEN 7 THEN xAdrCd = Adresse.Cd07.
- WHEN 8 THEN xAdrCd = Adresse.Cd08.
- WHEN 9 THEN xAdrCd = Adresse.Cd09.
- WHEN 10 THEN xAdrCd = Adresse.Cd10.
- WHEN 11 THEN xAdrCd = Adresse.Cd11.
- WHEN 12 THEN xAdrCd = Adresse.Cd12.
- WHEN 13 THEN xAdrCd = Adresse.Cd13.
- WHEN 14 THEN xAdrCd = Adresse.Cd14.
- WHEN 15 THEN xAdrCd = Adresse.Cd15.
- END CASE.
- IF LOOKUP(xAdrCd, F_Inhalt, ',') = 0 THEN NEXT.
- END.
-
- TWork.Ausgang = TWork.Ausgang + Artbw.Menge.
- TWork.VP = TWork.VP + (Artbw.Menge * Artbw.Preis).
-
- FIND FIRST TKunden USE-INDEX TKunden-k1
- WHERE TKunden.Knr = Artbw.Knr
- AND TKunden.Artnr = Artbw.Artnr
- AND TKunden.Inhalt = Artbw.Inhalt
- AND TKunden.Jahr = Artbw.Jahr NO-ERROR.
- IF NOT AVAILABLE TKunden THEN DO:
- CREATE TKunden.
- ASSIGN TKunden.Knr = Artbw.Knr
- TKunden.Artnr = Artbw.Artnr
- TKunden.Inhalt = Artbw.Inhalt
- TKunden.Jahr = Artbw.Jahr
- TKunden.EP = TWork.EP
- TKunden.RID = TWork.RID
- TKunden.Art = TWork.Art
- TKunden.Wert = TWork.Wert
- TKunden.MWST_Cd = TWork.MWST_Cd.
- END.
- TKunden.Ausgang = TKunden.Ausgang + Artbw.Menge.
- TKunden.VP = TKunden.VP + (Artbw.Menge * Artbw.Preis).
- NEXT.
- END.
- END.
- END.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- cVorlage = 'Rueckverg' + '.xls'.
- cDokument = 'Rueckverg' + '.xls'.
- cDaten = 'Rueckverg' + '.txt'.
- cDateiName = cDokument + CHR(01) + cVorlage.
- RUN CREATEDATEI ( INPUT cDateiName ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDokument = RETURN-VALUE.
- RUN CREATEDATEI ( INPUT cDaten ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDaten = RETURN-VALUE.
- OUTPUT TO VALUE(cDaten).
- FOR EACH TKunden WHERE TKunden.Ausgang <> 0 NO-LOCK
- BREAK BY TKunden.Knr
- BY TKunden.Artnr
- BY TKunden.Inhalt
- BY TKunden.Jahr:
-
- IF FIRST-OF (TKunden.Knr) THEN DO:
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = ADFirma
- AND Adresse.Knr = TKunden.Knr NO-LOCK NO-ERROR.
-
- XAdresse = ''.
- XAdresse = XAdresse + STRING(Adresse.Knr,"999999 ").
- IF Adresse.Firma1 <> '' THEN XAdresse = XAdresse + Adresse.Firma1 + ', '.
- IF Adresse.Firma2 <> '' THEN XAdresse = XAdresse + Adresse.Firma2 + ', '.
- IF Adresse.Name <> '' THEN DO:
- IF Adresse.Vorname <> '' THEN XAdresse = XAdresse + Adresse.Vorname + ' '.
- XAdresse = XAdresse + Adresse.Name + ', '.
- END.
- IF Adresse.Strasse <> '' THEN XAdresse = XAdresse + Adresse.Strasse + ', '.
- XAdresse = XAdresse + Adresse.Plz + ' ' + Adresse.Ort.
-
- PUT CONTROL XAdresse CHR(10).
- END.
-
- FIND Artst WHERE RECID(Artst) = TKunden.RID NO-LOCK.
- FIND KGebinde WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = Artst.KGeb_Cd.
- IF TKunden.Art = TRUE THEN DO:
- VProz = TKunden.Wert.
- VBetr = TKunden.VP.
- Rundbetr = TKunden.VP * VProz / 100.
- END.
- ELSE DO:
- VBetr = TKunden.Wert.
- Rundbetr = TKunden.Wert * TKunden.Ausgang.
- VProz = Rundbetr * 100 / TKunden.VP.
- END.
-
- PUT CONTROL '£'
- Artst.Bez '£'
- KGebinde.KBez '£'
- TRIM(STRING(TKunden.Ausgang,'->>>,>>>,>>9' )) '£'
- TRIM(STRING(TKunden.VP ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(TKunden.Wert ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(Rundbetr ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(TKunden.MWST_Cd,'z9' )) CHR(10).
- IF NOT LAST-OF (TKunden.Knr) THEN NEXT.
- PUT CONTROL '£' CHR(10).
- END.
-
- PUT CONTROL 'Produktetotale' CHR(10).
- VBetrag = 0.
- FOR EACH TWork WHERE TWork.Ausgang <> 0:
- FIND Artst WHERE RECID(Artst) = TWork.RID NO-LOCK.
- FIND KGebinde WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = Artst.KGeb_Cd.
- IF TWork.Art = TRUE THEN DO:
- VProz = TWork.Wert.
- VBetr = TWork.VP.
- Rundbetr = TWork.VP * VProz / 100.
- END.
- ELSE DO:
- VBetr = TWork.Wert.
- Rundbetr = TWork.Wert * TWork.Ausgang.
- VProz = Rundbetr * 100 / TWork.VP.
- END.
-
- PUT CONTROL '£'
- STRING(TWork.Preis_Grp,'99 ') Artst.Bez '£'
- KGebinde.KBez '£'
- TRIM(STRING(TWork.Ausgang ,'->>>,>>>,>>9' )) '£'
- TRIM(STRING(TWork.VP ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(TWork.Wert ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(Rundbetr ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(TWork.MWST_Cd ,'z9' )) CHR(10).
- VBetrag = VBetrag + Rundbetr.
- FIND FIRST TMWST WHERE TMWST.MWST_Cd = TWork.MWST_Cd NO-ERROR.
- IF NOT AVAILABLE TMWST THEN DO:
- CREATE TMWST.
- ASSIGN TMWST.MWST_Cd = TWork.MWST_Cd.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = iMWSTCd
- AND Wust.CodeA = TWork.MWST_Cd NO-LOCK.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = Wust.WuCd
- AND MWSTAns.Datum <= F_BisDatum NO-LOCK NO-ERROR.
- TMWST.MWST_Ansatz = MWSTAns.Ans.
- END.
- TMWST.Netto = TMWST.Netto + Rundbetr.
- END.
- PUT CONTROL '£££££'
- 'Fr.' '£'
- TRIM(STRING(VBetrag,'->>>,>>>,>>9.99')) CHR(10)
- '£' CHR(10).
-
- PUT CONTROL '££'
- 'Mehrwertsteuer' CHR(10).
- VBetrag = 0.
- FOR EACH TMWST BY TMWST.MWST_Cd:
- Rundbetr = TMWST.Netto * TMWST.MWST_Ansatz / 100.
- VBetrag = VBetrag + TMWST.Netto + Rundbetr.
- PUT CONTROL '££££'
- TRIM(STRING(TMWST.Netto ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(TMWST.MWST_Ansatz,'z9.99%')) '£'
- TRIM(STRING(Rundbetr ,'->>>,>>>,>>9.99')) '£'
- TRIM(STRING(TMWST.MWST_Cd ,'z9')) CHR(10).
- END.
-
- Rundbetr = VBetrag.
- RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rundbetr ).
- PUT CONTROL '£' CHR(10)
- '£MWSt-Nummer : ' + Steuer.MWST_Nr '£'
- 'Gesamttotal inkl. Mehrwertsteuer' '£££'
- 'Fr.' '£'
- TRIM(STRING(Rundbetr,"->>>,>>>,>>9.99")) CHR(10).
-
- OUTPUT CLOSE.
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN DO:
- RUN FEHLER ( INPUT 1035 ).
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN DO:
- RUN FEHLER ( INPUT 1040 ).
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- Zelle = 'A8'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:ColumnWidth = 0.3.
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gRueckverguetung
- PROCEDURE selectPage :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
- DEF VAR FMutFlag AS LOG NO-UNDO.
- DEF VAR MutProg AS CHAR NO-UNDO.
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- DO WHILE TRUE:
- IF NOT FMutFlag THEN LEAVE.
- MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
- IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
- RETURN NO-APPLY.
- END.
- CASE piPageNum:
- END CASE.
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- WHEN 1 THEN DO:
- /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
- /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
- END.
- END CASE.
- RUN SUPER( INPUT piPageNum).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gRueckverguetung
- PROCEDURE TOOLBAR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
- /*
- RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
- */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|