&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 Besko &SCOPED-DEFINE TabWhere USE-INDEX Besko-k1 ~ WHERE {&Tabelle}.Firma = tRowObject.Firma ~ and {&Tabelle}.Besnr = tRowObject.Besnr { incl/datdefinition.i } DEFINE VARIABLE iStatus AS INTEGER NO-UNDO. DEFINE VARIABLE iLager AS INTEGER NO-UNDO. DEFINE TEMP-TABLE tLiefst LIKE Liefst. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Global-define DATA-LOGIC-PROCEDURE .p &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 Besko /* Definitions for QUERY Query-Main */ &Scoped-Define ENABLED-FIELDS Firma Besnr Knr Best_Datum Lief_Datum Buch_Datum Abgeholt Abholtext~ Bemerkung Bestell_Nr Best_Sta Best_Tot Faktor FRW Gedruckt I_Best Kond Kopf~ Kurs Lager Lieferzeit Lief_Bed MWST_Nr Rabatt Schluss Spesen U_Ref Verbucht~ Lieferant BestelltBis Lieferungen Wochentag Netto SpesenBetr ZusRab &Scoped-define ENABLED-FIELDS-IN-Besko Firma Besnr Knr Best_Datum ~ Lief_Datum Buch_Datum Abgeholt Abholtext Bemerkung Bestell_Nr Best_Sta ~ Best_Tot Faktor FRW Gedruckt I_Best Kond Kopf Kurs Lager Lieferzeit ~ Lief_Bed MWST_Nr Rabatt Schluss Spesen U_Ref Verbucht SpesenBetr ZusRab &Scoped-Define DATA-FIELDS Firma Besnr Knr Best_Datum Lief_Datum Buch_Datum Abgeholt Abholtext~ Bemerkung Bestell_Nr Best_Sta Best_Tot Faktor FRW Gedruckt I_Best Kond Kopf~ Kurs Lager Lieferzeit Lief_Bed MWST_Nr Rabatt Schluss Spesen U_Ref Verbucht~ Lieferant BestelltBis Lieferungen Wochentag Netto SpesenBetr ZusRab &Scoped-define DATA-FIELDS-IN-Besko Firma Besnr Knr Best_Datum Lief_Datum ~ Buch_Datum Abgeholt Abholtext Bemerkung Bestell_Nr Best_Sta Best_Tot Faktor ~ FRW Gedruckt I_Best Kond Kopf Kurs Lager Lieferzeit Lief_Bed MWST_Nr Rabatt ~ Schluss Spesen U_Ref Verbucht SpesenBetr ZusRab &Scoped-Define MANDATORY-FIELDS Firma Knr &Scoped-Define APPLICATION-SERVICE &Scoped-Define ASSIGN-LIST &Scoped-Define DATA-FIELD-DEFS "d-besko.i" &Scoped-Define DATA-TABLE-NO-UNDO NO-UNDO &Scoped-define QUERY-STRING-Query-Main FOR EACH Besko NO-LOCK INDEXED-REPOSITION {&DB-REQUIRED-START} &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH Besko NO-LOCK INDEXED-REPOSITION. {&DB-REQUIRED-END} &Scoped-define TABLES-IN-QUERY-Query-Main Besko &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main Besko /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getBestellBis dTables FUNCTION getBestellBis RETURNS CHARACTER ( ipiKnr AS INTEGER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&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} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLieferung dTables FUNCTION getLieferung RETURNS CHARACTER ( ipiKnr AS INTEGER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&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} /* *********************** Control Definitions ********************** */ {&DB-REQUIRED-START} /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Query-Main FOR Besko 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 = 71. /* 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.Besko" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > AnaDat.Besko.Firma "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? yes 8 yes ? _FldNameList[2] > AnaDat.Besko.Besnr "Besnr" "Besnr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ? _FldNameList[3] > AnaDat.Besko.Knr "Knr" "Knr" ? ? "integer" ? ? ? ? ? ? yes ? yes 7.2 yes ? _FldNameList[4] > AnaDat.Besko.Best_Datum "Best_Datum" "Best_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 11.6 yes ? _FldNameList[5] > AnaDat.Besko.Lief_Datum "Lief_Datum" "Lief_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes ? _FldNameList[6] > AnaDat.Besko.Buch_Datum "Buch_Datum" "Buch_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 12.4 yes ? _FldNameList[7] > AnaDat.Besko.Abgeholt "Abgeholt" "Abgeholt" ? ? "logical" ? ? ? ? ? ? yes ? no 8.4 yes ? _FldNameList[8] > AnaDat.Besko.Abholtext "Abholtext" "Abholtext" ? ? "character" ? ? ? ? ? ? yes ? no 500 yes ? _FldNameList[9] > AnaDat.Besko.Bemerkung "Bemerkung" "Bemerkung" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes ? _FldNameList[10] > AnaDat.Besko.Bestell_Nr "Bestell_Nr" "Bestell_Nr" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ? _FldNameList[11] > AnaDat.Besko.Best_Sta "Best_Sta" "Best_Sta" ? ? "integer" ? ? ? ? ? ? yes ? no 8.6 yes ? _FldNameList[12] > AnaDat.Besko.Best_Tot "Best_Tot" "Best_Tot" ? ? "decimal" ? ? ? ? ? ? yes ? no 14 yes ? _FldNameList[13] > AnaDat.Besko.Faktor "Faktor" "Faktor" ? ? "integer" ? ? ? ? ? ? yes ? no 6 yes ? _FldNameList[14] > AnaDat.Besko.FRW "FRW" "FRW" ? ? "character" ? ? ? ? ? ? yes ? no 5 yes ? _FldNameList[15] > AnaDat.Besko.Gedruckt "Gedruckt" "Gedruckt" ? ? "logical" ? ? ? ? ? ? yes ? no 8.8 yes ? _FldNameList[16] > AnaDat.Besko.I_Best "I_Best" "I_Best" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ? _FldNameList[17] > AnaDat.Besko.Kond "Kond" "Kond" ? ? "integer" ? ? ? ? ? ? yes ? no 5 yes ? _FldNameList[18] > AnaDat.Besko.Kopf "Kopf" "Kopf" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes ? _FldNameList[19] > AnaDat.Besko.Kurs "Kurs" "Kurs" ? ? "decimal" ? ? ? ? ? ? yes ? no 13.6 yes ? _FldNameList[20] > AnaDat.Besko.Lager "Lager" "Lager" ? ? "integer" ? ? ? ? ? ? yes ? no 5.4 yes ? _FldNameList[21] > AnaDat.Besko.Lieferzeit "Lieferzeit" "Lieferzeit" ? ? "character" ? ? ? ? ? ? yes ? no 15 yes ? _FldNameList[22] > AnaDat.Besko.Lief_Bed "Lief_Bed" "Lief_Bed" ? ? "integer" ? ? ? ? ? ? yes ? no 8.4 yes ? _FldNameList[23] > AnaDat.Besko.MWST_Nr "MWST_Nr" "MWST_Nr" ? ? "character" ? ? ? ? ? ? yes ? no 15 yes ? _FldNameList[24] > AnaDat.Besko.Rabatt "Rabatt" "Rabatt" ? ? "decimal" ? ? ? ? ? ? yes ? no 6.4 yes ? _FldNameList[25] > AnaDat.Besko.Schluss "Schluss" "Schluss" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes ? _FldNameList[26] > AnaDat.Besko.Spesen "Spesen" "Spesen" ? ? "decimal" ? ? ? ? ? ? yes ? no 10.4 yes ? _FldNameList[27] > AnaDat.Besko.U_Ref "U_Ref" "U_Ref" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ? _FldNameList[28] > AnaDat.Besko.Verbucht "Verbucht" "Verbucht" ? ? "logical" ? ? ? ? ? ? yes ? no 8.6 yes ? _FldNameList[29] > "_" "DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr )" "Lieferant" "Lieferant" "x(80)" "character" ? ? ? ? ? ? yes ? no 80 no ? _FldNameList[30] > "_" "DYNAMIC-FUNCTION('getBestellBis':U IN THIS-PROCEDURE, RowObject.Knr )" "BestelltBis" "Bestellung bis" "x(20)" "character" ? ? ? ? ? ? yes ? no 20 no ? _FldNameList[31] > "_" "DYNAMIC-FUNCTION('getLieferung':U IN THIS-PROCEDURE, RowObject.Knr )" "Lieferungen" ? "x(30)" "character" ? ? ? ? ? ? yes ? no 30 no ? _FldNameList[32] > "_" "DYNAMIC-FUNCTION('getWochentag':U, RowObject.Lief_Datum)" "Wochentag" ? "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ? _FldNameList[33] > "_" "(RowObject.Best_Tot - RowObject.SpesenBetr)" "Netto" "Total ohne Spesen" "zzz,zzz,zz9.99-" "Decimal" ? ? ? ? ? ? yes ? no 18 no ? _FldNameList[34] > AnaDat.Besko.SpesenBetr "SpesenBetr" "SpesenBetr" ? ? "decimal" ? ? ? ? ? ? yes ? no 11 yes ? _FldNameList[35] > AnaDat.Besko.ZusRab "ZusRab" "ZusRab" ? ? "decimal" ? ? ? ? ? ? yes ? no 7.6 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 } SUBSCRIBE TO 'REFRESHBESKO' ANYWHERE RUN-PROCEDURE 'refreshRow'. SUBSCRIBE TO 'GET_CURRENT_BESKO' ANYWHERE NO-ERROR. fOpen = FALSE. CREATE tLiefst. &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.BestelltBis = (DYNAMIC-FUNCTION('getBestellBis':U IN THIS-PROCEDURE, RowObject.Knr )) rowObject.Lieferant = (DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr )) rowObject.Lieferungen = (DYNAMIC-FUNCTION('getLieferung':U IN THIS-PROCEDURE, RowObject.Knr )) rowObject.Netto = ((RowObject.Best_Tot - RowObject.SpesenBetr)) rowObject.Wochentag = (DYNAMIC-FUNCTION('getWochentag':U, RowObject.Lief_Datum)) . END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&DB-REQUIRED-END} {&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 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GET_CURRENT_BESKO dTables PROCEDURE GET_CURRENT_BESKO : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF OUTPUT PARAMETER opRecid AS RECID NO-UNDO. DEF OUTPUT PARAMETER opBesnr AS INT NO-UNDO. DEF VAR iRecid AS RECID NO-UNDO. DEF BUFFER bBesko FOR Besko. ASSIGN opRecid = 0 opBesnr = 0. opRecid = DYNAMIC-FUNCTION('getCurrentRecid':U) NO-ERROR. IF opRecid = ? OR OPRecid = 0 THEN RETURN. FIND bBesko NO-LOCK WHERE RECID(bBesko) = opRecid. opBesnr = bBesko.Besnr. RELEASE bBesko. 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} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_LAGER dTables PROCEDURE SET_LAGER : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipiLager AS INTEGER NO-UNDO. IF iLager = ipiLager THEN RETURN. iLager = ipiLager. DYNAMIC-FUNCTION ('openQuery':U) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&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} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_STATUS dTables PROCEDURE SET_STATUS : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipiStatus AS INTEGER NO-UNDO. IF iStatus = ipiStatus THEN RETURN. iStatus = ipiStatus. DYNAMIC-FUNCTION ('openQuery':U) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getBestellBis dTables FUNCTION getBestellBis RETURNS CHARACTER ( ipiKnr AS INTEGER ): /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE BUFFER bLiefst FOR Liefst. FIND FIRST tLiefst. IF tLiefst.Knr <> ipiKnr THEN DO: FIND bLiefst NO-LOCK WHERE bLiefst.Firma = Firma AND bLiefst.Knr = ipiKnr NO-ERROR. IF AVAILABLE bLiefst THEN BUFFER-COPY bLiefst TO tLiefst. RELEASE bLiefst. END. RETURN tLiefst.BestBis. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&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} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLieferung dTables FUNCTION getLieferung RETURNS CHARACTER ( ipiKnr AS INTEGER ): /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE BUFFER bLiefst FOR Liefst. FIND FIRST tLiefst. IF tLiefst.Knr <> ipiKnr THEN DO: FIND bLiefst NO-LOCK WHERE bLiefst.Firma = Firma AND bLiefst.Knr = ipiKnr NO-ERROR. IF AVAILABLE bLiefst THEN BUFFER-COPY bLiefst TO tLiefst. RELEASE bLiefst. END. RETURN tLiefst.Lieferungen. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME {&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: ------------------------------------------------------------------------------*/ DEFINE VARIABLE Felder AS CHARACTER NO-UNDO. DEFINE VARIABLE Inhalt AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO. IF NOT fOpen THEN RETURN FALSE. iStatus = DYNAMIC-FUNCTION('getStatus':U IN hKontainer) NO-ERROR. iLager = DYNAMIC-FUNCTION('getLager':U IN hKontainer) NO-ERROR. IF iStatus = ? THEN iStatus = 1. IF iLager = ? THEN iLager = 0. 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 = 'Besko.Firma = "&1" AND ' + 'Besko.Best_Sta = &2 AND ' + 'Besko.Lager = &3 '. xWhere = SUBSTITUTE(xWhere, Firma, iStatus, iLager ). /* xString = 'FOR EACH Debop ' + xSort + 'WHERE ' */ /* + 'Debop.Firma = "' + Firma + '" AND ' */ /* + 'Debop.Knr = ' + STRING(Knr) + ' ' */ /* + 'NO-LOCK BY Debop.FakDat DESCENDING INDEXED-REPOSITION '. */ { 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}