&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME /* Connected Databases */ &Scoped-define WINDOW-NAME W-Win &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS W-Win /*------------------------------------------------------------------------ File: Description: from cntnrwin.w - ADM SmartWindow Template Input Parameters: Output Parameters: History: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress UIB. */ /*----------------------------------------------------------------------*/ /* 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 Aktive AS LOG NO-UNDO. DEF VAR ASeite AS INT NO-UNDO. DEF VAR PSeite AS INT NO-UNDO. DEF VAR SSeite AS INT NO-UNDO. DEF VAR VUpdate AS LOG NO-UNDO. /* ---------- Globale Variablen ---------------------------------- */ { v8/globvar.i" " " " "SHARED" } { v8/debivar.i " " " " "SHARED" } { v8/artivar.i " " " " "SHARED" } { v8/contvar.i " " " " "SHARED" } /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartWindow &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER WINDOW /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME F-Main /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS Btn_Prev Btn_Next /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define the widget handle for the window */ DEFINE VAR W-Win AS WIDGET-HANDLE NO-UNDO. /* Definitions of handles for SmartObjects */ DEFINE VARIABLE h_b-artikelsuche AS HANDLE NO-UNDO. DEFINE VARIABLE h_b-kundensuche AS HANDLE NO-UNDO. DEFINE VARIABLE h_f-abfuellen AS HANDLE NO-UNDO. DEFINE VARIABLE h_f-inventar AS HANDLE NO-UNDO. DEFINE VARIABLE h_f-lager-eing AS HANDLE NO-UNDO. DEFINE VARIABLE h_folder AS HANDLE NO-UNDO. /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Next IMAGE-UP FILE "Grafik\nextkartei":U LABEL "&+" SIZE 5.6 BY 1.05. DEFINE BUTTON Btn_Prev IMAGE-UP FILE "Grafik\prevkartei":U LABEL "&-" SIZE 5.6 BY 1.05. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main Btn_Prev AT ROW 2.43 COL 125.8 Btn_Next AT ROW 2.43 COL 131.4 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 157.79 BY 25.1. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartWindow Allow: Basic,Browse,DB-Fields,Query,Smart,Window Design Page: 1 Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW IF SESSION:DISPLAY-TYPE = "GUI":U THEN CREATE WINDOW W-Win ASSIGN HIDDEN = YES TITLE = "Lagerverwaltung" HEIGHT = 25.24 WIDTH = 138 MAX-HEIGHT = 46.52 MAX-WIDTH = 256 VIRTUAL-HEIGHT = 46.52 VIRTUAL-WIDTH = 256 RESIZE = no SCROLL-BARS = no STATUS-AREA = yes BGCOLOR = ? FGCOLOR = ? PRIVATE-DATA = "LAGER" THREE-D = yes MESSAGE-AREA = no SENSITIVE = yes. ELSE {&WINDOW-NAME} = CURRENT-WINDOW. /* END WINDOW DEFINITION */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB W-Win /* ************************* Included-Libraries *********************** */ {src/adm/method/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW W-Win VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main FRAME-NAME */ IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(W-Win) THEN W-Win:HIDDEN = yes. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME W-Win &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL W-Win W-Win ON END-ERROR OF W-Win /* Lagerverwaltung */ OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO: RUN WINDOWCLOSE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL W-Win W-Win ON ENTRY OF W-Win /* Lagerverwaltung */ DO: Aktive = TRUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL W-Win W-Win ON LEAVE OF W-Win /* Lagerverwaltung */ DO: Aktive = FALSE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL W-Win W-Win ON WINDOW-CLOSE OF W-Win /* Lagerverwaltung */ DO: RUN WINDOWCLOSE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Next &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Next W-Win ON CHOOSE OF Btn_Next IN FRAME F-Main /* + */ DO: IF VUpdate THEN RETURN NO-APPLY. IF NOT Aktive THEN RETURN NO-APPLY. RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'Next_Page':U ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Prev &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Prev W-Win ON CHOOSE OF Btn_Prev IN FRAME F-Main /* - */ DO: IF VUpdate THEN RETURN NO-APPLY. IF NOT Aktive THEN RETURN NO-APPLY. RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'Prev_Page':U ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK W-Win /* *************************** Main Block *************************** */ /* Include custom Main Block code for SmartWindows. */ {src/adm/template/windowmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects W-Win _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: ------------------------------------------------------------------------------*/ DEFINE VARIABLE adm-current-page AS INTEGER NO-UNDO. RUN get-attribute IN THIS-PROCEDURE ('Current-Page':U). ASSIGN adm-current-page = INTEGER(RETURN-VALUE). CASE adm-current-page: WHEN 0 THEN DO: RUN init-object IN THIS-PROCEDURE ( INPUT 'src_dlcv91c/template/folder.w':U , INPUT FRAME F-Main:HANDLE , INPUT 'FOLDER-LABELS = ':U + 'Inventar|Korrekturen|Abfüllen' + ', FOLDER-TAB-TYPE = 1':U , OUTPUT h_folder ). RUN set-position IN h_folder ( 1.00 , 1.00 ) NO-ERROR. RUN set-size IN h_folder ( 25.05 , 137.60 ) NO-ERROR. /* Links to SmartFolder h_folder. */ RUN add-link IN adm-broker-hdl ( h_folder , 'Page':U , THIS-PROCEDURE ). /* Adjust the tab order of the smart objects. */ RUN adjust-tab-order IN adm-broker-hdl ( h_folder , Btn_Prev:HANDLE IN FRAME F-Main , 'BEFORE':U ). END. /* Page 0 */ WHEN 1 THEN DO: RUN init-object IN THIS-PROCEDURE ( INPUT 'v8/f-inventar.w':U , INPUT FRAME F-Main:HANDLE , INPUT 'Layout = ':U , OUTPUT h_f-inventar ). RUN set-position IN h_f-inventar ( 4.86 , 5.00 ) NO-ERROR. /* Size in UIB: ( 20.00 , 127.00 ) */ /* Links to SmartFrame h_f-inventar. */ RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-inventar ). /* Adjust the tab order of the smart objects. */ RUN adjust-tab-order IN adm-broker-hdl ( h_f-inventar , Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ). END. /* Page 1 */ WHEN 2 THEN DO: RUN init-object IN THIS-PROCEDURE ( INPUT 'v8/f-lager-eing.w':U , INPUT FRAME F-Main:HANDLE , INPUT 'Layout = ':U , OUTPUT h_f-lager-eing ). RUN set-position IN h_f-lager-eing ( 3.76 , 3.60 ) NO-ERROR. /* Size in UIB: ( 21.81 , 134.80 ) */ /* Links to SmartFrame h_f-lager-eing. */ RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-lager-eing ). RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'State':U , h_f-lager-eing ). /* Adjust the tab order of the smart objects. */ RUN adjust-tab-order IN adm-broker-hdl ( h_f-lager-eing , Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ). END. /* Page 2 */ WHEN 3 THEN DO: RUN init-object IN THIS-PROCEDURE ( INPUT 'v8/f-abfuellen.w':U , INPUT FRAME F-Main:HANDLE , INPUT 'Layout = ':U , OUTPUT h_f-abfuellen ). RUN set-position IN h_f-abfuellen ( 3.67 , 4.60 ) NO-ERROR. /* Size in UIB: ( 21.52 , 121.20 ) */ /* Adjust the tab order of the smart objects. */ RUN adjust-tab-order IN adm-broker-hdl ( h_f-abfuellen , Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ). END. /* Page 3 */ WHEN 10 THEN DO: RUN init-object IN THIS-PROCEDURE ( INPUT 'v8/b-kundensuche.w':U , INPUT FRAME F-Main:HANDLE , INPUT 'Layout = ':U , OUTPUT h_b-kundensuche ). RUN set-position IN h_b-kundensuche ( 7.86 , 6.60 ) NO-ERROR. RUN set-size IN h_b-kundensuche ( 9.05 , 122.00 ) NO-ERROR. /* Links to SmartBrowser h_b-kundensuche. */ RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_b-kundensuche ). /* Adjust the tab order of the smart objects. */ RUN adjust-tab-order IN adm-broker-hdl ( h_b-kundensuche , Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ). END. /* Page 10 */ WHEN 11 THEN DO: RUN init-object IN THIS-PROCEDURE ( INPUT 'v8/b-artikelsuche.w':U , INPUT FRAME F-Main:HANDLE , INPUT 'Layout = ':U , OUTPUT h_b-artikelsuche ). RUN set-position IN h_b-artikelsuche ( 6.52 , 3.00 ) NO-ERROR. RUN set-size IN h_b-artikelsuche ( 7.62 , 126.00 ) NO-ERROR. /* Links to SmartBrowser h_b-artikelsuche. */ RUN add-link IN adm-broker-hdl ( h_b-artikelsuche , 'State':U , THIS-PROCEDURE ). /* Adjust the tab order of the smart objects. */ RUN adjust-tab-order IN adm-broker-hdl ( h_b-artikelsuche , Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ). END. /* Page 11 */ END CASE. /* Select a Startup page. */ IF adm-current-page eq 0 THEN RUN select-page IN THIS-PROCEDURE ( 1 ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available W-Win _ADM-ROW-AVAILABLE PROCEDURE adm-row-available : /*------------------------------------------------------------------------------ Purpose: Dispatched to this procedure when the Record- Source has a new row available. This procedure tries to get the new row (or foriegn keys) from the Record-Source and process it. Parameters: ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/row-head.i} /* Process the newly available records (i.e. display fields, open queries, and/or pass records on to any RECORD-TARGETS). */ {src/adm/template/row-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI W-Win _DEFAULT-DISABLE PROCEDURE disable_UI : /*------------------------------------------------------------------------------ Purpose: DISABLE the User Interface Parameters: 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. ------------------------------------------------------------------------------*/ /* Delete the WINDOW we created */ IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(W-Win) THEN DELETE WIDGET W-Win. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI W-Win _DEFAULT-ENABLE PROCEDURE enable_UI : /*------------------------------------------------------------------------------ Purpose: ENABLE the User Interface Parameters: 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. ------------------------------------------------------------------------------*/ ENABLE Btn_Prev Btn_Next WITH FRAME F-Main IN WINDOW W-Win. {&OPEN-BROWSERS-IN-QUERY-F-Main} VIEW W-Win. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject W-Win PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ RUN adm-initialize. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-exit W-Win PROCEDURE local-exit : /* ----------------------------------------------------------- Purpose: Starts an "exit" by APPLYing CLOSE event, which starts "destroy". Parameters: Notes: If activated, should APPLY CLOSE, *not* dispatch adm-exit. -------------------------------------------------------------*/ APPLY "CLOSE":U TO THIS-PROCEDURE. RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view W-Win PROCEDURE local-view : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) . Aktive = TRUE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records W-Win _ADM-SEND-RECORDS PROCEDURE send-records : /*------------------------------------------------------------------------------ Purpose: Send record ROWID's for all tables used by this file. Parameters: see template/snd-head.i ------------------------------------------------------------------------------*/ /* SEND-RECORDS does nothing because there are no External Tables specified for this SmartWindow, and there are no tables specified in any contained Browse, Query, or Frame. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed W-Win PROCEDURE state-changed : /* ----------------------------------------------------------- Purpose: Parameters: Notes: -------------------------------------------------------------*/ DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO. DEF VAR MaxPages AS INT INIT 3 NO-UNDO. CASE p-state: WHEN 'Gebinde' THEN DO: RUN get-attribute ('current-page':U). SSeite = INTEGER(RETURN-VALUE). RUN select-page ( 9 ). RUN view-page ( 9 ). RETURN NO-APPLY. END. WHEN 'Next_Page' THEN DO: IF NOT Aktive THEN RETURN NO-APPLY. RUN get-attribute ('current-page':U). ASeite = INTEGER(RETURN-VALUE) + 1. IF ASeite > MaxPages THEN ASeite = 1. RUN select-page(ASeite). RUN view-page (ASeite). RETURN NO-APPLY. END. WHEN 'Prev_Page' THEN DO: IF NOT Aktive THEN RETURN NO-APPLY. RUN get-attribute ('current-page':U). ASeite = INTEGER(RETURN-VALUE) - 1. IF ASeite < 1 THEN ASeite = MaxPages. RUN select-page(ASeite). RUN view-page (ASeite). RETURN NO-APPLY. END. WHEN 'Vorherige_Seite' THEN DO: RUN select-page ( PSeite ). RUN view-page ( PSeite ). RETURN NO-APPLY. END. WHEN 'kundensuche' THEN DO: RUN get-attribute ('current-page':U). SSeite = INTEGER(RETURN-VALUE). RUN select-page ( 10 ). RUN view-page ( 10 ). RUN SUCHEN IN h_b-kundensuche. END. WHEN 'kunde_ok' THEN DO: RUN select-page ( SSeite ). RUN view-page ( SSeite ). IF SSeite = 1 THEN RUN GEFUNDEN_KUNDE IN h_f-inventar. IF SSeite = 2 THEN RUN GEFUNDEN_KUNDE IN h_f-lager-eing. IF SSeite = 3 THEN RUN GEFUNDEN_KUNDE IN h_f-abfuellen. END. WHEN 'kunde_nok' THEN DO: RUN select-page ( SSeite ). RUN view-page ( SSeite ). IF SSeite = 1 THEN RUN NICHT_GEFUNDEN_KUNDE IN h_f-inventar. IF SSeite = 2 THEN RUN NICHT_GEFUNDEN_KUNDE IN h_f-lager-eing. IF SSeite = 3 THEN RUN NICHT_GEFUNDEN_KUNDE IN h_f-abfuellen. END. WHEN 'artikelsuche' THEN DO: RUN get-attribute ('current-page':U). SSeite = INTEGER(RETURN-VALUE). RUN select-page ( 11 ). RUN view-page ( 11 ). RUN SUCHEN IN h_b-artikelsuche. END. WHEN 'artikel_ok' THEN DO: RUN select-page ( SSeite ). RUN view-page ( SSeite ). IF SSeite = 1 THEN RUN GEFUNDEN_ARTIKEL IN h_f-inventar. IF SSeite = 2 THEN RUN GEFUNDEN_ARTIKEL IN h_f-lager-eing. IF SSeite = 3 THEN RUN GEFUNDEN_ARTIKEL IN h_f-abfuellen. END. WHEN 'artikel_nok' THEN DO: RUN select-page ( SSeite ). RUN view-page ( SSeite ). IF SSeite = 1 THEN RUN NICHT_GEFUNDEN_ARTIKEL IN h_f-inventar. IF SSeite = 2 THEN RUN NICHT_GEFUNDEN_ARTIKEL IN h_f-lager-eing. IF SSeite = 3 THEN RUN NICHT_GEFUNDEN_ARTIKEL IN h_f-abfuellen. END. WHEN 'ENDE' THEN DO: RUN WINDOWCLOSE. RETURN NO-APPLY. END. END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WINDOWCLOSE W-Win PROCEDURE WINDOWCLOSE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR AktSeite AS INT NO-UNDO. RUN get-attribute ('current-page':U). AktSeite = INTEGER(RETURN-VALUE). IF AktSeite <> 1 THEN DO: RUN select-page(1). RUN view-page (1). RETURN NO-APPLY. END. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ). APPLY "CLOSE":U TO THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME