&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win /*------------------------------------------------------------------------ File: Description: from BROWSER.W - Basic SmartBrowser Object Template Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* 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. &Scoped-define ERSTES-FELD Artnr &Scoped-define ZWEITES-FELD Inhalt &Scoped-define LETZTES-FELD Bez &Scoped-define INPUT-FELDER Artst.Artnr, Artst.Inhalt, Artst.Jahr, Artst.Suchbe, Artst.Bez &Scoped-define DATEI-NAME Artst /* *************************** Definitions ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ /* --------------------------------------------------------------------------- */ DEF VAR VUpdate AS LOG INIT FALSE NO-UNDO. DEF VAR VSpeichern AS LOG INIT FALSE NO-UNDO. DEF VAR VNeu AS LOG INIT FALSE NO-UNDO. DEF VAR PHandle AS HANDLE NO-UNDO. DEF VAR XHandle AS HANDLE NO-UNDO. DEF VAR ch AS CHAR NO-UNDO. DEF VAR VText AS CHAR FORMAT "x(30)" NO-UNDO. DEF VAR QOpen AS LOG INIT FALSE NO-UNDO. DEF VAR FQOpen AS LOG INIT FALSE NO-UNDO. DEF VAR FNeu AS LOG INIT TRUE NO-UNDO. DEF VAR Vorhanden AS LOG NO-UNDO. DEF VAR VRecid AS RECID NO-UNDO. DEF VAR VROWID AS ROWID NO-UNDO. DEF VAR Feldname AS CHAR NO-UNDO. DEF VAR FeldInhalt AS CHAR NO-UNDO. DEF BUFFER B{&DATEI-NAME} FOR {&DATEI-NAME}. /* --------------------------------------------------------------------------- */ DEF VAR VArtnr AS INT. DEF VAR VSuchbe AS CHAR. DEF VAR SortierArt AS INT. DEF VAR VArtnrL AS INT. DEF VAR FAusverk AS LOG. DEF VAR VBez1 AS CHAR FORMAT "x(30)" NO-UNDO. DEF VAR VBez2 AS CHAR FORMAT "x(30)" 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 SmartBrowser &Scoped-define DB-AWARE no &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target /* Name of first Frame and/or Browse and/or first Query */ &Scoped-define FRAME-NAME F-Main &Scoped-define BROWSE-NAME br_table /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES Artst /* Define KEY-PHRASE in case it is used by any query. */ &Scoped-define KEY-PHRASE TRUE /* Definitions for BROWSE br_table */ &Scoped-define FIELDS-IN-QUERY-br_table Artst.Artnr Artst.Inhalt Artst.Jahr ~ Artst.Suchbe VBez1 @ VBez1 VBez2 @ VBez2 Artst.Alk_Gehalt Artst.Bestand &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH Artst WHERE ~{&KEY-PHRASE} ~ AND Artst.Firma = GVFirma ~ AND Artst.Aktiv = TRUE NO-LOCK ~ ~{&SORTBY-PHRASE}. &Scoped-define TABLES-IN-QUERY-br_table Artst &Scoped-define FIRST-TABLE-IN-QUERY-br_table Artst /* Definitions for FRAME F-Main */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS br_table F_SortierArt F_Suchbe T_Geloeschte ~ RECT-8 &Scoped-Define DISPLAYED-OBJECTS F_SortierArt F_Suchbe T_Geloeschte /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-1 F_SortierArt F_Suchbe T_Geloeschte /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE /* Actions: ? adm/support/keyedit.w ? ? ? */ /* STRUCTURED-DATA &BROWSE-NAME ************************** * Set attributes related to FOREIGN KEYS */ RUN set-attribute-list ( 'Keys-Accepted = "", Keys-Supplied = ""':U). /************************** */ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE /* Actions: ? adm/support/advqedit.w ? ? ? */ /* STRUCTURED-DATA &BROWSE-NAME ************************ * Set attributes related to SORTBY-OPTIONS */ RUN set-attribute-list ( 'SortBy-Options = ""':U). /************************ */ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(20)":U VIEW-AS FILL-IN NATIVE SIZE 25 BY 1.05 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_SortierArt AS INTEGER INITIAL 2 VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "Artikelnummer", 1, "Suchbegriff", 2, "Bezeichnung", 3, "Match", 4 SIZE 25 BY 3.67 NO-UNDO. DEFINE RECTANGLE RECT-8 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 135.8 BY 12.86. DEFINE VARIABLE T_Geloeschte AS LOGICAL INITIAL yes LABEL "gelöschte auch ?" VIEW-AS TOGGLE-BOX SIZE 23.2 BY 1 NO-UNDO. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY br_table FOR Artst SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED QUERY br_table NO-LOCK DISPLAY Artst.Artnr FORMAT "z999999":U Artst.Inhalt FORMAT "9999":U Artst.Jahr FORMAT "z9999":U Artst.Suchbe COLUMN-LABEL "Suchbegriff" FORMAT "x(15)":U WIDTH 10 VBez1 @ VBez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U WIDTH 25 VBez2 @ VBez2 COLUMN-LABEL "Zusatzbezeichung" FORMAT "x(30)":U WIDTH 25 Artst.Alk_Gehalt COLUMN-LABEL "Vol.%" FORMAT "zz9.999":U WIDTH 7 Artst.Bestand FORMAT "->>>,>>9":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 105.6 BY 12.57 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main br_table AT ROW 1.24 COL 2.2 F_SortierArt AT ROW 1.48 COL 110 NO-LABEL F_Suchbe AT ROW 5.81 COL 108 COLON-ALIGNED NO-LABEL T_Geloeschte AT ROW 7.86 COL 110 RECT-8 AT ROW 1.14 COL 1.2 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SCROLLABLE . /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartBrowser Allow: Basic,Browse Frames: 1 Add Fields to: EXTERNAL-TABLES Other Settings: PERSISTENT-ONLY COMPILE */ /* This procedure should always be RUN PERSISTENT. Report the error, */ /* then cleanup and return. */ IF NOT THIS-PROCEDURE:PERSISTENT THEN DO: MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U VIEW-AS ALERT-BOX ERROR BUTTONS OK. RETURN. END. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW B-table-Win ASSIGN HEIGHT = 13.14 WIDTH = 136.8. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win /* ************************* Included-Libraries *********************** */ {src/adm/method/browser.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW B-table-Win NOT-VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE Size-to-Fit */ /* BROWSE-TAB br_table 1 F-Main */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE. ASSIGN br_table:MAX-DATA-GUESS IN FRAME F-Main = 200 br_table:COLUMN-RESIZABLE IN FRAME F-Main = TRUE. /* SETTINGS FOR RADIO-SET F_SortierArt IN FRAME F-Main 1 */ /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME F-Main 1 */ /* SETTINGS FOR TOGGLE-BOX T_Geloeschte IN FRAME F-Main 1 */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table /* Query rebuild information for BROWSE br_table _TblList = "AnaDat.Artst" _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE" _Where[1] = "Artst.Firma = GVFirma AND Artst.Aktiv = TRUE" _FldNameList[1] > AnaDat.Artst.Artnr "Artst.Artnr" ? "z999999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[2] = AnaDat.Artst.Inhalt _FldNameList[3] > AnaDat.Artst.Jahr "Artst.Jahr" ? "z9999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _FldNameList[4] > AnaDat.Artst.Suchbe "Artst.Suchbe" "Suchbegriff" ? "character" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" _FldNameList[5] > "_" "VBez1 @ VBez1" "Bezeichnung" "x(30)" ? ? ? ? ? ? ? no ? no no "25" yes no no "U" "" "" _FldNameList[6] > "_" "VBez2 @ VBez2" "Zusatzbezeichung" "x(30)" ? ? ? ? ? ? ? no ? no no "25" yes no no "U" "" "" _FldNameList[7] > AnaDat.Artst.Alk_Gehalt "Artst.Alk_Gehalt" "Vol.%" ? "decimal" ? ? ? ? ? ? no ? no no "7" yes no no "U" "" "" _FldNameList[8] > AnaDat.Artst.Bestand "Artst.Bestand" ? "->>>,>>9" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" _Query is NOT OPENED */ /* BROWSE br_table */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main /* Query rebuild information for FRAME F-Main _Options = "NO-LOCK" _Query is NOT OPENED */ /* FRAME F-Main */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define BROWSE-NAME br_table &Scoped-define SELF-NAME br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON ROW-DISPLAY OF br_table IN FRAME F-Main DO: RUN ANZEIGE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON ROW-ENTRY OF br_table IN FRAME F-Main DO: {src/adm/template/brsentry.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON ROW-LEAVE OF br_table IN FRAME F-Main DO: {src/adm/template/brsleave.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON VALUE-CHANGED OF br_table IN FRAME F-Main DO: RUN ANZEIGE. {src/adm/template/brschnge.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_SortierArt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win ON VALUE-CHANGED OF F_SortierArt IN FRAME F-Main DO: IF Vorhanden = TRUE THEN {&BROWSE-NAME}:REFRESH(). ASSIGN F_SortierArt. APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Suchbe &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win ON LEAVE OF F_Suchbe IN FRAME F-Main DO: RUN dispatch IN THIS-PROCEDURE ('assign-statement':U). RUN dispatch IN THIS-PROCEDURE ('open-query':U). APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win ON RETURN OF F_Suchbe IN FRAME F-Main DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME T_Geloeschte &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Geloeschte B-table-Win ON VALUE-CHANGED OF T_Geloeschte IN FRAME F-Main /* gelöschte auch ? */ DO: RUN local-open-query. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win /* *************************** Main Block *************************** */ T_Geloeschte = TRUE. RUN SUCHEN. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR. VArtnrL = Steuer.Fwi10. Gefunden = FALSE. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN dispatch IN THIS-PROCEDURE ('initialize':U). &ENDIF /* ------ Triggers ---------------------------------------------------- */ ON RETURN OF BROWSE {&BROWSE-NAME} OR LEFT-MOUSE-DBLCLICK OF BROWSE {&BROWSE-NAME} DO: DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-1}. PUT-KEY-VALUE SECTION 'ArtikelSuchen' KEY 'Lagerkorrektur' VALUE STRING(T_Geloeschte). IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN. {&BROWSE-NAME}:SELECT-FOCUSED-ROW(). {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). LVSuchbe = STRING(Artst.Artnr,"999999") + ";" + STRING(Artst.Inhalt,"9999") + ";" + STRING(Artst.Jahr,"9999"). Gefunden = TRUE. RUN new-state ( INPUT 'GO, MAIN':U ). RETURN NO-APPLY. END. END. ON END-ERROR OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN new-state ( INPUT 'CANCEL, MAIN':U ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-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 ANZEIGE B-table-Win PROCEDURE ANZEIGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ VText = ''. VBez1 = ''. VBez2 = ''. IF AVAILABLE {&DATEI-NAME} THEN DO: VRecid = RECID({&DATEI-NAME}). VROWID = ROWID({&DATEI-NAME}). FIND 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 NO-ERROR. IF AVAILABLE Artbez THEN DO: VBez1 = Artbez.Bez1. VBez2 = Artbez.Bez2. END. ELSE DO: VBez1 = Artst.Bez. END. IF Artst.Aktiv = FALSE THEN DO WITH FRAME {&FRAME-NAME}: Artst.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. Artst.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. Artst.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. Artst.Suchbe :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. VBez1 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. VBez2 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. Artst.Alk_Gehalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. Artst.Bestand :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12. END. ELSE DO WITH FRAME {&FRAME-NAME}: 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. VBez1 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. VBez2 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. Artst.Alk_Gehalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. Artst.Bestand :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. VBez1 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. VBez2 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. Artst.Alk_Gehalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. Artst.Bestand :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14. END. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-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. ------------------------------------------------------------------------------*/ /* Hide all frames. */ HIDE FRAME F-Main. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-statement B-table-Win PROCEDURE local-assign-statement : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-statement':U ) . DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-1}. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win PROCEDURE local-display-fields : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN ANZEIGE. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) . END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win PROCEDURE local-initialize : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ DEF VAR cValue AS CHAR NO-UNDO. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) . GET-KEY-VALUE SECTION 'ArtikelSuchen' KEY 'Lagerkorrektur' VALUE cValue. IF cValue = ? THEN cValue = ''. IF cValue = '' THEN cValue = 'no'. IF cValue BEGINS 'n' THEN T_Geloeschte = FALSE. ELSE T_Geloeschte = TRUE. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win PROCEDURE local-open-query : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ DEF VAR VLang AS INT NO-UNDO. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}. QOpen = FALSE. Vorhanden = FALSE. DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-1}. END. SortierArt = F_SortierArt. IF FNeu THEN T_Geloeschte = TRUE. FNeu = FALSE. CASE SortierArt: WHEN 1 THEN DO: DO WHILE LENGTH(F_Suchbe) < VArtnrL: F_Suchbe = F_Suchbe + "0". END. VArtnr = INTEGER(F_Suchbe). OPEN QUERY {&BROWSE-NAME} FOR EACH Artst USE-INDEX Artst-k1 WHERE Artst.Firma = GVFirma AND Artst.Artnr >= VArtnr AND ((T_Geloeschte = TRUE) OR (T_Geloeschte = FALSE AND Artst.Aktiv = TRUE)) NO-LOCK. END. WHEN 2 THEN DO: VSuchbe = TRIM(F_Suchbe). OPEN QUERY {&BROWSE-NAME} FOR EACH Artst USE-INDEX Artst-k2 WHERE Artst.Firma = GVFirma AND Artst.Suchbe >= VSuchbe AND ((T_Geloeschte = TRUE) OR (T_Geloeschte = FALSE AND Artst.Aktiv = TRUE)) NO-LOCK. END. WHEN 3 THEN DO: VSuchbe = TRIM(F_Suchbe). OPEN QUERY {&BROWSE-NAME} FOR EACH Artst USE-INDEX Artst-k3 WHERE Artst.Firma = GVFirma AND Artst.Bez >= VSuchbe AND ((T_Geloeschte = TRUE) OR (T_Geloeschte = FALSE AND Artst.Aktiv = TRUE)) NO-LOCK. END. WHEN 4 THEN DO: VSuchbe = TRIM(F_Suchbe). IF SUBSTRING(VSuchbe,01,01) <> '*' AND SUBSTRING(VSuchbe,01,01) <> '.' THEN VSuchbe = "*" + VSuchbe. VLang = LENGTH(VSuchbe). IF SUBSTRING(VSuchbe,VLang,01) <> '*' AND SUBSTRING(VSuchbe,VLang,01) <> '.' THEN VSuchbe = VSuchbe + "*". F_Suchbe = VSuchbe. DISPLAY F_Suchbe WITH FRAME {&FRAME-NAME}. OPEN QUERY {&BROWSE-NAME} FOR EACH Artst USE-INDEX Artst-k2 WHERE Artst.Firma = GVFirma AND ((Artst.Suchbe MATCHES VSuchbe) OR (Artst.Bez MATCHES VSuchbe)) AND ((T_Geloeschte = TRUE) OR (T_Geloeschte = FALSE AND Artst.Aktiv = TRUE)) NO-LOCK. END. END CASE. F_Suchbe = ''. DISPLAY F_Suchbe WITH FRAME {&FRAME-NAME}. DO WITH FRAME {&FRAME-NAME}: IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN. Vorhanden = TRUE. QOpen = TRUE. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win PROCEDURE local-view : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) . END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-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 ------------------------------------------------------------------------------*/ /* 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 "Artst"} /* 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 B-table-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 XArtnr AS INT NO-UNDO. DEF VAR XInhalt AS INT NO-UNDO. DEF VAR XJahr AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: CASE p-state: WHEN 'Record-First' THEN DO: APPLY 'CTRL-HOME' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. WHEN 'Record-Prev' THEN DO: APPLY 'CURSOR-UP' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. WHEN 'Record-Next' THEN DO: APPLY 'CURSOR-DOWN' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. WHEN 'Record-Last' THEN DO: APPLY 'CTRL-HOME' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. WHEN 'entry_browse' THEN DO: APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. {src/adm/template/bstates.i} END CASE. END. /* FRAME */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUCHEN B-table-Win PROCEDURE SUCHEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: IF LVSort < 1 THEN LVSort = 2. IF LVSort > 4 THEN LVSort = 4. SortierArt = LVSort. F_SortierArt = LVSort. F_Suchbe = LVSuchbe. VSuchbe = LVSuchbe. F_Suchbe:SCREEN-VALUE = VSuchbe. F_SortierArt:SCREEN-VALUE = STRING(SortierArt). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME