&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 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 --- */ DEF VAR xWhere AS CHAR NO-UNDO. DEF VAR xSort AS CHAR NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE. /* _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 ProvTab /* Definitions for QUERY Query-Main */ &Scoped-Define ENABLED-FIELDS Firma Vertr Art_Wgr Prov_Summ Vertreter Warengruppe &Scoped-define ENABLED-FIELDS-IN-ProvTab Firma Vertr Art_Wgr Prov_Summ &Scoped-Define DATA-FIELDS Firma Vertr Art_Wgr Prov_Summ Vertreter Warengruppe &Scoped-define DATA-FIELDS-IN-ProvTab Firma Vertr Art_Wgr Prov_Summ &Scoped-Define MANDATORY-FIELDS &Scoped-Define APPLICATION-SERVICE &Scoped-Define ASSIGN-LIST &Scoped-Define DATA-FIELD-DEFS "d-provtab.i" {&DB-REQUIRED-START} &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH ProvTab NO-LOCK INDEXED-REPOSITION. {&DB-REQUIRED-END} &Scoped-define TABLES-IN-QUERY-Query-Main ProvTab &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main ProvTab /* 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} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD XGETVERTRETER dTables _DB-REQUIRED FUNCTION XGETVERTRETER RETURNS CHARACTER ( ipVertr AS INT ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD XGETWARENGRUPPE dTables _DB-REQUIRED FUNCTION XGETWARENGRUPPE RETURNS CHARACTER ( ipWgr AS INT ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} /* *********************** Control Definitions ********************** */ {&DB-REQUIRED-START} /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Query-Main FOR ProvTab 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 = 2 WIDTH = 65.2. /* 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.ProvTab" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > AnaDat.ProvTab.Firma "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? no 8 yes _FldNameList[2] > AnaDat.ProvTab.Vertr "Vertr" "Vertr" ? ? "integer" ? ? ? ? ? ? yes ? no 4.4 yes _FldNameList[3] > AnaDat.ProvTab.Art_Wgr "Art_Wgr" "Art_Wgr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.8 yes _FldNameList[4] > AnaDat.ProvTab.Prov_Summ "Prov_Summ" "Prov_Summ" ? ? "integer" ? ? ? ? ? ? yes ? no 11.4 yes _FldNameList[5] > "_" "DYNAMIC-FUNCTION('XGETVERTRETER', INPUT RowObject.Vertr)" "Vertreter" "Vertreter" "x(30)" "character" ? ? ? ? ? ? yes ? no 30 no _FldNameList[6] > "_" "DYNAMIC-FUNCTION('XGETWARENGRUPPE', INPUT RowObject.Art_Wgr)" "Warengruppe" "Warengruppe" "x(30)" "character" ? ? ? ? ? ? yes ? no 30 no _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 *************************** */ SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR. IF SAktiv THEN DO: Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR. END. &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 DATA.CALCULATE dTables DATA.CALCULATE _DB-REQUIRED PROCEDURE DATA.CALCULATE : /*------------------------------------------------------------------------------ Purpose: Calculate all the Calculated Expressions found in the SmartDataObject. Parameters: ------------------------------------------------------------------------------*/ ASSIGN rowObject.Vertreter = (DYNAMIC-FUNCTION('XGETVERTRETER', INPUT RowObject.Vertr)) rowObject.Warengruppe = (DYNAMIC-FUNCTION('XGETWARENGRUPPE', INPUT RowObject.Art_Wgr)) . 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 /* ************************ 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: ------------------------------------------------------------------------------*/ xWhere = 'ProvTab.Firma = "' + Firma + '" '. DYNAMIC-FUNCTION('setQueryWhere':U, INPUT xWhere). /* xSort = ''. */ /* DYNAMIC-FUNCTION('setQuerySort':U, INPUT xSort). */ /* xWhere = ''. */ /* DYNAMIC-FUNCTION('setQueryString':U, INPUT xWhere). */ RETURN SUPER( ). END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION XGETVERTRETER dTables _DB-REQUIRED FUNCTION XGETVERTRETER RETURNS CHARACTER ( ipVertr AS INT ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = Firma AND Tabel.RecArt = 'VERTR' AND Tabel.CodeC = '' AND Tabel.CodeI = ipVertr AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR. IF NOT AVAILABLE Tabel THEN RETURN '??????????'. ELSE RETURN Tabel.Bez1. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION XGETWARENGRUPPE dTables _DB-REQUIRED FUNCTION XGETWARENGRUPPE RETURNS CHARACTER ( ipWgr AS INT ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ FIND WarenGrp USE-INDEX WarenGrp-k1 WHERE WarenGrp.Firma = Firma AND WarenGrp.Wgr = ipWgr NO-LOCK NO-ERROR. IF NOT AVAILABLE WarenGrp THEN RETURN '??????????'. ELSE RETURN WarenGrp.Bez1. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END}