&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME D-Dialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog /*------------------------------------------------------------------------ File: Description: from cntnrdlg.w - ADM SmartDialog Template Input Parameters: Output Parameters: Author: Created: ------------------------------------------------------------------------*/ /* 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 QOpen AS LOG NO-UNDO. DEF VAR Vorhanden AS LOG NO-UNDO. DEF VAR XKnr AS INT NO-UNDO. DEF VAR XAufnr AS INT NO-UNDO. DEF VAR iSort AS INT NO-UNDO. DEF VAR VAdresse AS CHAR NO-UNDO. DEF VAR VFak_Art AS INT NO-UNDO. DEF VAR XFak_Art AS CHAR NO-UNDO. DEF VAR VAuf_Sta AS INT NO-UNDO. DEF VAR XAuf_Sta AS CHAR NO-UNDO. DEF VAR hQuery AS HANDLE NO-UNDO. DEF VAR cWhere AS CHAR NO-UNDO. DEF VAR hBuffer AS HANDLE NO-UNDO. DEF VAR EHandle AS HANDLE NO-UNDO. DEF VAR LHandle AS HANDLE NO-UNDO. DEF BUFFER BAufko FOR Aufko. /* ---------- 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 SmartDialog &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER DIALOG-BOX /* Name of first Frame and/or Browse and/or first Query */ &Scoped-define FRAME-NAME D-Dialog &Scoped-define BROWSE-NAME Br_Aufko /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES Aufko /* Definitions for BROWSE Br_Aufko */ &Scoped-define FIELDS-IN-QUERY-Br_Aufko Aufko.Aufnr Aufko.Knr ~ VAdresse @ VAdresse Aufko.Lief_Datum XFak_Art @ XFak_Art Aufko.Auf_Tot ~ XAuf_Sta @ XAuf_Sta Aufko.Faknr Aufko.Auf_Sta Aufko.Fak_Art &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Aufko &Scoped-define OPEN-QUERY-Br_Aufko OPEN QUERY Br_Aufko FOR EACH Aufko ~ WHERE Aufko.Firma = GVFirma NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_Aufko Aufko &Scoped-define FIRST-TABLE-IN-QUERY-Br_Aufko Aufko /* Definitions for DIALOG-BOX D-Dialog */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS F_Nummer Br_Aufko RS_Nummer Btn_OK ~ Btn_Cancel &Scoped-Define DISPLAYED-OBJECTS F_Nummer RS_Nummer /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _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 16.8 BY 1 BGCOLOR 8 . DEFINE BUTTON Btn_OK AUTO-GO LABEL "OK" SIZE 16.8 BY 1 BGCOLOR 8 . DEFINE VARIABLE F_Nummer AS INTEGER FORMAT "9999999":U INITIAL 0 LABEL "Fill 1" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE RS_Nummer AS INTEGER VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "Lieferscheinnummer", 1, "Kundennummer", 2 SIZE 25.6 BY 1.52 NO-UNDO. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_Aufko FOR Aufko FIELDS(Aufko.Aufnr Aufko.Knr Aufko.Lief_Datum Aufko.Auf_Tot Aufko.Faknr Aufko.Auf_Sta Aufko.Fak_Art) SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_Aufko &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Aufko D-Dialog _STRUCTURED QUERY Br_Aufko NO-LOCK DISPLAY Aufko.Aufnr FORMAT "9999999":U Aufko.Knr FORMAT "999999":U VAdresse @ VAdresse COLUMN-LABEL "Kunde" FORMAT "x(30)":U Aufko.Lief_Datum COLUMN-LABEL "Lief-Datum" FORMAT "99.99.9999":U XFak_Art @ XFak_Art COLUMN-LABEL "Dokumenart" FORMAT "x(12)":U Aufko.Auf_Tot COLUMN-LABEL "Betrag" FORMAT "zzz,zz9.99-":U XAuf_Sta @ XAuf_Sta COLUMN-LABEL "Auftr.-Status" FORMAT "x(12)":U Aufko.Faknr FORMAT "zzzzzz":U Aufko.Auf_Sta FORMAT "99":U WIDTH .2 Aufko.Fak_Art FORMAT "99":U WIDTH .2 /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 108 BY 16.67 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME D-Dialog F_Nummer AT ROW 1.52 COL 50.8 COLON-ALIGNED Br_Aufko AT ROW 3.86 COL 3 RS_Nummer AT ROW 1.52 COL 3 NO-LABEL Btn_OK AT ROW 1.52 COL 70.6 Btn_Cancel AT ROW 1.52 COL 93 SPACE(3.39) SKIP(18.47) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "Suchen nach Aufträgen" DEFAULT-BUTTON Btn_OK. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDialog Allow: Basic,Browse,DB-Fields,Query,Smart Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog /* ************************* 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 DIALOG-BOX D-Dialog Custom */ /* BROWSE-TAB Br_Aufko F_Nummer D-Dialog */ ASSIGN FRAME D-Dialog:SCROLLABLE = FALSE FRAME D-Dialog:HIDDEN = TRUE. ASSIGN Br_Aufko:MAX-DATA-GUESS IN FRAME D-Dialog = 25. ASSIGN Aufko.Auf_Sta:VISIBLE IN BROWSE Br_Aufko = FALSE Aufko.Fak_Art:VISIBLE IN BROWSE Br_Aufko = FALSE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Aufko /* Query rebuild information for BROWSE Br_Aufko _TblList = "AnaDat.Aufko" _Options = "NO-LOCK INDEXED-REPOSITION" _TblOptList = "USED" _Where[1] = "Aufko.Firma = GVFirma" _FldNameList[1] = AnaDat.Aufko.Aufnr _FldNameList[2] = AnaDat.Aufko.Knr _FldNameList[3] > "_" "VAdresse @ VAdresse" "Kunde" "x(30)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[4] > AnaDat.Aufko.Lief_Datum "Lief_Datum" "Lief-Datum" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[5] > "_" "XFak_Art @ XFak_Art" "Dokumenart" "x(12)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[6] > AnaDat.Aufko.Auf_Tot "Auf_Tot" "Betrag" "zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[7] > "_" "XAuf_Sta @ XAuf_Sta" "Auftr.-Status" "x(12)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[8] > AnaDat.Aufko.Faknr "Faknr" ? "zzzzzz" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[9] > AnaDat.Aufko.Auf_Sta "Auf_Sta" ? "99" "integer" ? ? ? ? ? ? no ? no no ".2" no no no "U" "" "" _FldNameList[10] > AnaDat.Aufko.Fak_Art "Fak_Art" ? ? "integer" ? ? ? ? ? ? no ? no no ".2" no no no "U" "" "" _Query is NOT OPENED */ /* BROWSE Br_Aufko */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog /* Query rebuild information for DIALOG-BOX D-Dialog _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX D-Dialog */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME D-Dialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog ON WINDOW-CLOSE OF FRAME D-Dialog /* Suchen nach Aufträgen */ DO: /* Add Trigger to equate WINDOW-CLOSE to END-ERROR. */ APPLY "END-ERROR":U TO SELF. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_Aufko &Scoped-define SELF-NAME Br_Aufko &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Aufko D-Dialog ON END-ERROR OF Br_Aufko IN FRAME D-Dialog DO: APPLY 'ENTRY' TO F_Nummer. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Aufko D-Dialog ON ROW-DISPLAY OF Br_Aufko IN FRAME D-Dialog DO: VAdresse = ''. XFak_Art = ''. XAuf_Sta = ''. IF NOT AVAILABLE Aufko THEN RETURN. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Aufko.Knr NO-LOCK NO-ERROR. IF AVAILABLE Adresse THEN VAdresse = Adresse.Anzeig_Br. FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = GVFirma AND Tabel.RecArt = 'FAKART' AND Tabel.CodeI = Aufko.Fak_Art AND Tabel.CodeC = '' AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR. IF AVAILABLE Tabel THEN XFak_Art = Tabel.Bez1. FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = GVFirma AND Tabel.RecArt = 'AUFSTATUS' AND Tabel.CodeI = Aufko.Auf_Sta AND Tabel.CodeC = '' AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR. IF AVAILABLE Tabel THEN XAuf_Sta = Tabel.Bez1. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_OK &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK D-Dialog ON CHOOSE OF Btn_OK IN FRAME D-Dialog /* OK */ DO: LVAufnr = Aufko.Aufnr. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Nummer &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Nummer D-Dialog ON LEAVE OF F_Nummer IN FRAME D-Dialog /* Fill 1 */ DO: DO WITH FRAME {&FRAME-NAME}: EHandle = LAST-EVENT:WIDGET-ENTER. IF VALID-HANDLE(EHandle) THEN DO: IF EHandle:TYPE = 'RADIO-SET' AND EHandle:NAME = 'RS_Nummer' THEN DO: RETURN. END. END. ASSIGN F_Nummer. ASSIGN RS_Nummer. iSort = RS_Nummer. RUN OPEN_AUFKO. F_Nummer = 0. DISPLAY F_Nummer. IF QUERY Br_Aufko:NUM-RESULTS = ? OR QUERY Br_Aufko:NUM-RESULTS = 0 THEN APPLY 'ENTRY' TO F_Nummer. ELSE APPLY 'ENTRY' TO BROWSE Br_Aufko. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Nummer D-Dialog ON RETURN OF F_Nummer IN FRAME D-Dialog /* Fill 1 */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RS_Nummer &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RS_Nummer D-Dialog ON VALUE-CHANGED OF RS_Nummer IN FRAME D-Dialog DO: DO WITH FRAME {&FRAME-NAME}: ASSIGN RS_Nummer. iSort = RS_Nummer. DISPLAY RS_Nummer. F_Nummer = 0. DISPLAY F_Nummer. IF iSort = 1 THEN F_Nummer:LABEL = 'Lieferscheinnummer'. IF iSort = 2 THEN F_Nummer:LABEL = 'Kundennummer'. APPLY 'ENTRY' TO F_Nummer. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog /* *************************** Main Block *************************** */ QOpen = FALSE. XKnr = 0. XAufnr = 0. iSort = 1. VFak_Art = 0. XFak_Art = ''. VAuf_Sta = 0. XAuf_Sta = ''. LVAufnr = 0. F_Nummer = 0. F_Nummer:LABEL = 'Lieferscheinnummer'. {src/adm/template/dialogmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _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: ------------------------------------------------------------------------------*/ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _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 D-Dialog _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. ------------------------------------------------------------------------------*/ /* Hide all frames. */ HIDE FRAME D-Dialog. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _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. ------------------------------------------------------------------------------*/ DISPLAY F_Nummer RS_Nummer WITH FRAME D-Dialog. ENABLE F_Nummer Br_Aufko RS_Nummer Btn_OK Btn_Cancel WITH FRAME D-Dialog. VIEW FRAME D-Dialog. {&OPEN-BROWSERS-IN-QUERY-D-Dialog} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view D-Dialog PROCEDURE local-view : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) . APPLY 'ENTRY' TO F_Nummer IN FRAME {&FRAME-NAME}. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_AUFKO D-Dialog PROCEDURE OPEN_AUFKO : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ IF QOpen THEN CLOSE QUERY Br_Aufko. QOpen = FALSE. Vorhanden = FALSE. hQuery = BROWSE Br_Aufko:QUERY. hBuffer = BUFFER Aufko:HANDLE. cWhere = 'FOR EACH Aufko NO-LOCK '. cWhere = cWhere + IF iSort = 1 THEN 'USE-INDEX Aufko-k1 ' ELSE 'USE-INDEX Aufko-k2 '. cWhere = cWhere + 'WHERE Firma = "' + GVFirma + '" '. cWhere = cWhere + IF iSort = 1 THEN 'AND Aufnr = ' ELSE 'AND Knr = '. cWhere = cWhere + STRING(F_Nummer). hQuery:QUERY-PREPARE(cWhere). hQuery:CACHE = 25. BROWSE Br_Aufko:QUERY = hQuery. QUERY Br_Aufko:QUERY-OPEN(). QOpen = TRUE. RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS PROCEDURE send-records : /*------------------------------------------------------------------------------ Purpose: Send record ROWID's for all tables used by this file. Parameters: see template/snd-head.i ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/snd-head.i} /* For each requested table, put it's ROWID in the output list. */ {src/adm/template/snd-list.i "Aufko"} /* Deal with any unexpected table requests before closing. */ {src/adm/template/snd-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog 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. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME