| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gCalanda
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gCalanda
- /*------------------------------------------------------------------------
- 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 Firma AS CHAR NO-UNDO.
- DEF VAR AdFirma AS CHAR NO-UNDO.
- DEF VAR ProgName AS CHAR NO-UNDO.
- DEF TEMP-TABLE TWork FIELD Knr AS INT
- FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD GebInhalt AS DEC DECIMALS 4
- FIELD Menge AS DEC DECIMALS 4
- FIELD Liter AS DEC DECIMALS 4
- FIELD Betr AS DEC DECIMALS 4
- FIELD MeKum AS DEC DECIMALS 4
- FIELD LiKum AS DEC DECIMALS 4
- FIELD BeKum AS DEC DECIMALS 4
- FIELD Bez AS CHAR
- FIELD GebCd AS CHAR
- FIELD RID AS RECID
-
- INDEX TWork-k1
- Knr
- Artnr
- Inhalt
- Jahr.
- DEF BUFFER BWork FOR TWork.
- /* _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 gCalanda
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-21 RECT-22 RECT-23 CB_Hersteller ~
- F_Warengrp F_Biercode F_Preisgrp F_VonDatum F_BisDatum Btn_Start ~
- Btn_Abbrechen
- &Scoped-Define DISPLAYED-OBJECTS CB_Hersteller F_Warengrp F_Biercode ~
- F_Preisgrp F_VonDatum F_BisDatum
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-1 CB_Hersteller Btn_Start Btn_Abbrechen
- &Scoped-define List-6 F_Warengrp F_Biercode F_Preisgrp F_VonDatum ~
- F_BisDatum
- /* _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 16 BY 1.
- DEFINE BUTTON Btn_Start
- LABEL "&Starten"
- SIZE 16 BY 1.
- 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 F_Biercode AS CHARACTER FORMAT "X(256)":U
- LABEL "Vertragsarten"
- VIEW-AS FILL-IN NATIVE
- 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_Preisgrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1
- 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
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-21
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 88 BY 3.1.
- DEFINE RECTANGLE RECT-22
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 88 BY 3.1.
- DEFINE RECTANGLE RECT-23
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 88 BY 4.29.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gCalanda
- CB_Hersteller AT ROW 1.81 COL 42 COLON-ALIGNED
- F_Warengrp AT ROW 2.81 COL 42 COLON-ALIGNED
- F_Biercode AT ROW 5.81 COL 42 COLON-ALIGNED
- F_Preisgrp AT ROW 6.81 COL 42 COLON-ALIGNED
- F_VonDatum AT ROW 10 COL 42 COLON-ALIGNED AUTO-RETURN
- F_BisDatum AT ROW 10 COL 66 COLON-ALIGNED NO-LABEL AUTO-RETURN
- Btn_Start AT ROW 11.57 COL 44
- Btn_Abbrechen AT ROW 11.57 COL 68
- "Kundenselektion" VIEW-AS TEXT
- SIZE 21.2 BY 1 AT ROW 5.81 COL 5.2
- "Artikelselektion" VIEW-AS TEXT
- SIZE 21.2 BY 1 AT ROW 1.81 COL 5.2
- RECT-21 AT ROW 1.24 COL 2
- RECT-22 AT ROW 5.29 COL 2
- RECT-23 AT ROW 9.1 COL 2
- SPACE(0.99) SKIP(0.12)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Verkaufszahlen Calanda-Kunden".
- /* *********************** 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 gCalanda
- /* ************************* 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 gCalanda
- FRAME-NAME */
- ASSIGN
- FRAME gCalanda:SCROLLABLE = FALSE
- FRAME gCalanda:HIDDEN = TRUE.
- /* SETTINGS FOR BUTTON Btn_Abbrechen IN FRAME gCalanda
- 1 */
- /* SETTINGS FOR BUTTON Btn_Start IN FRAME gCalanda
- 1 */
- /* SETTINGS FOR COMBO-BOX CB_Hersteller IN FRAME gCalanda
- 1 */
- /* SETTINGS FOR FILL-IN F_Biercode IN FRAME gCalanda
- 6 */
- /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gCalanda
- 6 */
- /* SETTINGS FOR FILL-IN F_Preisgrp IN FRAME gCalanda
- 6 */
- /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gCalanda
- 6 */
- /* SETTINGS FOR FILL-IN F_Warengrp IN FRAME gCalanda
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gCalanda
- /* Query rebuild information for DIALOG-BOX gCalanda
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gCalanda */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gCalanda
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gCalanda gCalanda
- ON END-ERROR OF FRAME gCalanda /* Verkaufszahlen Calanda-Kunden */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gCalanda gCalanda
- ON GO OF FRAME gCalanda /* Verkaufszahlen Calanda-Kunden */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gCalanda gCalanda
- ON WINDOW-CLOSE OF FRAME gCalanda /* Verkaufszahlen Calanda-Kunden */
- 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 gCalanda
- ON CHOOSE OF Btn_Abbrechen IN FRAME gCalanda /* 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 gCalanda
- ON CHOOSE OF Btn_Start IN FRAME gCalanda /* Starten */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- RUN BEREINIGEN ( F_Warengrp:HANDLE ).
- RUN BEREINIGEN ( F_Biercode:HANDLE ).
- RUN BEREINIGEN ( F_Preisgrp:HANDLE ).
- ASSIGN {&List-6}.
- 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.
- DISPLAY {&List-6}.
- RUN SCHREIBENFWAUSWERTUNGEN ( INPUT ProgName,
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
- Btn_Start :SENSITIVE = FALSE.
- Btn_Abbrechen:SENSITIVE = FALSE.
- RUN REPORT.
- Btn_Start :SENSITIVE = TRUE.
- Btn_Abbrechen:SENSITIVE = TRUE.
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Biercode
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Biercode gCalanda
- ON RIGHT-MOUSE-CLICK OF F_Biercode IN FRAME gCalanda /* Vertragsarten */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'BIER' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Preisgrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgrp gCalanda
- ON RIGHT-MOUSE-CLICK OF F_Preisgrp IN FRAME gCalanda /* Preisgruppen */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'PREGRP' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Warengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gCalanda
- ON RIGHT-MOUSE-CLICK OF F_Warengrp IN FRAME gCalanda /* Warengruppen */
- DO:
- RUN g-auswahl-wgr.w ( INPUT SELF ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gCalanda
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- ProgName = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gCalanda _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 ADRESSE gCalanda
- PROCEDURE ADRESSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipKnr AS INT NO-UNDO.
- DEF OUTPUT PARAMETER opAdresse AS CHAR NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- opAdresse = ''.
- ii = 0.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = ipKnr NO-LOCK NO-ERROR.
- DO WHILE TRUE:
- IF NOT AVAILABLE Adresse THEN LEAVE.
- IF Adresse.Firma1 <> '' THEN DO:
- IF opAdresse <> '' THEN opAdresse = opAdresse + ', '.
- opAdresse = opAdresse + TRIM(Adresse.Firma1 + ' ' + Adresse.Firma2).
- END.
- IF Adresse.NAME <> '' THEN DO:
- IF opAdresse <> '' THEN opAdresse = opAdresse + ', '.
- opAdresse = opAdresse + TRIM(Adresse.Name + ' ' + Adresse.Vorname).
- END.
- opAdresse = opAdresse + ';'.
- IF Adresse.Strasse <> '' THEN DO:
- opAdresse = opAdresse + Adresse.Strasse + ', '.
- END.
- opAdresse = opAdresse + Adresse.Plz + ' ' + Adresse.Ort.
- LEAVE.
- END.
- opAdresse = STRING(ipKnr,"999999 / ") + opAdresse.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gCalanda
- 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 = ''.
- DO i = 1 TO LENGTH(ipHandle:SCREEN-VALUE):
- IF SUBSTRING(ipHandle:SCREEN-VALUE,i,1) < '0' OR
- SUBSTRING(ipHandle:SCREEN-VALUE,i,1) > '9' THEN DO:
- SUBSTRING(ipHandle:SCREEN-VALUE,i) = ','.
- END.
- END.
- 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 gCalanda
- 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 gCalanda _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 gCalanda.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gCalanda
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- RUN COMBO_HERSTELLER ( CB_Hersteller:HANDLE IN FRAME {&FRAME-NAME} ).
- 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 gCalanda _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_Biercode F_Preisgrp F_VonDatum F_BisDatum
- WITH FRAME gCalanda.
- ENABLE RECT-21 RECT-22 RECT-23 CB_Hersteller F_Warengrp F_Biercode F_Preisgrp
- F_VonDatum F_BisDatum Btn_Start Btn_Abbrechen
- WITH FRAME gCalanda.
- VIEW FRAME gCalanda.
- {&OPEN-BROWSERS-IN-QUERY-gCalanda}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gCalanda
- 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 gCalanda
- 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 gCalanda
- 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 gCalanda
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER excelAppl AS COM-HANDLE NO-UNDO.
- DEF INPUT PARAMETER ipHerst AS INT NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- RUN FIND_HERSTELLER ( INPUT ipHerst, OUTPUT cString ).
- Zelle = 'A2'.
- cString = ENTRY(2, cString, CHR(01))
- + ' - Umsätze für die Zeit vom '
- + STRING(F_VonDatum,'99.99.9999')
- + ' bis '
- + STRING(F_BisDatum,'99.99.9999').
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'A', INPUT 2, INPUT cString ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gCalanda
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR StartDatum AS DATE NO-UNDO.
- DEF VAR iHerst AS INT NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR cBiercd AS CHAR NO-UNDO.
- DEF VAR cPreis AS CHAR NO-UNDO.
- DEF VAR Rundbetr AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR Totale AS DEC DECIMALS 4 NO-UNDO EXTENT 5.
- DEF VAR GTotale AS DEC DECIMALS 4 NO-UNDO EXTENT 5.
- DEF VAR Anzahl AS INT NO-UNDO.
- 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.
- StartDatum = DATE(01,01,YEAR(F_VonDatum)).
- DO WITH FRAME {&FRAME-NAME}:
- iHerst = INTEGER(CB_Hersteller:SCREEN-VALUE).
- FOR EACH Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Herst = iHerst NO-LOCK:
- IF F_Warengrp = '' THEN.
- ELSE DO:
- cString = STRING(Artst.Wg_Grp,'999').
- IF LOOKUP(cString, F_Warengrp, ',') = 0 THEN NEXT.
- END.
- FOR EACH Artbw 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.Datum >= StartDatum
- AND Artbw.Datum <= F_BisDatum
- AND Artbw.Tr_Art < 9 NO-LOCK,
- FIRST Debst NO-LOCK USE-INDEX Debst-k1
- WHERE Debst.Firma = Artbw.Firma
- AND Debst.Knr = Artbw.Knr :
- cBiercd = STRING(Debst.Bier_Cd ,'999').
- cPreis = STRING(Debst.Preis_Grp,'999').
-
- IF F_Biercode = '' THEN.
- ELSE DO:
- IF LOOKUP(cBiercd, F_Biercode, ',') = 0 THEN NEXT.
- END.
- IF F_Preisgrp = '' THEN.
- ELSE DO:
- IF LOOKUP(cPreis, F_Preisgrp, ',') = 0 THEN NEXT.
- END.
-
- FIND FIRST TWork USE-INDEX TWork-k1
- WHERE TWork.Knr = Artbw.Knr
- AND 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.Knr = Artbw.Knr
- TWork.Artnr = Artbw.Artnr
- TWork.Inhalt = Artbw.Inhalt
- TWork.Jahr = Artbw.Jahr
- TWork.GebInhalt = KGebinde.Inhalt
- TWork.GebCd = KGebinde.KBez
- TWork.Bez = Artst.Bez
- TWork.RID = RECID(Artst).
- END.
-
- Rundbetr = Artbw.Menge * TWork.GebInhalt.
- IF Artbw.Datum >= F_VonDatum THEN DO:
- TWork.Menge = TWork.Menge + Artbw.Menge.
- TWork.Liter = TWork.Liter + Rundbetr.
- TWork.Betr = TWork.Betr + Artbw.Net_Betr.
- END.
- TWork.MeKum = TWork.MeKum + Artbw.Menge.
- TWork.LiKum = TWork.LiKum + Rundbetr.
- TWork.BeKum = TWork.BeKum + Artbw.Net_Betr.
- END.
- END.
- FOR EACH TWork WHERE TWork.Menge = 0
- AND TWork.MeKum = 0:
- DELETE TWork.
- END.
- cVorlage = 'Calanda' + '.xls'.
- cDokument = 'Calanda' + '.xls'.
- cDaten = 'Calanda' + '.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).
- GTotale = 0.
- FOR EACH TWork USE-INDEX TWork-k1
- BREAK BY TWork.Knr :
- IF FIRST-OF ( TWork.Knr ) THEN DO:
- Totale = 0.
- Anzahl = 0.
- RUN ADRESSE ( INPUT TWork.Knr, OUTPUT cString ).
- PUT CONTROL ENTRY(1, cString, ';') CHR(10)
- ENTRY(2, cString, ';') CHR(10).
- END.
- FIND Artst WHERE RECID(Artst) = TWork.RID NO-ERROR.
- PUT CONTROL '£'
- STRING(Artst.Artnr,'999999')
- STRING(Artst.Inhalt,'9999') '£'
- Artst.Bez '£'
- TWork.GebCd '£'.
- IF TWork.Menge <> 0
- THEN PUT CONTROL TRIM(STRING(TWork.Menge ,'->>>>>>>>>')).
- PUT CONTROL '£'.
- IF TWork.Liter <> 0
- THEN PUT CONTROL TRIM(STRING(TWork.Liter / 10000,'->>>>>>9.99')).
- PUT CONTROL '£'.
- IF TWork.LiKum <> 0
- THEN PUT CONTROL TRIM(STRING(TWork.LiKum / 10000,'->>>>>>9.99')).
- PUT CONTROL '£'.
- IF TWork.Betr <> 0
- THEN PUT CONTROL TRIM(STRING(TWork.Betr ,'->>>>>>9.99')).
- PUT CONTROL '£'.
- IF TWork.BeKum <> 0
- THEN PUT CONTROL TRIM(STRING(TWork.BeKum ,'->>>>>>9.99')).
- PUT CONTROL CHR(10).
-
- Totale[01] = Totale[01] + TWork.Menge.
- Totale[02] = Totale[02] + TWork.Liter.
- Totale[03] = Totale[03] + TWork.LiKum.
- Totale[04] = Totale[04] + TWork.Betr.
- Totale[05] = Totale[05] + TWork.BeKum.
- Anzahl = Anzahl + 1.
- IF NOT LAST-OF ( TWork.Knr ) THEN NEXT.
- IF Anzahl > 1 THEN DO:
- PUT CONTROL '££££'.
- IF Totale[01] <> 0
- THEN PUT CONTROL TRIM(STRING(Totale[01] ,'->>>>>>>>>')).
- PUT CONTROL '£'.
- IF Totale[02] <> 0
- THEN PUT CONTROL TRIM(STRING(Totale[02] / 10000,'->>>>>>9.99')).
- PUT CONTROL '£'.
- IF Totale[03] <> 0
- THEN PUT CONTROL TRIM(STRING(Totale[03] / 10000,'->>>>>>9.99')).
- PUT CONTROL '£'.
- IF Totale[04] <> 0
- THEN PUT CONTROL TRIM(STRING(Totale[04] ,'->>>>>>9.99')).
- PUT CONTROL '£'.
- IF Totale[05] <> 0
- THEN PUT CONTROL TRIM(STRING(Totale[05] ,'->>>>>>9.99')).
- PUT CONTROL CHR(10).
- END.
- PUT CONTROL '£' CHR(10).
- GTotale[01] = GTotale[01] + Totale[01].
- GTotale[02] = GTotale[02] + Totale[02].
- GTotale[03] = GTotale[03] + Totale[03].
- GTotale[04] = GTotale[04] + Totale[04].
- GTotale[05] = GTotale[05] + Totale[05].
- END.
- PUT CONTROL '££££'.
- PUT CONTROL TRIM(STRING(GTotale[01] ,'->>>>>>>>>')) '£'
- TRIM(STRING(GTotale[02] / 10000,'->>>>>>9.99')) '£'
- TRIM(STRING(GTotale[03] / 10000,'->>>>>>9.99')) '£'
- TRIM(STRING(GTotale[04] ,'->>>>>>9.99')) '£'
- TRIM(STRING(GTotale[05] ,'->>>>>>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 = 'A6'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl, INPUT iHerst ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:ColumnWidth = 0.3.
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gCalanda
- 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 gCalanda
- 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
|