| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gProdgrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gProdgrp
- /*------------------------------------------------------------------------
- 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 --- */
- DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
- DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE Selektion AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE DatenName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE DateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VKnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE FwSprcd AS INTEGER NO-UNDO.
- DEFINE VARIABLE xHerst AS CHARACTER NO-UNDO.
- DEFINE VARIABLE KumBegVj AS DATE NO-UNDO.
- DEFINE VARIABLE VonDatVj AS DATE NO-UNDO.
- DEFINE VARIABLE BisDatVj AS DATE NO-UNDO.
- DEFINE VARIABLE cInstallation AS CHARACTER NO-UNDO.
- DEFINE TEMP-TABLE TWork
- FIELD Wgr AS INTEGER
- FIELD Pgr AS INTEGER
- FIELD Artnr AS INTEGER
- FIELD Inhalt AS INTEGER
- FIELD Jahr AS INTEGER
- FIELD GebInhalt AS DECIMAL DECIMALS 4
- FIELD RID AS RECID
- FIELD MengeLf AS DECIMAL DECIMALS 4
- FIELD LiterLf AS DECIMAL DECIMALS 4
- FIELD BetrLf AS DECIMAL DECIMALS 4
- FIELD MeKumLf AS DECIMAL DECIMALS 4
- FIELD LiKumLf AS DECIMAL DECIMALS 4
- FIELD BeKumLf AS DECIMAL DECIMALS 4
- FIELD MengeVj AS DECIMAL DECIMALS 4
- FIELD LiterVj AS DECIMAL DECIMALS 4
- FIELD BetrVj AS DECIMAL DECIMALS 4
- FIELD MeKumVj AS DECIMAL DECIMALS 4
- FIELD LiKumVj AS DECIMAL DECIMALS 4
- FIELD BeKumVj AS DECIMAL DECIMALS 4
-
- INDEX TWork-k1
- Artnr
- Inhalt
- Jahr.
- /* _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 designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME gProdgrp
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS CB_Hersteller F_Wgr F_Prodgrp F_VArtnr ~
- F_BArtnr F_VonDat F_BisDat F_KumBeg T_Verbuchte Btn_Excel Btn_Cancel ~
- RECT-39 RECT-41
- &Scoped-Define DISPLAYED-OBJECTS CB_Hersteller F_Wgr F_Prodgrp F_VArtnr ~
- F_BArtnr F_VonDat F_BisDat F_KumBeg T_Verbuchte
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-5 Btn_Excel
- &Scoped-define List-6 CB_Hersteller F_Wgr F_Prodgrp F_VArtnr F_BArtnr ~
- F_VonDat F_BisDat F_KumBeg T_Verbuchte
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Cancel AUTO-END-KEY
- LABEL "&Abbrechen"
- SIZE 15 BY 1.14.
- DEFINE BUTTON Btn_Excel
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
- LABEL "Excel"
- SIZE 7 BY 1.81.
- DEFINE VARIABLE CB_Hersteller AS CHARACTER FORMAT "X(256)":U
- LABEL "Hersteller"
- VIEW-AS COMBO-BOX SORT INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisDat AS DATE FORMAT "99.99.9999":U INITIAL 01/01/001
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_KumBeg AS DATE FORMAT "99.99.9999":U INITIAL 01/01/001
- LABEL "Kummulation seit"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Prodgrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Produktegruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1 TOOLTIP "Leer = Alle, Doppel-Klick = Auswahl"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Artikelnummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonDat AS DATE FORMAT "99.99.9999":U INITIAL 01/01/001
- LABEL "Datumbereich"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Wgr AS CHARACTER FORMAT "X(256)":U
- LABEL "Warengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1 TOOLTIP "Leer = Alle, Doppel-Klick = Auswahl"
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-39
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 86 BY 5.67.
- DEFINE RECTANGLE RECT-41
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 86 BY 3.1.
- DEFINE VARIABLE T_Verbuchte AS LOGICAL INITIAL NO
- LABEL "nur verbuchte"
- VIEW-AS TOGGLE-BOX
- SIZE 24.4 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gProdgrp
- CB_Hersteller AT ROW 1.52 COL 44 COLON-ALIGNED
- F_Wgr AT ROW 2.52 COL 44 COLON-ALIGNED
- F_Prodgrp AT ROW 3.52 COL 44 COLON-ALIGNED
- F_VArtnr AT ROW 4.52 COL 44 COLON-ALIGNED
- F_BArtnr AT ROW 4.52 COL 57 COLON-ALIGNED
- F_VonDat AT ROW 7.52 COL 44 COLON-ALIGNED
- F_BisDat AT ROW 7.52 COL 68 COLON-ALIGNED
- F_KumBeg AT ROW 8.52 COL 44 COLON-ALIGNED
- T_Verbuchte AT ROW 5.52 COL 45.8 WIDGET-ID 2
- Btn_Excel AT ROW 11.19 COL 79
- Btn_Cancel AT ROW 11.57 COL 4
- "Artikelselektion" VIEW-AS TEXT
- SIZE 24 BY 1 AT ROW 1.52 COL 5
- RECT-39 AT ROW 1.24 COL 2
- RECT-41 AT ROW 7.19 COL 2
- SPACE(0.99) SKIP(3.32)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Artikelumsatz"
- CANCEL-BUTTON Btn_Cancel.
- /* *********************** 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 gProdgrp
- /* ************************* 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 gProdgrp
- FRAME-NAME Custom */
- ASSIGN
- FRAME gProdgrp:SCROLLABLE = FALSE
- FRAME gProdgrp:HIDDEN = TRUE.
- /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gProdgrp
- 5 */
- /* SETTINGS FOR COMBO-BOX CB_Hersteller IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR FILL-IN F_BArtnr IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR FILL-IN F_BisDat IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR FILL-IN F_KumBeg IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR FILL-IN F_Prodgrp IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR FILL-IN F_VArtnr IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR FILL-IN F_VonDat IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR FILL-IN F_Wgr IN FRAME gProdgrp
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Verbuchte IN FRAME gProdgrp
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gProdgrp
- /* Query rebuild information for DIALOG-BOX gProdgrp
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gProdgrp */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gProdgrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gProdgrp gProdgrp
- ON END-ERROR OF FRAME gProdgrp /* Artikelumsatz */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gProdgrp gProdgrp
- ON GO OF FRAME gProdgrp /* Artikelumsatz */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gProdgrp gProdgrp
- ON WINDOW-CLOSE OF FRAME gProdgrp /* Artikelumsatz */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Cancel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gProdgrp
- ON CHOOSE OF Btn_Cancel IN FRAME gProdgrp /* Abbrechen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Excel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gProdgrp
- ON CHOOSE OF Btn_Excel IN FRAME gProdgrp /* Excel */
- DO:
- Btn_Excel:HIDDEN = TRUE.
- RUN REPORT.
- Btn_Excel:HIDDEN = FALSE.
- RUN ENDE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Prodgrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Prodgrp gProdgrp
- ON LEFT-MOUSE-DBLCLICK OF F_Prodgrp IN FRAME gProdgrp /* Produktegruppen */
- DO:
- IF F_Wgr:SCREEN-VALUE <> ''
- THEN RUN 'g-auswahl-pgr.w':U ( INPUT F_Wgr:HANDLE, INPUT SELF ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Wgr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Wgr gProdgrp
- ON LEFT-MOUSE-DBLCLICK OF F_Wgr IN FRAME gProdgrp /* Warengruppen */
- DO:
- RUN 'g-auswahl-wgr.w':U ( INPUT SELF ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gProdgrp
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- FwSprcd = DYNAMIC-FUNCTION('GETFWSPRCD':U) NO-ERROR.
- /* 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 'RETURN':U OF CB_Hersteller, F_VonDat, F_BisDat, F_KumBeg
- IN FRAME {&FRAME-NAME}
- DO:
- APPLY 'TAB' TO SELF.
- 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 gProdgrp _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 gProdgrp
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipFeld AS HANDLE NO-UNDO.
- DEFINE VARIABLE Inhalt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- Inhalt = ''.
- DO ix = 1 TO NUM-ENTRIES(ipFeld:SCREEN-VALUE, ','):
- i1 = INTEGER(ENTRY(ix, ipFeld:SCREEN-VALUE, ',')) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN NEXT.
- Inhalt = Inhalt + STRING(i1,'999') + ','.
- END.
- Inhalt = SUBSTRING(Inhalt,01,LENGTH(Inhalt) - 1).
- ipFeld:SCREEN-VALUE = Inhalt.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gProdgrp
- 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 gProdgrp _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 gProdgrp.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gProdgrp
- PROCEDURE enableObject :
- /* ------------------------------------------------------------------------------ */
- /* Purpose: Super Override */
- /* Parameters: */
- /* Notes: */
- /* ------------------------------------------------------------------------------ */
- /* Code placed here will execute PRIOR to standard behavior. */
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- RUN COMBO_HERSTELLER ( CB_Hersteller:HANDLE ).
- CB_Hersteller:ADD-LAST ( 'Alle', 'AAAAAA' ).
-
- cInstallation = DYNAMIC-FUNCTION ('getInstallation':U) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gProdgrp _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_Wgr F_Prodgrp F_VArtnr F_BArtnr F_VonDat F_BisDat
- F_KumBeg T_Verbuchte
- WITH FRAME gProdgrp.
- ENABLE CB_Hersteller F_Wgr F_Prodgrp F_VArtnr F_BArtnr F_VonDat F_BisDat
- F_KumBeg T_Verbuchte Btn_Excel Btn_Cancel RECT-39 RECT-41
- WITH FRAME gProdgrp.
- VIEW FRAME gProdgrp.
- {&OPEN-BROWSERS-IN-QUERY-gProdgrp}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gProdgrp
- 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 gProdgrp
- 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 gProdgrp
- 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 NEXTPAGE gProdgrp
- 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 gProdgrp
- 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 gProdgrp
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE Fenster AS HANDLE NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE Rundbetr AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE Ja AS LOG NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xDat1 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xDat2 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Totale AS DECIMAL DECIMALS 4
- EXTENT 20 NO-UNDO.
- DEFINE VARIABLE cBreite AS CHARACTER NO-UNDO
- INIT '0.3,5.5,22,3,3,7,7,6.5,8,7,6.5,8'.
- DEFINE VARIABLE Faktor AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE Punkt AS DECIMAL NO-UNDO INIT 8.
- DEFINE VARIABLE cWgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cPgr AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN BEREINIGEN ( INPUT F_Wgr :HANDLE ).
- RUN BEREINIGEN ( INPUT F_Prodgrp:HANDLE ).
- ASSIGN {&List-6}.
- IF F_VArtnr = 0 AND F_BArtnr = 0 THEN F_BArtnr = 999999.
- IF F_BArtnr < F_VArtnr THEN F_BArtnr = F_VArtnr.
- IF F_VonDat = ? THEN F_VonDat = DATE(MONTH(TODAY),01,YEAR(TODAY)).
- IF F_BisDat = ? THEN F_BisDat = DATE(12,31,YEAR(TODAY)).
- IF F_KumBeg = ? THEN F_KumBeg = DATE(01,01,YEAR(TODAY)).
- Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION NO-ERROR.
- Fenster = Fenster:FIRST-CHILD NO-ERROR.
- Selektion = ''.
- DO WHILE VALID-HANDLE(Fenster):
- DO WHILE TRUE:
- IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
- IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
- IF Fenster:TYPE = 'TEXT' THEN LEAVE.
- IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
- Selektion = Selektion + Fenster:SCREEN-VALUE + '@'.
- LEAVE.
- END.
- Fenster = Fenster:NEXT-SIBLING.
- END.
- Selektion = SUBSTRING(Selektion,01,LENGTH(Selektion) - 1).
- DISPLAY {&List-6}.
- END.
- DYNAMIC-FUNCTION('SETSELEKTION':U, INPUT '{&FRAME-NAME}',
- INPUT Selektion ) NO-ERROR.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- DatenName = 'Prodgrpumsätze.txt'.
- DateiName = SUBSTITUTE('Prodgrpumsätze_&1.xls', cInstallation) + CHR(01) + SUBSTITUTE('Prodgrpumsätze_&1.xls', cInstallation).
- DO WHILE TRUE:
- RUN CREATEDATEI ( INPUT DateiName ).
- IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
- CASE RETURN-VALUE:
- WHEN 'ERROR-PARAMETER' THEN
- DO:
- RUN FEHLER ( INPUT 1036 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-LOESCHEN' THEN
- DO:
- RUN FEHLER ( INPUT 1037 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-VORLAGE' THEN
- DO:
- RUN FEHLER ( INPUT 1038 ).
- RETURN NO-APPLY.
- END.
- OTHERWISE
- DO:
- MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
- RETURN NO-APPLY.
- END.
- END CASE.
- LEAVE.
- END.
- DateiName = RETURN-VALUE.
- DO WHILE TRUE:
- RUN CREATEDATEI ( INPUT DatenName ).
- IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
- CASE RETURN-VALUE:
- WHEN 'ERROR-PARAMETER' THEN
- DO:
- RUN FEHLER ( INPUT 1036 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-LOESCHEN' THEN
- DO:
- RUN FEHLER ( INPUT 1037 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-VORLAGE' THEN
- DO:
- RUN FEHLER ( INPUT 1038 ).
- RETURN NO-APPLY.
- END.
- OTHERWISE
- DO:
- MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
- RETURN NO-APPLY.
- END.
- END CASE.
- LEAVE.
- END.
- DatenName = RETURN-VALUE.
- SESSION:SET-WAIT-STATE('GENERAL').
- RUN TEMPTABELLE.
- Totale = 0.
- xDat1 = STRING(F_VonDat,'99.99.9999') + ' - '
- + STRING(F_BisDat,'99.99.9999').
- xDat2 = STRING(F_KumBeg,'99.99.9999') + ' - '
- + STRING(F_BisDat,'99.99.9999').
- i1 = LOOKUP(CB_Hersteller:SCREEN-VALUE, CB_Hersteller:LIST-ITEM-PAIRS, ';').
- xHerst = ENTRY(i1 - 1, CB_Hersteller:LIST-ITEM-PAIRS, ';').
- OUTPUT TO VALUE(DatenName).
- PUT CONTROL '£££££££'
- STRING(F_VonDat,'99.99.9999')
- ' - '
- STRING(F_BisDat,'99.99.9999')
- '£££'
- STRING(F_KumBeg,'99.99.9999')
- ' - '
- STRING(F_BisDat,'99.99.9999')
- '£££'
- STRING(VonDatVj,'99.99.9999')
- ' - '
- STRING(BisDatVj,'99.99.9999')
- '£££'
- STRING(KumBegVj,'99.99.9999')
- ' - '
- STRING(BisDatVj,'99.99.9999')
- CHR(10)
- '£Wgr£Warengruppe£Pgr£Produktegruppe£WgrPgr£Menge£HL£Betrag£Menge£HL£Betrag£Menge£HL£Betrag£Menge£HL£Betrag'
- CHR(10).
- FOR EACH TWork USE-INDEX TWork-k1
- BREAK BY TWork.Wgr
- BY TWork.Pgr
- BY TWork.Artnr
- BY TWork.Inhalt
- BY TWork.Jahr :
- IF FIRST-OF ( TWork.Wgr ) THEN
- DO:
- FIND WarenGrp WHERE Warengrp.Firma = Firma
- AND Warengrp.Wgr = TWork.Wgr NO-LOCK NO-ERROR.
- IF AVAILABLE WarenGrp THEN cWgr = WarenGrp.Bez1.
- ELSE cWgr = '??????????'.
- END.
- IF FIRST-OF ( TWork.Pgr ) THEN
- DO:
- Totale = 0.
- FIND ProdGrp WHERE Prodgrp.Firma = Firma
- AND Prodgrp.Wgr = TWork.Wgr
- AND Prodgrp.Prod_Grp = TWork.Pgr NO-LOCK NO-ERROR.
- IF AVAILABLE ProdGrp THEN cPgr = ProdGrp.Bez1.
- ELSE cPgr = '??????????'.
- END.
- FIND Artst WHERE RECID(Artst) = TWork.RID NO-ERROR.
- ASSIGN
- Totale[01] = Totale[01] + TWork.MengeLf
- Totale[02] = Totale[02] + TWork.LiterLf
- Totale[03] = Totale[03] + TWork.BetrLf
- Totale[04] = Totale[04] + TWork.MeKumLf
- Totale[05] = Totale[05] + TWork.LiKumLf
- Totale[06] = Totale[06] + TWork.BeKumLf
- Totale[07] = Totale[07] + TWork.MengeVj
- Totale[08] = Totale[08] + TWork.LiterVj
- Totale[09] = Totale[09] + TWork.BetrVj
- Totale[10] = Totale[10] + TWork.MeKumVj.
- Totale[11] = Totale[11] + TWork.LiKumVj.
- Totale[12] = Totale[12] + TWork.BeKumVj.
- IF NOT LAST-OF ( TWork.Pgr) THEN NEXT.
-
- PUT CONTROL '£'
- STRING(TWork.Wgr,'999')
- '£'
- cWgr
- '£'
- STRING(TWork.Pgr,'999')
- '£'
- cPgr
- '£'
- STRING(TWork.Wgr,'999')
- STRING(TWork.Pgr,'999').
- DO ix = 1 TO 12:
- CASE ix:
- WHEN 2 OR
- WHEN 5 OR
- WHEN 8 OR
- WHEN 11 THEN
- Rundbetr = Totale[ix] / 10000.
- OTHERWISE
- Rundbetr = Totale[ix].
- END CASE.
- PUT CONTROL '£'
- TRIM(STRING(Rundbetr,'>>>>>>>>9-')).
- END.
- PUT CONTROL CHR(10).
- END.
- OUTPUT CLOSE.
- DO WHILE TRUE:
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN
- DO:
- RUN FEHLER ( INPUT 1035 ).
- RETURN NO-APPLY.
- END.
- LEAVE.
- END.
- RUN OPENEXCEL ( INPUT excelAppl,
- INPUT DateiName,
- INPUT '',
- OUTPUT Ja ).
- IF NOT Ja THEN
- DO:
- RUN FEHLER ( INPUT 1040 ).
- RETURN NO-APPLY.
- END.
-
- ExcelAppl:Sheets("Tabelle"):Select.
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:FormulaR1C1 = 'TEXT;' + DatenName.
- excelAppl:Application:RUN ( 'DateiEinfügen' ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:ColumnWidth = 0.3.
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- SESSION:SET-WAIT-STATE('').
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gProdgrp
- PROCEDURE selectPage :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE MutProg AS CHARACTER 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 TEMPTABELLE gProdgrp
- PROCEDURE TEMPTABELLE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE Herst AS INTEGER NO-UNDO.
- DEFINE VARIABLE Rundbetr AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE Netto AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE dDatum AS DATE NO-UNDO.
- FOR EACH TWork:
- DELETE TWork.
- END.
- Herst = INTEGER(CB_Hersteller:SCREEN-VALUE IN FRAME {&FRAME-NAME}) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN Herst = -1.
- KumBegVj = DATE(MONTH(F_KumBeg),DAY(F_KumBeg),YEAR(F_KumBeg) - 1) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN
- KumBegVj = DATE(MONTH(F_KumBeg),DAY(F_KumBeg - 1),YEAR(F_KumBeg) - 1) NO-ERROR.
- VonDatVj = DATE(MONTH(F_VonDat),DAY(F_VonDat),YEAR(F_VonDat) - 1) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN
- VonDatVj = DATE(MONTH(F_VonDat),DAY(F_VonDat - 1),YEAR(F_VonDat) - 1) NO-ERROR.
- BisDatVj = DATE(MONTH(F_BisDat),DAY(F_BisDat),YEAR(F_BisDat) - 1) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN
- BisDatVj = DATE(MONTH(F_BisDat),DAY(F_BisDat - 1),YEAR(F_BisDat) - 1) NO-ERROR.
- FOR EACH Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Artnr >= F_VArtnr
- AND Artst.Artnr <= F_BArtnr NO-LOCK:
- IF Herst > -1 AND
- Artst.Herst <> Herst THEN NEXT.
- IF F_Wgr <> '' AND
- LOOKUP(STRING(Artst.Wg_Grp,"999"), F_Wgr, ',') = 0 THEN NEXT.
- IF F_Prodgrp <> '' AND
- LOOKUP(STRING(Artst.Prod_Grp,"999"), F_ProdGrp, ',') = 0 THEN NEXT.
-
- FOR EACH Artbw NO-LOCK USE-INDEX Artbw-k2
- WHERE Artbw.Firma = Artst.Firma
- AND Artbw.Artnr = Artst.Artnr
- AND Artbw.Inhalt = Artst.Inhalt
- AND Artbw.Jahr = Artst.Jahr
- AND Artbw.Tr_Art < 11 :
-
- IF T_Verbuchte THEN dDatum = Artbw.Fak_Dat.
- ELSE dDatum = Artbw.Datum.
- IF dDatum = ? THEN NEXT.
- IF dDatum < F_KumBeg THEN NEXT.
- IF dDatum > F_BisDat THEN NEXT.
-
- FIND FIRST TWork USE-INDEX TWork-k1
- WHERE TWork.Artnr = Artbw.Artnr
- AND TWork.Inhalt = Artbw.Inhalt
- AND TWork.Jahr = Artbw.Jahr NO-ERROR.
- IF NOT AVAILABLE TWork THEN
- DO:
- FIND KGebinde USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Artst.Firma
- AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK.
- CREATE TWork.
- ASSIGN
- TWork.Artnr = Artbw.Artnr
- TWork.Inhalt = Artbw.Inhalt
- TWork.Jahr = Artbw.Jahr
- TWork.GebInhalt = KGebinde.Inhalt
- TWork.RID = RECID(Artst)
- TWork.Wgr = Artst.Wg_Grp
- TWork.Pgr = Artst.Prod_Grp.
- END.
-
- Rundbetr = Artbw.Menge * TWork.GebInhalt.
- Netto = Artbw.Net_Betr
- - Artbw.Auf_Rab
- - Artbw.Abh_Rab
- - Artbw.Auf_Sp_Rab.
- IF Artbw.MWST_Inkl THEN Netto = Netto * 100 / (100 + Artbw.MWST%).
- IF dDatum >= F_VonDat THEN
- DO:
- ASSIGN
- TWork.MengeLf = TWork.MengeLf + Artbw.Menge
- TWork.LiterLf = TWork.LiterLf + Rundbetr
- TWork.BetrLf = TWork.BetrLf + Netto.
- END.
- ASSIGN
- TWork.MeKumLf = TWork.MeKumLf + Artbw.Menge
- TWork.LiKumLf = TWork.LiKumLf + Rundbetr
- TWork.BeKumLf = TWork.BeKumLf + Netto.
- END.
-
- FOR EACH Artbw NO-LOCK USE-INDEX Artbw-k2
- WHERE Artbw.Firma = Artst.Firma
- AND Artbw.Artnr = Artst.Artnr
- AND Artbw.Inhalt = Artst.Inhalt
- AND Artbw.Jahr = Artst.Jahr
- AND Artbw.Tr_Art < 11 :
-
- IF T_Verbuchte THEN dDatum = Artbw.Fak_Dat.
- ELSE dDatum = Artbw.Datum.
- IF dDatum = ? THEN NEXT.
- IF dDatum < KumBegVj THEN NEXT.
- IF dDatum > BisDatVj THEN NEXT.
-
- FIND FIRST TWork USE-INDEX TWork-k1
- WHERE TWork.Artnr = Artbw.Artnr
- AND TWork.Inhalt = Artbw.Inhalt
- AND TWork.Jahr = Artbw.Jahr NO-ERROR.
- IF NOT AVAILABLE TWork THEN
- DO:
- FIND KGebinde USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Artst.Firma
- AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK.
- CREATE TWork.
- ASSIGN
- TWork.Artnr = Artbw.Artnr
- TWork.Inhalt = Artbw.Inhalt
- TWork.Jahr = Artbw.Jahr
- TWork.GebInhalt = KGebinde.Inhalt
- TWork.RID = RECID(Artst)
- TWork.Wgr = Artst.Wg_Grp
- TWork.Pgr = Artst.Prod_Grp.
- END.
-
- Rundbetr = Artbw.Menge * TWork.GebInhalt.
- Netto = Artbw.Net_Betr
- - Artbw.Auf_Rab
- - Artbw.Abh_Rab
- - Artbw.Auf_Sp_Rab.
- IF Artbw.MWST_Inkl THEN Netto = Netto * 100 / (100 + Artbw.MWST%).
- IF dDatum >= VonDatVj THEN
- DO:
- ASSIGN
- TWork.MengeVj = TWork.MengeVj + Artbw.Menge
- TWork.LiterVj = TWork.LiterVj + Rundbetr
- TWork.BetrVj = TWork.BetrVj + Netto.
- END.
- ASSIGN
- TWork.MeKumVj = TWork.MeKumVj + Artbw.Menge
- TWork.LiKumVj = TWork.LiKumVj + Rundbetr
- TWork.BeKumVj = TWork.BeKumVj + Netto.
- END.
- END.
- FOR EACH TWork WHERE TWork.MengeLf = 0
- AND TWork.MeKumLf = 0
- AND TWork.MeKumVj = 0:
- DELETE TWork.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gProdgrp
- PROCEDURE TOOLBAR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER pcAction AS CHARACTER NO-UNDO.
- /*
- RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
- */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gProdgrp
- PROCEDURE viewObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- /* Code placed here will execute PRIOR to standard behavior. */
- RUN SUPER.
- Selektion = DYNAMIC-FUNCTION('GETSELEKTION':U, INPUT '{&FRAME-NAME}' ) NO-ERROR.
- IF Selektion = '?' OR
- Selektion = ? THEN
- DO:
- Selektion = 'AAAAAA' + '@'
- + '' + '@'
- + '' + '@'
- + '000000' + '@'
- + '999999' + '@'
- + STRING(DATE(01,01,YEAR(TODAY)),'99.99.9999') + '@'
- + STRING(DATE(12,31,YEAR(TODAY)),'99.99.9999') + '@'
- + STRING(DATE(01,01,YEAR(TODAY)),'99.99.9999').
- END.
- DO WITH FRAME {&FRAME-NAME}:
- CB_Hersteller :SCREEN-VALUE = ENTRY( 1, Selektion, '@').
- F_Wgr :SCREEN-VALUE = ENTRY( 2, Selektion, '@').
- F_Prodgrp :SCREEN-VALUE = ENTRY( 3, Selektion, '@').
- F_VArtnr :SCREEN-VALUE = ENTRY( 4, Selektion, '@').
- F_BArtnr :SCREEN-VALUE = ENTRY( 5, Selektion, '@').
- F_VonDat :SCREEN-VALUE = ENTRY( 6, Selektion, '@').
- F_BisDat :SCREEN-VALUE = ENTRY( 7, Selektion, '@').
- F_KumBeg :SCREEN-VALUE = ENTRY( 8, Selektion, '@').
- END.
- /* Code placed here will execute AFTER standard behavior. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|