&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME gSuchenAuftrag {adecomm/appserv.i} /* Temp-Table and Buffer definitions */ DEFINE TEMP-TABLE tSavKo NO-UNDO LIKE SavKo FIELD cRowId AS CHAR FIELD iRecid AS RECID FIELD cKunde AS CHAR FIELD cDokument AS CHAR FIELD cStatus AS CHAR FIELD iZeile AS INT FIELD iArt AS INT. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gSuchenAuftrag /*------------------------------------------------------------------------ File: Description: from cntnrdlg.w - ADM2 SmartDialog Template Input Parameters: Output Parameters: 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 --- */ DEF OUTPUT PARAMETER opiRecid AS RECID NO-UNDO. DEF OUTPUT PARAMETER opiArt AS INT NO-UNDO. /* Local Variable Definitions --- */ DEF VAR hQuery AS HANDLE NO-UNDO. DEF VAR cWhere AS CHAR NO-UNDO. DEF VAR lEndError AS LOG INIT FALSE NO-UNDO. { incl/dlgdefinition.i } { src/adm2/widgetprto.i } /* _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 gSuchenAuftrag &Scoped-define BROWSE-NAME Br_SavkoSuchen /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES tSavko /* Definitions for BROWSE Br_SavkoSuchen */ &Scoped-define FIELDS-IN-QUERY-Br_SavkoSuchen tSavko.Faknr tSavko.Knr ~ cKunde @ cKunde tSavko.Fak_Datum cDokument @ cDokument tSavko.Auf_Tot ~ cStatus @ cStatus tSavko.Aufnr &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_SavkoSuchen &Scoped-define QUERY-STRING-Br_SavkoSuchen FOR EACH tSavko NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-Br_SavkoSuchen OPEN QUERY Br_SavkoSuchen FOR EACH tSavko NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_SavkoSuchen tSavko &Scoped-define FIRST-TABLE-IN-QUERY-Br_SavkoSuchen tSavko /* Definitions for DIALOG-BOX gSuchenAuftrag */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-2 F_Nummer Br_SavkoSuchen Btn_OK ~ Btn_Cancel &Scoped-Define DISPLAYED-OBJECTS F_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 LABEL "abbrechen" SIZE 15 BY 1. DEFINE BUTTON Btn_OK AUTO-GO LABEL "OK" SIZE 15 BY 1. DEFINE VARIABLE F_Nummer AS INTEGER FORMAT "z,zzz,zz9":U INITIAL 0 LABEL "Nummer (LS/Knr/Faknr)" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-2 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 172 BY 12.86. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_SavkoSuchen FOR tSavko SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_SavkoSuchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_SavkoSuchen gSuchenAuftrag _STRUCTURED QUERY Br_SavkoSuchen NO-LOCK DISPLAY tSavko.Faknr FORMAT "9999999":U WIDTH 10 tSavko.Knr FORMAT "999999":U WIDTH 9 cKunde @ cKunde COLUMN-LABEL "Kunde" FORMAT "x(50)":U WIDTH 57.4 tSavko.Fak_Datum COLUMN-LABEL "Fak. Datum" FORMAT "99.99.9999":U cDokument @ cDokument COLUMN-LABEL "Dokument" FORMAT "x(20)":U WIDTH 23.6 tSavko.Auf_Tot COLUMN-LABEL "Betrag" FORMAT "zzz,zzz,zz9.99-":U WIDTH 13.6 cStatus @ cStatus COLUMN-LABEL "Status" FORMAT "x(20)":U WIDTH 13.6 tSavko.Aufnr FORMAT "9999999":U WIDTH 10 /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 168 BY 11.91 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME gSuchenAuftrag F_Nummer AT ROW 1.52 COL 27.4 COLON-ALIGNED WIDGET-ID 4 Br_SavkoSuchen AT ROW 3.38 COL 5 WIDGET-ID 200 Btn_OK AT ROW 16.52 COL 69.4 Btn_Cancel AT ROW 16.52 COL 90.6 RECT-2 AT ROW 2.91 COL 3 WIDGET-ID 2 SPACE(4.19) SKIP(2.89) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "nach verbuchten Aufträgen suchen" WIDGET-ID 100. /* *********************** 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 APPSERVER Temp-Tables and Buffers: TABLE: tSavKo T "?" NO-UNDO AnaDat SavKo ADDITIONAL-FIELDS: FIELD cRowId AS CHAR FIELD iRecid AS RECID FIELD cKunde AS CHAR FIELD cDokument AS CHAR FIELD cStatus AS CHAR FIELD iZeile AS INT FIELD iArt AS INT END-FIELDS. END-TABLES. */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gSuchenAuftrag /* ************************* 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 gSuchenAuftrag FRAME-NAME */ /* BROWSE-TAB Br_SavkoSuchen F_Nummer gSuchenAuftrag */ ASSIGN FRAME gSuchenAuftrag:SCROLLABLE = FALSE FRAME gSuchenAuftrag:HIDDEN = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_SavkoSuchen /* Query rebuild information for BROWSE Br_SavkoSuchen _TblList = "Temp-Tables.tSavko" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > Temp-Tables.tSavko.Faknr "Faknr" ? ? "integer" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > Temp-Tables.tSavko.Knr "Knr" ? ? "integer" ? ? ? ? ? ? no ? no no "9" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > "_" "cKunde @ cKunde" "Kunde" "x(50)" ? ? ? ? ? ? ? no ? no no "57.4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[4] > Temp-Tables.tSavko.Fak_Datum "Fak_Datum" "Fak. Datum" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[5] > "_" "cDokument @ cDokument" "Dokument" "x(20)" ? ? ? ? ? ? ? no ? no no "23.6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[6] > Temp-Tables.tSavko.Auf_Tot "Auf_Tot" "Betrag" ? "decimal" ? ? ? ? ? ? no ? no no "13.6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[7] > "_" "cStatus @ cStatus" "Status" "x(20)" ? ? ? ? ? ? ? no ? no no "13.6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[8] > Temp-Tables.tSavko.Aufnr "Aufnr" ? ? "integer" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE Br_SavkoSuchen */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gSuchenAuftrag /* Query rebuild information for DIALOG-BOX gSuchenAuftrag _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX gSuchenAuftrag */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME gSuchenAuftrag &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSuchenAuftrag gSuchenAuftrag ON END-ERROR OF FRAME gSuchenAuftrag /* nach verbuchten Aufträgen suchen */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSuchenAuftrag gSuchenAuftrag ON WINDOW-CLOSE OF FRAME gSuchenAuftrag /* nach verbuchten Aufträgen suchen */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_SavkoSuchen &Scoped-define SELF-NAME Br_SavkoSuchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_SavkoSuchen gSuchenAuftrag ON END-ERROR OF Br_SavkoSuchen IN FRAME gSuchenAuftrag DO: APPLY 'ENTRY' TO F_Nummer. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_SavkoSuchen gSuchenAuftrag ON ENDKEY OF Br_SavkoSuchen IN FRAME gSuchenAuftrag DO: APPLY 'ENTRY' TO F_Nummer. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_SavkoSuchen gSuchenAuftrag ON RETURN OF Br_SavkoSuchen IN FRAME gSuchenAuftrag DO: btnOK = TRUE. 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 gSuchenAuftrag ON CHOOSE OF Btn_Cancel IN FRAME gSuchenAuftrag /* abbrechen */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_OK &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gSuchenAuftrag ON CHOOSE OF Btn_OK IN FRAME gSuchenAuftrag /* OK */ DO: btnOK = TRUE. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Nummer &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Nummer gSuchenAuftrag ON END-ERROR OF F_Nummer IN FRAME gSuchenAuftrag /* Nummer (LS/Knr/Faknr) */ DO: lEndError = TRUE. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Nummer gSuchenAuftrag ON LEAVE OF F_Nummer IN FRAME gSuchenAuftrag /* Nummer (LS/Knr/Faknr) */ DO: IF lEndError THEN RETURN. RUN SUCHEN_AUFTRAG ( INTEGER(SELF:SCREEN-VALUE) ). APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Nummer gSuchenAuftrag ON RETURN OF F_Nummer IN FRAME gSuchenAuftrag /* Nummer (LS/Knr/Faknr) */ DO: APPLY 'LEAVE' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gSuchenAuftrag /* *************************** Main Block *************************** */ { incl/dlgmainblock.i } {src/adm2/dialogmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gSuchenAuftrag _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 disable_UI gSuchenAuftrag _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 gSuchenAuftrag. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gSuchenAuftrag PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/dlgenableobject.i } hQuery = BROWSE {&BROWSE-NAME}:QUERY. opiRecid = ?. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gSuchenAuftrag _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 WITH FRAME gSuchenAuftrag. ENABLE RECT-2 F_Nummer Br_SavkoSuchen Btn_OK Btn_Cancel WITH FRAME gSuchenAuftrag. VIEW FRAME gSuchenAuftrag. {&OPEN-BROWSERS-IN-QUERY-gSuchenAuftrag} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gSuchenAuftrag PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ IF btnOK THEN DO: IF hQuery:NUM-RESULTS <> ? AND hQuery:NUM-RESULTS <> 0 THEN DO: BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). opiRecid = tSavko.iRecid. opiArt = tSavko.iArt. END. END. { incl/dlgende.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUCHEN_AUFTRAG gSuchenAuftrag PROCEDURE SUCHEN_AUFTRAG : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipNummer AS INT NO-UNDO. DEF VAR iZeile AS INT NO-UNDO. DEF BUFFER bSavko FOR Savko. EMPTY TEMP-TABLE tSavko. iZeile = 0. FOR EACH bSavko NO-LOCK WHERE bSavko.Firma = Firma AND bSavko.Faknr = ipNummer: iZeile = iZeile + 1. CREATE tSavko. BUFFER-COPY bSavko TO tSavko ASSIGN tSavko.cRowId = STRING(ROWID(bSavko)) tSavko.iRecid = RECID(bSavko) tSavko.iZeile = iZeile tSavko.iArt = 1. FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = bSavko.Knr NO-ERROR. IF AVAILABLE Adresse THEN tSavko.cKunde = Adresse.Anzeig_Br. tSavko.cStatus = DYNAMIC-FUNCTION('getAufstatus':U, bSavko.Auf_Sta) NO-ERROR. tSavko.cDokument = DYNAMIC-FUNCTION('getFakart':U , bSavko.Fak_Art) NO-ERROR. END. FOR EACH bSavko NO-LOCK WHERE bSavko.Firma = Firma AND bSavko.Knr = ipNummer: iZeile = iZeile + 1. CREATE tSavko. BUFFER-COPY bSavko TO tSavko ASSIGN tSavko.cRowId = STRING(ROWID(bSavko)) tSavko.iRecid = RECID(bSavko) tSavko.iZeile = iZeile tSavko.iArt = 2. FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = bSavko.Knr NO-ERROR. IF AVAILABLE Adresse THEN tSavko.cKunde = Adresse.Anzeig_Br. tSavko.cStatus = DYNAMIC-FUNCTION('getAufstatus':U, bSavko.Auf_Sta) NO-ERROR. tSavko.cDokument = DYNAMIC-FUNCTION('getFakart':U , bSavko.Fak_Art) NO-ERROR. END. FOR EACH bSavko NO-LOCK WHERE bSavko.Firma = Firma AND bSavko.Aufnr = ipNummer: iZeile = iZeile + 1. CREATE tSavko. BUFFER-COPY bSavko TO tSavko ASSIGN tSavko.cRowId = STRING(ROWID(bSavko)) tSavko.iRecid = RECID(bSavko) tSavko.iZeile = iZeile tSavko.iArt = 3. FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = bSavko.Knr NO-ERROR. IF AVAILABLE Adresse THEN tSavko.cKunde = Adresse.Anzeig_Br. tSavko.cStatus = DYNAMIC-FUNCTION('getAufstatus':U, bSavko.Auf_Sta) NO-ERROR. tSavko.cDokument = DYNAMIC-FUNCTION('getFakart':U , bSavko.Fak_Art) NO-ERROR. END. cWhere = 'FOR EACH tSavko NO-LOCK BY tSavko.iZeile '. hQuery:QUERY-PREPARE(cWhere). hQuery:QUERY-OPEN(). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME