&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 --- */ &glob DATA-LOGIC-PROCEDURE .p &SCOPED-DEFINE Tabelle TabTexte &SCOPED-DEFINE TabWhere /* USE-INDEX Benutzer-k1 ~ WHERE {&Tabelle}.Benutzer = tRowObject.Benutzer */ { incl/datdefinition.i } DEF VAR iSprcd AS INT INIT 1 NO-UNDO. DEF VAR cTextArt AS CHAR NO-UNDO. DEF TEMP-TABLE tTabTexte LIKE TabTexte. /* _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 TabTexte /* Definitions for QUERY Query-Main */ &Scoped-Define ENABLED-FIELDS Firma TextArt Sprcd Inhalt &Scoped-define ENABLED-FIELDS-IN-TabTexte Firma TextArt Sprcd Inhalt &Scoped-Define DATA-FIELDS Firma TextArt Sprcd Inhalt &Scoped-define DATA-FIELDS-IN-TabTexte Firma TextArt Sprcd Inhalt &Scoped-Define MANDATORY-FIELDS &Scoped-Define APPLICATION-SERVICE &Scoped-Define ASSIGN-LIST &Scoped-Define DATA-FIELD-DEFS "d-mahntexte.i" &Scoped-Define DATA-TABLE-NO-UNDO NO-UNDO &Scoped-define QUERY-STRING-Query-Main FOR EACH TabTexte NO-LOCK INDEXED-REPOSITION {&DB-REQUIRED-START} &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH TabTexte NO-LOCK INDEXED-REPOSITION. {&DB-REQUIRED-END} &Scoped-define TABLES-IN-QUERY-Query-Main TabTexte &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main TabTexte /* 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 getCurrentRecid dTables _DB-REQUIRED FUNCTION getCurrentRecid RETURNS RECID ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getCurrentRecord dTables _DB-REQUIRED FUNCTION getCurrentRecord RETURNS LOGICAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getQueryBuffer dTables _DB-REQUIRED FUNCTION getQueryBuffer RETURNS HANDLE ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&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 setSprcd dTables _DB-REQUIRED FUNCTION setSprcd RETURNS LOGICAL ( ipSprcd AS INT ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setTextArt dTables _DB-REQUIRED FUNCTION setTextArt RETURNS CHARACTER ( ipiStufe AS INT, ipiArt 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 TabTexte 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.TabTexte" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > AnaDat.TabTexte.Firma "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? no 8 yes ? _FldNameList[2] > AnaDat.TabTexte.TextArt "TextArt" "TextArt" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ? _FldNameList[3] > AnaDat.TabTexte.Sprcd "Sprcd" "Sprcd" ? ? "integer" ? ? ? ? ? ? yes ? no 5.6 yes ? _FldNameList[4] > AnaDat.TabTexte.Inhalt "Inhalt" "Inhalt" ? ? "character" ? ? ? ? ? ? yes ? no 1800 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 } fOpen = FALSE. &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} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOS_TABELLE dTables _DB-REQUIRED PROCEDURE REPOS_TABELLE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datrepos.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FILTER dTables _DB-REQUIRED PROCEDURE SET_FILTER : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datsetfilter.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_OPENFLAG dTables _DB-REQUIRED PROCEDURE SET_OPENFLAG : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datsetopenflag.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT dTables _DB-REQUIRED PROCEDURE SET_SORT : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/datsetsort.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE UPDATE_TABTEXTE dTables _DB-REQUIRED PROCEDURE UPDATE_TABTEXTE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipDaten AS HANDLE NO-UNDO. DEF VAR htTabTexte AS HANDLE NO-UNDO. DEF VAR xiSprcd AS INT NO-UNDO. DEF VAR xiStufe AS INT NO-UNDO. DEF VAR xiArt AS INT NO-UNDO. DEF VAR xcTextArt AS CHAR NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF BUFFER bTabTexte FOR TabTexte. EMPTY TEMP-TABLE tTabTexte. CREATE tTabTexte. htTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE. htTabTexte:BUFFER-COPY(ipDaten). REPEAT TRANSACTION: FIND bTabTexte OF tTabTexte NO-ERROR. IF NOT AVAILABLE bTabTexte THEN CREATE bTabTexte. BUFFER-COPY tTabTexte TO bTabTexte. ASSIGN xiSprcd = tTabTexte.Sprcd xiStufe = INTEGER(SUBSTRING(tTabTexte.TextArt,05,02)) xiArt = INTEGER(SUBSTRING(tTabTexte.TextArt,07,02)) . DO ix = 0 TO 4: IF ix = xiStufe THEN NEXT. xcTextArt = SUBSTITUTE('MAHN&1&2', STRING(ix,'99'), STRING(xiArt,'99') ). FIND bTabTexte WHERE bTabTexte.Firma = tTabTexte.Firma AND bTabTexte.TextArt = xcTextArt AND bTabTexte.Sprcd = xiSprcd NO-ERROR. IF AVAILABLE bTabTexte THEN NEXT. CREATE bTabTexte. ASSIGN bTabTexte.Firma = tTabTexte.Firma bTabTexte.TextArt = xcTextArt bTabTexte.Sprcd = xiSprcd bTabTexte.Inhalt = tTabTexte.Inhalt. RELEASE bTabTexte. END. RELEASE bTabTexte. LEAVE. END. DYNAMIC-FUNCTION('openQuery':U) NO-ERROR. DYNAMIC-FUNCTION('getCurrentRecord':U) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} /* ************************ Function Implementations ***************** */ {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getCurrentRecid dTables _DB-REQUIRED FUNCTION getCurrentRecid RETURNS RECID ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ { incl/datgetcurrentrecid.i } END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getCurrentRecord dTables _DB-REQUIRED FUNCTION getCurrentRecord RETURNS LOGICAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF VAR iRecid AS RECID NO-UNDO. DEF VAR hBuffer AS HANDLE NO-UNDO. DEF BUFFER bTabTexte FOR TabTexte. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN DO: EMPTY TEMP-TABLE tTabTexte. CREATE tTabTexte. hBuffer = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE. ASSIGN tTabTexte.Firma = Firma tTabTexte.TextArt = cTextArt tTabTexte.Sprcd = iSprcd tTabTexte.Inhalt = ''. PUBLISH 'PUSHMAHNTEXT' ( hBuffer ). RETURN FALSE. END. FIND bTabTexte NO-LOCK WHERE RECID(bTabTexte) = iRecid. hBuffer = BUFFER bTabTexte:HANDLE. PUBLISH 'PUSHMAHNTEXT' ( hBuffer ). RETURN FALSE. /* Function return value. */ END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getQueryBuffer dTables _DB-REQUIRED FUNCTION getQueryBuffer RETURNS HANDLE ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ RETURN BUFFER rowObject:HANDLE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&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 Felder AS CHAR NO-UNDO. DEF VAR Inhalt AS CHAR NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR cFeld AS CHAR NO-UNDO. IF NOT fOpen THEN RETURN FALSE. xWhere = ''. xSort = ''. xString = ''. Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR. Inhalt = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR. /* ix = LOOKUP('Feld', Felder, ',') / 2. */ /* cFeld = ENTRY (ix , Inhalt, CHR(01)). */ xWhere = 'Tabtexte.Firma = "&1" AND ' + 'Tabtexte.TextArt = "&2" AND ' + 'Tabtexte.Sprcd = &3 '. xWhere = SUBSTITUTE(xWhere, Firma, cTextArt, iSprcd). { incl/datopenquery.i } IF xWhere <> '' THEN DYNAMIC-FUNCTION('setQueryWhere':U , INPUT xWhere ). IF xString <> '' THEN DYNAMIC-FUNCTION('setQueryString':U, INPUT xString). IF xSort <> '' THEN DYNAMIC-FUNCTION('setQuerySort':U , INPUT xSort ). RETURN SUPER( ). END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setSprcd dTables _DB-REQUIRED FUNCTION setSprcd RETURNS LOGICAL ( ipSprcd AS INT ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF VAR hQuery AS HANDLE NO-UNDO. iSprcd = ipSprcd. DYNAMIC-FUNCTION('openQuery':U) NO-ERROR. IF fOpen THEN DO: hQuery = DYNAMIC-FUNCTION('getQueryHandle':U). hQuery:GET-FIRST() NO-ERROR. DYNAMIC-FUNCTION('getCurrentRecord':U) NO-ERROR. END. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&DB-REQUIRED-START} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setTextArt dTables _DB-REQUIRED FUNCTION setTextArt RETURNS CHARACTER ( ipiStufe AS INT, ipiArt AS INT ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF VAR hQuery AS HANDLE NO-UNDO. /* -------------------------------------------------- */ /* Stufe: 0 = Kontoauszug */ /* 1 = 1. Mahnung */ /* 2 = 2. Mahnung */ /* 3 = 3. Mahnung */ /* 4 = Betreibung */ /* */ /* Art: 0 = Firmen-Anschrift */ /* 1 = Kopf-Titel */ /* 2 = Kopf-Text */ /* 3 = Ueberschrifttext */ /* 4 = Schlusstext */ /* 5 = Rekap-Text */ /* -------------------------------------------------- */ cTextArt = SUBSTITUTE('MAHN&1&2', STRING(ipiStufe,'99'), STRING(ipiArt,'99')). fOpen = TRUE. DYNAMIC-FUNCTION('openQuery':U) NO-ERROR. hQuery = DYNAMIC-FUNCTION('getQueryHandle':U). hQuery:GET-FIRST() NO-ERROR. DYNAMIC-FUNCTION('getCurrentRecord':U) NO-ERROR. RETURN cTextArt. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END}