&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW {adecomm/appserv.i} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS dTables /*------------------------------------------------------------------------ File: Description: from DATA.W - Template For SmartData objects in the ADM Input Parameters: Output Parameters: Modified: February 24, 1999 ------------------------------------------------------------------------*/ /* 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 --- */ /* Local Variable Definitions --- */ &SCOPED-DEFINE Tabelle Liefst &SCOPED-DEFINE TabWhere USE-INDEX Liefst-k1 ~ WHERE {&Tabelle}.Firma = tRowObject.Firma ~ AND {&Tabelle}.Knr = tRowObject.Knr { incl/datdefinition.i } /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDataObject &Scoped-define DB-AWARE yes &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target /* Db-Required definitions. */ &IF DEFINED(DB-REQUIRED) = 0 &THEN &GLOBAL-DEFINE DB-REQUIRED TRUE &ENDIF &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF &Scoped-define QUERY-NAME Query-Main /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES Liefst /* Definitions for QUERY Query-Main */ &Scoped-Define ENABLED-FIELDS Firma Knr FRW Kond Kontakt Anrede Bemerkung Kopf Schluss Rabatt Min_Betrag~ Min_Gewicht Spez_Cd Geb_Cd Edat Esbkb Mdat Msbkb Aktiv Lieferungen BestBis~ GLN_Nr1 GLN_Nr2 Spesen Bestell_Intervall Lieferzeit Min_GGebinde~ Min_KGebinde Min_VGebinde ZusRab Barcode_Typ &Scoped-define ENABLED-FIELDS-IN-Liefst Firma Knr FRW Kond Kontakt Anrede ~ Bemerkung Kopf Schluss Rabatt Min_Betrag Min_Gewicht Spez_Cd Geb_Cd Edat ~ Esbkb Mdat Msbkb Aktiv Lieferungen BestBis GLN_Nr1 GLN_Nr2 Spesen ~ Bestell_Intervall Lieferzeit Min_GGebinde Min_KGebinde Min_VGebinde ZusRab ~ Barcode_Typ &Scoped-Define DATA-FIELDS Firma Knr FRW Kond Kontakt Anrede Bemerkung Kopf Schluss Rabatt Min_Betrag~ Min_Gewicht Spez_Cd Geb_Cd Edat Esbkb Mdat Msbkb Aktiv Lieferungen BestBis~ GLN_Nr1 GLN_Nr2 Spesen Bestell_Intervall Lieferzeit Min_GGebinde~ Min_KGebinde Min_VGebinde ZusRab Barcode_Typ &Scoped-define DATA-FIELDS-IN-Liefst Firma Knr FRW Kond Kontakt Anrede ~ Bemerkung Kopf Schluss Rabatt Min_Betrag Min_Gewicht Spez_Cd Geb_Cd Edat ~ Esbkb Mdat Msbkb Aktiv Lieferungen BestBis GLN_Nr1 GLN_Nr2 Spesen ~ Bestell_Intervall Lieferzeit Min_GGebinde Min_KGebinde Min_VGebinde ZusRab ~ Barcode_Typ &Scoped-Define MANDATORY-FIELDS Firma Knr &Scoped-Define APPLICATION-SERVICE &Scoped-Define ASSIGN-LIST &Scoped-Define DATA-FIELD-DEFS "d-liefst.i" &Scoped-define QUERY-STRING-Query-Main FOR EACH Liefst NO-LOCK INDEXED-REPOSITION {&DB-REQUIRED-START} &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH Liefst NO-LOCK INDEXED-REPOSITION. {&DB-REQUIRED-END} &Scoped-define TABLES-IN-QUERY-Query-Main Liefst &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main Liefst /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED FUNCTION openQuery RETURNS LOGICAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} /* *********************** Control Definitions ********************** */ {&DB-REQUIRED-START} /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Query-Main FOR Liefst SCROLLING. &ANALYZE-RESUME {&DB-REQUIRED-END} /* ************************ Frame Definitions *********************** */ /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDataObject Allow: Query Frames: 0 Add Fields to: Neither Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE */ /* 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 dTables ASSIGN HEIGHT = 1.62 WIDTH = 46.6. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables /* ************************* Included-Libraries *********************** */ {src/adm2/data.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW dTables VISIBLE,,RUN-PERSISTENT */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main /* Query rebuild information for SmartDataObject Query-Main _TblList = "AnaDat.Liefst" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > AnaDat.Liefst.Firma "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? yes 8 yes "" _FldNameList[2] > AnaDat.Liefst.Knr "Knr" "Knr" ? ? "integer" ? ? ? ? ? ? yes ? yes 7.2 yes "" _FldNameList[3] > AnaDat.Liefst.FRW "FRW" "FRW" ? ? "character" ? ? ? ? ? ? yes ? no 5 yes "" _FldNameList[4] > AnaDat.Liefst.Kond "Kond" "Kond" ? ? "integer" ? ? ? ? ? ? yes ? no 5 yes "" _FldNameList[5] > AnaDat.Liefst.Kontakt "Kontakt" "Kontakt" ? ? "character" ? ? ? ? ? ? yes ? no 30 yes "" _FldNameList[6] > AnaDat.Liefst.Anrede "Anrede" "Anrede" ? ? "character" ? ? ? ? ? ? yes ? no 50 yes "" _FldNameList[7] > AnaDat.Liefst.Bemerkung "Bemerkung" "Bemerkung" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes "" _FldNameList[8] > AnaDat.Liefst.Kopf "Kopf" "Kopf" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes "" _FldNameList[9] > AnaDat.Liefst.Schluss "Schluss" "Schluss" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes "" _FldNameList[10] > AnaDat.Liefst.Rabatt "Rabatt" "Rabatt" ? ? "decimal" ? ? ? ? ? ? yes ? no 6.4 yes "" _FldNameList[11] > AnaDat.Liefst.Min_Betrag "Min_Betrag" "Min_Betrag" ? ? "decimal" ? ? ? ? ? ? yes ? no 10.8 yes "" _FldNameList[12] > AnaDat.Liefst.Min_Gewicht "Min_Gewicht" "Min_Gewicht" ? ? "decimal" ? ? ? ? ? ? yes ? no 12.4 yes "" _FldNameList[13] > AnaDat.Liefst.Spez_Cd "Spez_Cd" "Spez_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 8.6 yes "" _FldNameList[14] > AnaDat.Liefst.Geb_Cd "Geb_Cd" "Geb_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 8 yes "" _FldNameList[15] > AnaDat.Liefst.Edat "Edat" "Edat" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes "" _FldNameList[16] > AnaDat.Liefst.Esbkb "Esbkb" "Esbkb" ? ? "character" ? ? ? ? ? ? yes ? no 6 yes "" _FldNameList[17] > AnaDat.Liefst.Mdat "Mdat" "Mdat" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes "" _FldNameList[18] > AnaDat.Liefst.Msbkb "Msbkb" "Msbkb" ? ? "character" ? ? ? ? ? ? yes ? no 6.4 yes "" _FldNameList[19] > AnaDat.Liefst.Aktiv "Aktiv" "Aktiv" ? "Ja/Nein" "logical" ? ? ? ? ? ? yes ? no 4.8 yes "" _FldNameList[20] > AnaDat.Liefst.Lieferungen "Lieferungen" "Lieferungen" ? ? "character" ? ? ? ? ? ? yes ? no 30 yes "" _FldNameList[21] > AnaDat.Liefst.BestBis "BestBis" "BestBis" "Bestellung bis" ? "character" ? ? ? ? ? ? yes ? no 20 yes "" _FldNameList[22] > AnaDat.Liefst.GLN_Nr1 "GLN_Nr1" "GLN_Nr1" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ? _FldNameList[23] > AnaDat.Liefst.GLN_Nr2 "GLN_Nr2" "GLN_Nr2" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ? _FldNameList[24] > AnaDat.Liefst.Spesen "Spesen" "Spesen" ? ? "decimal" ? ? ? ? ? ? yes ? no 7.2 yes ? _FldNameList[25] > AnaDat.Liefst.Bestell_Intervall "Bestell_Intervall" "Bestell_Intervall" ? ? "integer" ? ? ? ? ? ? yes ? no 14.8 yes ? _FldNameList[26] > AnaDat.Liefst.Lieferzeit "Lieferzeit" "Lieferzeit" ? ? "integer" ? ? ? ? ? ? yes ? no 8.4 yes ? _FldNameList[27] > AnaDat.Liefst.Min_GGebinde "Min_GGebinde" "Min_GGebinde" ? ? "integer" ? ? ? ? ? ? yes ? no 14.2 yes ? _FldNameList[28] > AnaDat.Liefst.Min_KGebinde "Min_KGebinde" "Min_KGebinde" ? ? "integer" ? ? ? ? ? ? yes ? no 14 yes ? _FldNameList[29] > AnaDat.Liefst.Min_VGebinde "Min_VGebinde" "Min_VGebinde" ? ? "integer" ? ? ? ? ? ? yes ? no 14 yes ? _FldNameList[30] > AnaDat.Liefst.ZusRab "ZusRab" "ZusRab" ? ? "decimal" ? ? ? ? ? ? yes ? no 7.6 yes ? _FldNameList[31] > AnaDat.Liefst.Barcode_Typ "Barcode_Typ" "Barcode_Typ" ? ? "integer" ? ? ? ? ? ? yes ? no 12.8 yes ? _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 ) */ /* QUERY Query-Main */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables /* *************************** Main Block *************************** */ { incl/datmainblock.i } &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN initializeObject. &ENDIF /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE dataAvailable dTables _DB-REQUIRED PROCEDURE dataAvailable : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datdataavailable.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _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. */ IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INAKTIVIEREN dTables _DB-REQUIRED PROCEDURE INAKTIVIEREN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datinaktivieren.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject dTables _DB-REQUIRED PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datinitialize.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REAKTIVIEREN dTables _DB-REQUIRED PROCEDURE REAKTIVIEREN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datreaktivieren.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} /* ************************ Function Implementations ***************** */ {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED FUNCTION openQuery RETURNS LOGICAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Super Override Notes: ------------------------------------------------------------------------------*/ DEF VAR ix AS INT NO-UNDO. DEF VAR Felder AS CHAR NO-UNDO. Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR. DO WHILE TRUE: xWhere = 'Firma = "' + Firma + '" '. IF Felder = ? THEN LEAVE. IF Felder = '' THEN LEAVE. ix = LOOKUP('Knr', Felder, ',') / 2. IF ix < 1 THEN LEAVE. Felder = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR. xWhere = 'Firma = "' + Firma + '" ' + 'AND Knr = ' + ENTRY(ix, Felder, CHR(01)). LEAVE. END. DYNAMIC-FUNCTION('setQueryWhere':U, INPUT xWhere). RETURN SUPER( ). END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END}