&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME gArtikelauswahl &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gArtikelauswahl /*------------------------------------------------------------------------ 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 INPUT PARAMETER ipStart AS CHAR NO-UNDO. DEF OUTPUT PARAMETER opArtikel AS CHAR NO-UNDO. /* 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 INIT ''. DEF VAR VSort AS INT NO-UNDO INIT 1. DEF VAR Artnr AS INT NO-UNDO INIT 1. DEF VAR Inhalt AS CHAR NO-UNDO INIT ''. DEF VAR MinNr AS INT NO-UNDO. DEF VAR FwSprcd AS INT NO-UNDO. /* _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 first Frame and/or Browse and/or first Query */ &Scoped-define FRAME-NAME gArtikelauswahl &Scoped-define BROWSE-NAME Br_artikel /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES Artst Artbez /* Definitions for BROWSE Br_artikel */ &Scoped-define FIELDS-IN-QUERY-Br_artikel Artst.Artnr Artst.Inhalt ~ Artst.Jahr Artst.Suchbe Artbez.Bez1 Artbez.Bez2 Artst.Alk_Gehalt ~ Artst.Bestand &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_artikel &Scoped-define OPEN-QUERY-Br_artikel OPEN QUERY Br_artikel FOR EACH Artst NO-LOCK, ~ EACH Artbez OF Artst NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_artikel Artst Artbez &Scoped-define FIRST-TABLE-IN-QUERY-Br_artikel Artst &Scoped-define SECOND-TABLE-IN-QUERY-Br_artikel Artbez /* Definitions for DIALOG-BOX gArtikelauswahl */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS Br_artikel F_Artnr F_Suchbe F_Bez RECT-38 &Scoped-Define DISPLAYED-OBJECTS F_Artnr F_Suchbe F_Bez /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 F_Artnr F_Suchbe F_Bez /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define a dialog box */ /* Definitions of the field level widgets */ DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0 LABEL "Artnr" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bez AS CHARACTER FORMAT "X(256)":U LABEL "Bezeichnung" VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(256)":U LABEL "Suchbegriff" VIEW-AS FILL-IN NATIVE SIZE 20 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-38 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 122 BY 19.52. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_artikel FOR Artst, Artbez SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_artikel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_artikel gArtikelauswahl _STRUCTURED QUERY Br_artikel NO-LOCK DISPLAY Artst.Artnr FORMAT "999999":U WIDTH 8 Artst.Inhalt FORMAT "9999":U WIDTH 6 Artst.Jahr FORMAT "9999":U WIDTH 5 Artst.Suchbe FORMAT "x(20)":U WIDTH 17 Artbez.Bez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U Artbez.Bez2 COLUMN-LABEL "Zusatzbezeichnung" FORMAT "x(30)":U Artst.Alk_Gehalt COLUMN-LABEL "Alk%" FORMAT "zz9.9":U Artst.Bestand FORMAT "zzz,zz9-":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 120 BY 16.43 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME gArtikelauswahl Br_artikel AT ROW 4.1 COL 3 F_Artnr AT ROW 1.52 COL 18 COLON-ALIGNED AUTO-RETURN F_Suchbe AT ROW 2.52 COL 18 COLON-ALIGNED AUTO-RETURN F_Bez AT ROW 2.52 COL 53 COLON-ALIGNED AUTO-RETURN RECT-38 AT ROW 1.24 COL 2 SPACE(0.99) SKIP(0.23) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "Artikelauswahl". /* *********************** 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 gArtikelauswahl /* ************************* 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 gArtikelauswahl Custom */ /* BROWSE-TAB Br_artikel 1 gArtikelauswahl */ ASSIGN FRAME gArtikelauswahl:SCROLLABLE = FALSE FRAME gArtikelauswahl:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME gArtikelauswahl 6 */ /* SETTINGS FOR FILL-IN F_Bez IN FRAME gArtikelauswahl 6 */ /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME gArtikelauswahl 6 */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_artikel /* Query rebuild information for BROWSE Br_artikel _TblList = "AnaDat.Artst,AnaDat.Artbez OF AnaDat.Artst" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > AnaDat.Artst.Artnr "Artst.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" _FldNameList[2] > AnaDat.Artst.Inhalt "Artst.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" "" _FldNameList[3] > AnaDat.Artst.Jahr "Artst.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "5" yes no no "U" "" "" _FldNameList[4] > AnaDat.Artst.Suchbe "Artst.Suchbe" ? "x(20)" "character" ? ? ? ? ? ? no ? no no "17" yes no no "U" "" "" _FldNameList[5] > AnaDat.Artbez.Bez1 "Artbez.Bez1" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[6] > AnaDat.Artbez.Bez2 "Artbez.Bez2" "Zusatzbezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[7] > AnaDat.Artst.Alk_Gehalt "Artst.Alk_Gehalt" "Alk%" "zz9.9" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[8] > AnaDat.Artst.Bestand "Artst.Bestand" ? "zzz,zz9-" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _Query is NOT OPENED */ /* BROWSE Br_artikel */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gArtikelauswahl /* Query rebuild information for DIALOG-BOX gArtikelauswahl _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX gArtikelauswahl */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME gArtikelauswahl &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelauswahl gArtikelauswahl ON END-ERROR OF FRAME gArtikelauswahl /* Artikelauswahl */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelauswahl gArtikelauswahl ON GO OF FRAME gArtikelauswahl /* Artikelauswahl */ DO: RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelauswahl gArtikelauswahl ON WINDOW-CLOSE OF FRAME gArtikelauswahl /* Artikelauswahl */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_artikel &Scoped-define SELF-NAME Br_artikel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gArtikelauswahl ON END-ERROR OF Br_artikel IN FRAME gArtikelauswahl DO: IF VSort = 1 THEN APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}. IF VSort = 2 THEN APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}. IF VSort = 3 THEN APPLY 'ENTRY' TO F_Bez IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gArtikelauswahl ON RETURN OF Br_artikel IN FRAME gArtikelauswahl DO: DO WITH FRAME {&FRAME-NAME}: IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY. IF {&BROWSE-NAME}:NUM-SELECTED-ROWS = 0 THEN RETURN NO-APPLY. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). opArtikel = STRING(RECID(Artst)) + CHR(01) + STRING(Artst.Artnr) + CHR(01) + STRING(Artst.Inhalt) + CHR(01) + STRING(Artst.Jahr) + CHR(01) + Artst.Bez. END. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gArtikelauswahl ON ROW-DISPLAY OF Br_artikel IN FRAME gArtikelauswahl DO: IF Artst.Ausverk < 2 THEN DO: Artst.Artnr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. Artst.Inhalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. Artst.Jahr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. Artst.Suchbe:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. ArtBez.Bez1:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. ArtBez.Bez2:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. END. ELSE DO: Artst.Artnr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. Artst.Inhalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. Artst.Jahr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. Artst.Suchbe:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. ArtBez.Bez1:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. ArtBez.Bez2:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Artnr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl ON ENTRY OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */ DO: SELF:SCREEN-VALUE = '0'. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl ON LEAVE OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */ DO: DO WITH FRAME {&FRAME-NAME}: IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. Inhalt = SELF:SCREEN-VALUE. IF INTEGER(Inhalt) = 0 THEN APPLY 'ENTRY' TO F_Suchbe. ELSE APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. SELF:SCREEN-VALUE = '0'. END. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl ON RETURN OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl ON VALUE-CHANGED OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */ DO: RUN OPENQUERY. RETURN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Bez &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl ON END-ERROR OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */ DO: SELF:SCREEN-VALUE = ''. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl ON ENTRY OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */ DO: SELF:SCREEN-VALUE = ''. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl ON LEAVE OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */ DO: DO WITH FRAME {&FRAME-NAME}: IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. Inhalt = SELF:SCREEN-VALUE. SELF:SCREEN-VALUE = ''. IF Inhalt = '' THEN APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. ELSE APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl ON RETURN OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl ON VALUE-CHANGED OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */ DO: IF SELF:SCREEN-VALUE = '' THEN RETURN. RUN OPENQUERY. RETURN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Suchbe &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl ON END-ERROR OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */ DO: SELF:SCREEN-VALUE = ''. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl ON ENTRY OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */ DO: SELF:SCREEN-VALUE = ''. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl ON LEAVE OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */ DO: DO WITH FRAME {&FRAME-NAME}: IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. Inhalt = SELF:SCREEN-VALUE. SELF:SCREEN-VALUE = ''. IF Inhalt = '' THEN APPLY 'ENTRY' TO F_Bez. ELSE APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl ON RETURN OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl ON VALUE-CHANGED OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */ DO: IF SELF:SCREEN-VALUE = '' THEN RETURN. RUN OPENQUERY. RETURN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gArtikelauswahl /* *************************** Main Block *************************** */ DEF VAR ix AS INT NO-UNDO. opArtikel = ''. MaxPage = 1. AktSeite = 1. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR. FwSprcd = DYNAMIC-FUNCTION('GETFWSPRCD':U) NO-ERROR. FIND Steuer USE-INDEX Steuer-k1 WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR. MinNr = 1. IF AVAILABLE Steuer THEN DO: DO ix = 2 TO DYNAMIC-FUNCTION('GETMINARTNR':U) : MinNr = MinNr * 10. END. END. F_Artnr = 0. F_Suchbe = ''. F_Bez = ''. IF NUM-ENTRIES(ipStart, CHR(01)) < 1 THEN DO: ipStart = '1' + CHR(01) + '1'. END. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF ENTRY(1, ipStart, CHR(01)) = '2' THEN DO: F_Suchbe = ENTRY(2, ipStart, CHR(01)). LEAVE. END. IF ENTRY(1, ipStart, CHR(01)) = '3' THEN DO: F_Bez = ENTRY(2, ipStart, CHR(01)). LEAVE. END. F_Artnr = INTEGER(ENTRY(2, ipStart, CHR(01))) NO-ERROR. IF F_Artnr = ? THEN F_Artnr = 1. IF F_Artnr = 0 THEN F_Artnr = 1. LEAVE. END. SESSION:DATA-ENTRY-RETURN = TRUE. /* TRIGGERS ------------------------------------------------------ */ ON 'CURSOR-DOWN':U OF F_Artnr IN FRAME {&FRAME-NAME}, F_Suchbe IN FRAME {&FRAME-NAME}, F_Bez IN FRAME {&FRAME-NAME} DO: APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. 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 gArtikelauswahl _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 changePage gArtikelauswahl 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 gArtikelauswahl _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 gArtikelauswahl. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gArtikelauswahl PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gArtikelauswahl _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_Artnr F_Suchbe F_Bez WITH FRAME gArtikelauswahl. ENABLE Br_artikel F_Artnr F_Suchbe F_Bez RECT-38 WITH FRAME gArtikelauswahl. VIEW FRAME gArtikelauswahl. {&OPEN-BROWSERS-IN-QUERY-gArtikelauswahl} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gArtikelauswahl PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: 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 gArtikelauswahl PROCEDURE ENTRY_CURSOR : /*------------------------------------------------------------------------------ Purpose: Parameters: 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 gArtikelauswahl 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 gArtikelauswahl PROCEDURE NEXTPAGE : /*------------------------------------------------------------------------------ Purpose: Parameters: 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 OPENQUERY gArtikelauswahl PROCEDURE OPENQUERY : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR Artnr AS INT NO-UNDO. DEF VAR Such AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-6}. VSort = 1. IF F_Suchbe <> '' THEN VSort = 2. IF F_Bez <> '' THEN VSort = 3. END. CASE VSort: WHEN 1 THEN Artnr = F_Artnr. WHEN 2 THEN Inhalt = F_Suchbe. WHEN 3 THEN Inhalt = F_Bez. END CASE. IF VSort = 1 THEN DO: IF Artnr = 0 THEN Artnr = 1. DO WHILE Artnr < MinNr: Artnr = Artnr * 10. END. END. CASE VSort: WHEN 1 THEN DO: OPEN QUERY {&BROWSE-NAME} FOR EACH Artst USE-INDEX Artst-k1 WHERE Artst.Firma = Firma AND Artst.Aktiv = TRUE AND Artst.Artnr >= Artnr AND (Artst.Ausverk < 9 OR Artst.Bestand > 0 ) NO-LOCK, FIRST ArtBez USE-INDEX ArtBez-k1 WHERE ArtBez.Firma = Artst.Firma AND ArtBez.Artnr = Artst.Artnr AND ArtBez.Inhalt = Artst.Inhalt AND ArtBez.Jahr = Artst.Jahr NO-LOCK. END. WHEN 2 THEN DO: OPEN QUERY {&BROWSE-NAME} FOR EACH Artst USE-INDEX Artst-k2 WHERE Artst.Firma = Firma AND Artst.Aktiv = TRUE AND Artst.Suchbe BEGINS Inhalt AND (Artst.Ausverk < 9 OR Artst.Bestand > 0 ) NO-LOCK, FIRST ArtBez USE-INDEX ArtBez-k1 WHERE ArtBez.Firma = Artst.Firma AND ArtBez.Artnr = Artst.Artnr AND ArtBez.Inhalt = Artst.Inhalt AND ArtBez.Jahr = Artst.Jahr NO-LOCK. END. WHEN 3 THEN DO: OPEN QUERY {&BROWSE-NAME} FOR EACH Artst USE-INDEX Artst-k3 WHERE Artst.Firma = Firma AND Artst.Aktiv = TRUE AND Artst.Bez BEGINS Inhalt AND (Artst.Ausverk < 9 OR Artst.Bestand > 0 ) NO-LOCK, FIRST ArtBez USE-INDEX ArtBez-k1 WHERE ArtBez.Firma = Artst.Firma AND ArtBez.Artnr = Artst.Artnr AND ArtBez.Inhalt = Artst.Inhalt AND ArtBez.Jahr = Artst.Jahr NO-LOCK. END. END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gArtikelauswahl PROCEDURE PREVPAGE : /*------------------------------------------------------------------------------ Purpose: Parameters: 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 selectPage gArtikelauswahl 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 gArtikelauswahl PROCEDURE TOOLBAR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO. /* RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ). */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gArtikelauswahl PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. RUN OPENQUERY. DO WITH FRAME {&FRAME-NAME}: F_Artnr:SCREEN-VALUE = '0'. F_Suchbe:SCREEN-VALUE = ''. F_Bez:SCREEN-VALUE = ''. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME