&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin /*------------------------------------------------------------------------ File: adm2\src\browser.w Description: SmartDataBrowser Object Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* 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 --- */ { incl/tmpbrowser.i } DEFINE VARIABLE cSort AS CHARACTER NO-UNDO. DEFINE VARIABLE cFilter AS CHARACTER NO-UNDO. DEFINE VARIABLE lSetFilter AS LOG INIT FALSE NO-UNDO. DEFINE VARIABLE dDatum AS DATE NO-UNDO. DEFINE VARIABLE iArtnr AS INTEGER INIT 0 NO-UNDO. DEFINE VARIABLE doldDatum AS DATE NO-UNDO. DEFINE VARIABLE ioldArtnr AS INTEGER INIT 0 NO-UNDO. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO. DEFINE VARIABLE lEndError AS LOG INIT FALSE. {src/adm2/widgetprto.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDataBrowser &Scoped-define DB-AWARE no &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source /* Include file with RowObject temp-table definition */ &Scoped-define DATA-FIELD-DEFS "d-artbw-auftrag.i" /* Name of designated FRAME-NAME and/or first 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 rowObject /* Definitions for BROWSE br_table */ &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Artnr rowObject.Inhalt ~ rowObject.Jahr rowObject.Bez1 rowObject.Bez2 rowObject.Datum ~ rowObject.Menge rowObject.Preis rowObject.Bru_Betr rowObject.Rab_Betr ~ rowObject.Netto rowObject.DokNr rowObject.KGebinde rowObject.VGebinde ~ rowObject.GGebinde rowObject.Lager &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-br_table rowObject &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject /* Definitions for FRAME F-Main */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS br_table F_Artnr F_Kunde F_Datum RECT-1 &Scoped-Define DISPLAYED-OBJECTS F_Artnr F_Kunde F_Datum /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 F_Artnr F_Datum /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setRowFarbe bTableWin FUNCTION setRowFarbe RETURNS LOGICAL ( ipFarbeNormal AS INTEGER, ipFarbeSort AS INTEGER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin FUNCTION setZeilenfarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0 LABEL "Artnr" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U LABEL "ab Datum" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Kunde AS CHARACTER FORMAT "X(256)":U LABEL "Kunde" VIEW-AS FILL-IN NATIVE SIZE 142.6 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 184 BY 25.24. /* Query definitions */ &ANALYZE-SUSPEND DEFINE TEMP-TABLE RowObject NO-UNDO {{&DATA-FIELD-DEFS}} {src/adm2/robjflds.i}. DEFINE QUERY br_table FOR rowObject SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED QUERY br_table NO-LOCK DISPLAY rowObject.Artnr FORMAT "999999":U rowObject.Inhalt FORMAT "9999":U rowObject.Jahr FORMAT "9999":U rowObject.Bez1 FORMAT "x(30)":U rowObject.Bez2 FORMAT "x(30)":U rowObject.Datum FORMAT "99.99.9999":U rowObject.Menge FORMAT "zzzz9.99-":U rowObject.Preis FORMAT "zzz,zz9.999":U rowObject.Bru_Betr FORMAT "zzz,zzz,zz9.999-":U WIDTH 12 rowObject.Rab_Betr FORMAT "zzz,zz9.9999-":U WIDTH 9 rowObject.Netto FORMAT "1/0":U rowObject.DokNr FORMAT "x(12)":U rowObject.KGebinde FORMAT "x(12)":U rowObject.VGebinde FORMAT "x(12)":U rowObject.GGebinde FORMAT "x(12)":U rowObject.Lager FORMAT "99":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 182 BY 21.43 TOOLTIP "ALT-F = Artikelsuchen". /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main br_table AT ROW 4.52 COL 3 WIDGET-ID 200 F_Artnr AT ROW 3 COL 18 COLON-ALIGNED WIDGET-ID 8 F_Kunde AT ROW 1.52 COL 18 COLON-ALIGNED WIDGET-ID 4 NO-TAB-STOP F_Datum AT ROW 3 COL 142 COLON-ALIGNED WIDGET-ID 6 RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDataBrowser Data Source: "d-artbw-auftrag.w" Allow: Basic,Browse Frames: 1 Add Fields to: Neither 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 bTableWin ASSIGN HEIGHT = 26.19 WIDTH = 186. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin /* ************************* Included-Libraries *********************** */ {src/adm2/browser.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW bTableWin NOT-VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */ /* BROWSE-TAB br_table 1 F-Main */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main 6 */ /* SETTINGS FOR FILL-IN F_Datum IN FRAME F-Main 6 */ ASSIGN F_Kunde:READ-ONLY IN FRAME F-Main = TRUE. /* _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 = "rowObject" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > _.rowObject.Artnr "rowObject.Artnr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] = _.rowObject.Inhalt _FldNameList[3] = _.rowObject.Jahr _FldNameList[4] > _.rowObject.Bez1 "rowObject.Bez1" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[5] > _.rowObject.Bez2 "rowObject.Bez2" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[6] = _.rowObject.Datum _FldNameList[7] = _.rowObject.Menge _FldNameList[8] = _.rowObject.Preis _FldNameList[9] > _.rowObject.Bru_Betr "rowObject.Bru_Betr" ? ? "decimal" ? ? ? ? ? ? no "?" no no "12" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[10] > _.rowObject.Rab_Betr "rowObject.Rab_Betr" ? ? "decimal" ? ? ? ? ? ? no "?" no no "9" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[11] = _.rowObject.Netto _FldNameList[12] = _.rowObject.DokNr _FldNameList[13] = _.rowObject.KGebinde _FldNameList[14] = _.rowObject.VGebinde _FldNameList[15] = _.rowObject.GGebinde _FldNameList[16] = _.rowObject.Lager _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 bTableWin ON ALT-F OF br_table IN FRAME F-Main DO: DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE cRowid AS CHARACTER NO-UNDO. DEFINE VARIABLE cSuch AS CHARACTER NO-UNDO. DEFINE BUFFER bArtst FOR Artst. DEFINE BUFFER bArtbw FOR Artbw. iRecid = ?. cSuch = SUBSTITUTE('VERKAUF,&1,&2', iKnr, doldDatum). RUN 'g-suchen-artikel.w':U ( cSuch, OUTPUT iRecid ) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. FIND bArtst NO-LOCK WHERE RECID(bArtst) = iRecid. FIND FIRST bArtbw NO-LOCK USE-INDEX Artbw-k11 WHERE bArtbw.Firma = D1Firma AND bArtbw.Knr = iKnr AND bArtbw.Artnr = bArtst.Artnr AND bArtbw.Inhalt = bArtst.Inhalt AND bArtbw.Jahr = bArtst.Jahr NO-ERROR. IF NOT AVAILABLE bArtbw THEN DO: MESSAGE 'Kunde hat diesen Artikel noch nie bezogen' VIEW-AS ALERT-BOX. RELEASE bArtst. APPLY 'U1'. RETURN NO-APPLY. END. cRowid = STRING(ROWID(bArtbw)). RELEASE bArtst. RELEASE bArtbw. DYNAMIC-FUNCTION('fetchRowIdent' IN hDaten, cRowid, ? ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-END OF br_table IN FRAME F-Main DO: APPLY "END":U TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-HOME OF br_table IN FRAME F-Main DO: APPLY "HOME":U TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON DEFAULT-ACTION OF br_table IN FRAME F-Main DO: {src/adm2/brsdefault.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON END OF br_table IN FRAME F-Main DO: {src/adm2/brsend.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON END-ERROR OF br_table IN FRAME F-Main DO: APPLY 'ENTRY' TO F_Artnr. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON HOME OF br_table IN FRAME F-Main DO: {src/adm2/brshome.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main DO: APPLY 'ENTRY' TO {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main DO: DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE BUFFER bArtbw FOR Artbw. IF lSetFilter THEN cFilter = ''. ELSE DO: iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN RETURN NO-APPLY. FIND bArtbw NO-LOCK WHERE RECID(bArtbw) = iRecid NO-ERROR. IF NOT AVAILABLE bArtbw THEN RETURN NO-APPLY. cFilter = STRING(Artbw.Artnr). END. lSetFilter = NOT lSetFilter. RUN SET_FILTER IN hDaten ( 'Artnr', cFilter ) NO-ERROR. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON OFF-END OF br_table IN FRAME F-Main DO: {src/adm2/brsoffnd.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON OFF-HOME OF br_table IN FRAME F-Main DO: {src/adm2/brsoffhm.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON RETURN OF br_table IN FRAME F-Main DO: DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE BUFFER bArtbw FOR Artbw. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR. IF iRecid <> ? AND iRecid <> 0 THEN DO: FIND bArtbw NO-LOCK WHERE RECID(bArtbw) = iRecid. iArtnr = bArtbw.Artnr. ioldArtnr = iArtnr. RELEASE bArtbw. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR. END. APPLY 'U1'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-DISPLAY OF br_table IN FRAME F-Main DO: DEFINE VARIABLE iFarbe AS CHARACTER NO-UNDO. cSort = DYNAMIC-FUNCTION('getSortFeld':U IN hDaten ) NO-ERROR. DYNAMIC-FUNCTION('setRowFarbe':U, 15, 8) NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-ENTRY OF br_table IN FRAME F-Main DO: {src/adm2/brsentry.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-LEAVE OF br_table IN FRAME F-Main DO: {src/adm2/brsleave.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON SCROLL-NOTIFY OF br_table IN FRAME F-Main DO: {src/adm2/brsscrol.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON START-SEARCH OF br_table IN FRAME F-Main DO: { incl/brwstartsearch.i } END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON VALUE-CHANGED OF br_table IN FRAME F-Main DO: {src/adm2/brschnge.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Artnr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr bTableWin ON ENTRY OF F_Artnr IN FRAME F-Main /* Artnr */ DO: SELF:SCREEN-VALUE = STRING(iArtnr). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr bTableWin ON LEAVE OF F_Artnr IN FRAME F-Main /* Artnr */ DO: iArtnr = INTEGER(SELF:SCREEN-VALUE) NO-ERROR. IF iArtnr = ioldArtnr THEN RETURN. iOldArtnr = iArtnr. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Datum &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum bTableWin ON END-ERROR OF F_Datum IN FRAME F-Main /* ab Datum */ DO: lEndError = TRUE. APPLY 'ENTRY' TO F_Artnr. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum bTableWin ON LEAVE OF F_Datum IN FRAME F-Main /* ab Datum */ DO: IF lEndError THEN DO: lEndError = FALSE. RETURN. END. dDatum = DATE(SELF:SCREEN-VALUE) NO-ERROR. IF ERROR-STATUS:ERROR OR dDatum = ? THEN dDatum = TODAY - 365. IF dDatum = dolddatum THEN RETURN. DYNAMIC-FUNCTION('setBenutzerFWDatum':U, 'DATUM', ENTRY(1, THIS-PROCEDURE:NAME, '.'), 'AbDatum', 1, dDatum) NO-ERROR. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR. doldDatum = dDatum. APPLY 'U1'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin /* *************************** Main Block *************************** */ { incl/brwmainblock.i } { incl/brwinternproc.i } &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN initializeObject. &ENDIF /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin PROCEDURE destroyObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser, INPUT Sektion ) NO-ERROR. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _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 enableObject bTableWin PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. dDatum = DYNAMIC-FUNCTION('getBenutzerFWDatum':U, 'DATUM', ENTRY(1, THIS-PROCEDURE:NAME, '.'), 'AbDatum', 1) NO-ERROR. IF dDatum = ? THEN DO: dDatum = TODAY - 365. DYNAMIC-FUNCTION('setBenutzerFWDatum':U, 'DATUM', ENTRY(1, THIS-PROCEDURE:NAME, '.'), 'AbDatum', 1, dDatum) NO-ERROR. END. doldDatum = dDatum. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR. F_Artnr = iArtnr. F_Datum = dDatum. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin PROCEDURE ENTRY_BROWSE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE iRecid AS RECID NO-UNDO. { incl/brwinitialize.i } IF VALID-HANDLE ( hDaten ) THEN DO: iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ). IF iRecid = ? OR iRecid = 0 THEN RETURN. FIND Artbw NO-LOCK WHERE RECID(Artbw) = iRecid NO-ERROR. FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Artbw.Knr NO-ERROR. F_Kunde:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(Adresse.Knr,'999999') + ' / ' + Adresse.Anzeig_Br. END. APPLY 'VALUE-CHANGED':U TO hItem_sort. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject bTableWin PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. RUN SUPER. IF NOT VALID-HANDLE ( hDaten ) THEN DO: hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. END. PUBLISH 'GET_CURRENT_AUFKO' ( OUTPUT iRecid, OUTPUT iAufnr ). IF iAufnr = ? OR iAufnr = 0 THEN RETURN NO-APPLY. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid NO-ERROR. iKnr = bAufko.Knr. iArtnr = 0. ioldArtnr = 0. FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = bAufko.Knr NO-ERROR. F_Kunde:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(Adresse.Knr,'999999') + ' / ' + Adresse.Anzeig_Br. F_Artnr:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(iArtnr,'999999'). RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR. RELEASE bAufko. RELEASE Adresse. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setRowFarbe bTableWin FUNCTION setRowFarbe RETURNS LOGICAL ( ipFarbeNormal AS INTEGER, ipFarbeSort AS INTEGER ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE iFarbe AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: FOR EACH tBrowser WHERE VALID-HANDLE(tBrowser.hCol) AND tBrowser.fVisible NO-LOCK: IF tBrowser.Feld = cSort THEN iFarbe = ipFarbeSort. ELSE iFarbe = ipFArbeNormal. tBrowser.hCol:BGCOLOR = iFarbe. END. END. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin FUNCTION setZeilenfarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: FOR EACH TBrowser WHERE VALID-HANDLE(TBrowser.hCol) AND TBrowser.fVisible NO-LOCK: TBrowser.hCol:BGCOLOR = ipFarbe. END. END. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME