&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 --- */ DEFINE VARIABLE iLager AS INTEGER NO-UNDO. DEFINE VARIABLE iTage AS INTEGER NO-UNDO. DEFINE TEMP-TABLE tArtst LIKE Artst. { incl/tmpbrowser.i } {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-artikel.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.Knr rowObject.Kunde ~ rowObject.Datum rowObject.DokNr rowObject.Menge rowObject.Lager ~ rowObject.Rab_Art rowObject.Rab_Wert rowObject.Aktion rowObject.Preis ~ rowObject.Bru_Betr rowObject.Net_Betr rowObject.Lag_Buch rowObject.Tr_Art ~ rowObject.Fak_Dat rowObject.Fak_Art rowObject.Fak_Knr rowObject.WuCd ~ rowObject.Faknr rowObject.GGeb_Me rowObject.KGeb_Me rowObject.VGeb_Me &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 CB_AnzahlTage RECT-1 CB_Lager &Scoped-Define DISPLAYED-OBJECTS CB_AnzahlTage CB_Lager /* 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 setZeilenfarbe bTableWin FUNCTION setZeilenfarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Menu Definitions */ DEFINE MENU POPUP-MENU-br_table MENU-ITEM X_Eingabe_Kundennummer LABEL "Eingabe Kundennummer" MENU-ITEM X_AUSGABE_EXCEL_SELEKT LABEL "Ausgabe in Excel (selektioniert)". /* Definitions of the field level widgets */ DEFINE VARIABLE CB_AnzahlTage AS CHARACTER FORMAT "X(256)":U INITIAL "999999" LABEL "Tage Rückwirkend" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "1 Jahr","000365", "2 Jahre","000730", "3 Jahre","001095", "4 Jahre","001460", "alle","999999" DROP-DOWN-LIST SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U LABEL "Lager" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 150 BY 12.86. /* 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.Knr FORMAT "999999":U rowObject.Kunde FORMAT "x(60)":U rowObject.Datum FORMAT "99.99.9999":U rowObject.DokNr FORMAT "x(10)":U rowObject.Menge FORMAT "zzzz9.99-":U rowObject.Lager COLUMN-LABEL "LG" FORMAT "99":U WIDTH 3 rowObject.Rab_Art COLUMN-LABEL "RA" FORMAT "9":U WIDTH 4 rowObject.Rab_Wert COLUMN-LABEL "Rabatt" FORMAT "zz9.9999-":U rowObject.Aktion COLUMN-LABEL "AK" FORMAT "1/0":U rowObject.Preis FORMAT "zzz,zz9.999":U rowObject.Bru_Betr COLUMN-LABEL "Bruttobetrag" FORMAT "zzz,zzz,zz9.999-":U rowObject.Net_Betr COLUMN-LABEL "Nettobetrag" FORMAT "zzz,zzz,zz9.999-":U rowObject.Lag_Buch COLUMN-LABEL "LB" FORMAT "J/N":U rowObject.Tr_Art COLUMN-LABEL "TA" FORMAT "99":U rowObject.Fak_Dat COLUMN-LABEL "FakDatum" FORMAT "99.99.9999":U rowObject.Fak_Art COLUMN-LABEL "FArt" FORMAT "99":U rowObject.Fak_Knr COLUMN-LABEL "Fak Knr" FORMAT "999999":U rowObject.WuCd COLUMN-LABEL "WC" FORMAT "99":U WIDTH 4 rowObject.Faknr FORMAT "zzz,zzz,zzz":U rowObject.GGeb_Me COLUMN-LABEL "GGeb" FORMAT "zzz,zz9.99-":U rowObject.KGeb_Me COLUMN-LABEL "KGeb" FORMAT "zzz,zz9.99-":U rowObject.VGeb_Me COLUMN-LABEL "VGeb" FORMAT "zzz,zz9.99-":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 148 BY 10.95 TOOLTIP "Grau = Lagereingang, Cyan = Aktion, Gelb = Inventar, Grün = ohne Bestandesführu". /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main br_table AT ROW 2.67 COL 3 WIDGET-ID 200 CB_AnzahlTage AT ROW 1.52 COL 104 COLON-ALIGNED WIDGET-ID 8 CB_Lager AT ROW 1.52 COL 10 COLON-ALIGNED WIDGET-ID 4 NO-TAB-STOP "Artikelbewegungen" VIEW-AS TEXT SIZE 20.6 BY 1 AT ROW 1.52 COL 57.4 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-artikel.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 = 13.33 WIDTH = 152. /* 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. ASSIGN br_table:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_table:HANDLE. /* _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.Knr "rowObject.Knr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > _.rowObject.Kunde "rowObject.Kunde" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > _.rowObject.Datum "rowObject.Datum" ? ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[4] = _.rowObject.DokNr _FldNameList[5] > _.rowObject.Menge "rowObject.Menge" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[6] > _.rowObject.Lager "rowObject.Lager" "LG" ? "integer" ? ? ? ? ? ? no "Lager" no no "3" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[7] > _.rowObject.Rab_Art "rowObject.Rab_Art" "RA" ? "integer" ? ? ? ? ? ? no "Rabattart" no no "4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[8] > _.rowObject.Rab_Wert "rowObject.Rab_Wert" "Rabatt" ? "decimal" ? ? ? ? ? ? no "Rabattbetrag" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[9] > _.rowObject.Aktion "rowObject.Aktion" "AK" ? "logical" ? ? ? ? ? ? no "Aktion ( 1 = Ja, 0 = Nein)" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[10] > _.rowObject.Preis "rowObject.Preis" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[11] > _.rowObject.Bru_Betr "rowObject.Bru_Betr" "Bruttobetrag" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[12] > _.rowObject.Net_Betr "rowObject.Net_Betr" "Nettobetrag" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[13] > _.rowObject.Lag_Buch "rowObject.Lag_Buch" "LB" ? "logical" ? ? ? ? ? ? no "Lagerbuchung aktiv ?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[14] > _.rowObject.Tr_Art "rowObject.Tr_Art" "TA" ? "integer" ? ? ? ? ? ? no "Transaktionsart" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[15] > _.rowObject.Fak_Dat "rowObject.Fak_Dat" "FakDatum" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[16] > _.rowObject.Fak_Art "rowObject.Fak_Art" "FArt" ? "integer" ? ? ? ? ? ? no "Faktura-Art" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[17] > _.rowObject.Fak_Knr "rowObject.Fak_Knr" "Fak Knr" ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[18] > _.rowObject.WuCd "rowObject.WuCd" "WC" ? "integer" ? ? ? ? ? ? no "?" no no "4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[19] > _.rowObject.Faknr "rowObject.Faknr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[20] > _.rowObject.GGeb_Me "rowObject.GGeb_Me" "GGeb" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[21] > _.rowObject.KGeb_Me "rowObject.KGeb_Me" "KGeb" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[22] > _.rowObject.VGeb_Me "rowObject.VGeb_Me" "VGeb" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _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 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 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: IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ). 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 ROW-DISPLAY OF br_table IN FRAME F-Main DO: FIND FIRST tArtst NO-LOCK NO-ERROR. IF NOT AVAILABLE tArtst THEN CREATE tArtst. DO WHILE TRUE: IF rowObject.Firma = tArtst.Firma AND rowObject.Artnr = tArtst.Artnr AND rowObject.Inhalt = tArtst.Inhalt AND rowObject.Jahr = tArtst.Jahr THEN LEAVE. FIND Artst NO-LOCK OF rowObject NO-ERROR. BUFFER-COPY Artst TO tArtst. LEAVE. END. Farbe = 15. IF rowObject.Aktion THEN Farbe = 11. IF rowObject.Tr_Art = 11 THEN Farbe = 8. IF rowObject.Tr_Art = 21 THEN Farbe = 14. IF NOT rowObject.Lag_Buch AND tArtst.Lager THEN Farbe = 10. DYNAMIC-FUNCTION('setZeilenfarbe':U, Farbe) 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 CB_AnzahlTage &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_AnzahlTage bTableWin ON VALUE-CHANGED OF CB_AnzahlTage IN FRAME F-Main /* Tage Rückwirkend */ DO: iTage = INTEGER(SELF:SCREEN-VALUE). DYNAMIC-FUNCTION ('setArtbwVonDatum':U, iTage ) NO-ERROR. RUN SET_ZEITDAUER IN hDaten ( iTage ). APPLY 'U1'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Lager &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager bTableWin ON VALUE-CHANGED OF CB_Lager IN FRAME F-Main /* Lager */ DO: iLager = INTEGER(SELF:SCREEN-VALUE) NO-ERROR. hDaten = DYNAMIC-FUNCTION('getDataSource':U). DYNAMIC-FUNCTION('setLager':U IN hDaten, iLager) NO-ERROR. RUN SET_OPENFLAG IN hDaten ( TRUE ). APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. 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 AUSGABE_EXCEL_SELEKT bTableWin PROCEDURE AUSGABE_EXCEL_SELEKT : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE Artnr AS INTEGER NO-UNDO. DEFINE VARIABLE Inhalt AS INTEGER NO-UNDO. DEFINE VARIABLE Jahr AS INTEGER NO-UNDO. DEFINE VARIABLE Knr AS INTEGER NO-UNDO. DEFINE VARIABLE Tr_Art AS INTEGER NO-UNDO. DEFINE VARIABLE Datum AS DATE NO-UNDO. DEFINE VARIABLE Aufnr AS INTEGER NO-UNDO. DEFINE VARIABLE cInhalt AS CHARACTER NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ). IF iRecid = ? OR iRecid = 0 THEN RETURN NO-APPLY. FIND Artbw NO-LOCK WHERE RECID(Artbw) = iRecId NO-ERROR. IF NOT AVAILABLE Artbw THEN DO: ASSIGN Artnr = 0 Inhalt = 0 Jahr = 0 Knr = 0 Tr_Art = 0 Datum = TODAY Aufnr = 0. END. ELSE DO: ASSIGN Artnr = Artbw.Artnr Inhalt = Artbw.Inhalt Jahr = Artbw.Jahr Knr = Artbw.Knr Tr_Art = Artbw.Tr_Art Datum = Artbw.Datum Aufnr = Artbw.Aufnr. END. cInhalt = STRING(Artbw.Artnr) + ';' + STRING(Artbw.Inhalt) + ';' + STRING(Artbw.Jahr) + ';' + STRING(Artbw.Knr) + ';' + STRING(Artbw.Tr_Art) + ';' + STRING(Artbw.Datum,'99.99.9999') + ';' + STRING(Artbw.Aufnr). RUN 'g-excel-artbw.w':U ( INPUT cInhalt ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &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 EINGABE_KUNDENNUMMER bTableWin PROCEDURE EINGABE_KUNDENNUMMER : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE cRowId AS CHARACTER NO-UNDO. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO. DEFINE VARIABLE cArtikel AS CHARACTER NO-UNDO. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO. DEFINE VARIABLE iInhalt AS INTEGER NO-UNDO. DEFINE VARIABLE iJahr AS INTEGER NO-UNDO. cArtikel = DYNAMIC-FUNCTION('getArtikel':U) NO-ERROR. IF cArtikel = '' OR cArtikel = ? THEN RETURN NO-APPLY. iArtnr = INTEGER(ENTRY(2, cArtikel, CHR(01))). iInhalt = INTEGER(ENTRY(3, cArtikel, CHR(01))). iJahr = INTEGER(ENTRY(4, cArtikel, CHR(01))). RUN 'g-kundennr.w' ( OUTPUT iRecid ). IF iRecid = ? THEN RETURN NO-APPLY. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR. IF NOT AVAILABLE Adresse THEN RETURN NO-APPLY. iKnr = Adresse.Knr. RUN SET_SORT_KNR IN hDaten NO-ERROR. FIND FIRST Artbw NO-LOCK USE-INDEX Artbw-k11 WHERE Artbw.Firma = D1Firma AND Artbw.Artnr = iArtnr AND Artbw.Inhalt = iInhalt AND Artbw.Jahr = iJahr AND Artbw.Knr = iKnr NO-ERROR. IF NOT AVAILABLE Artbw THEN DO: FIND LAST Artbw NO-LOCK USE-INDEX Artbw-k11 WHERE Artbw.Firma = D1Firma AND Artbw.Artnr = iArtnr AND Artbw.Inhalt = iInhalt AND Artbw.Jahr = iJahr AND Artbw.Knr < iKnr NO-ERROR. END. IF NOT AVAILABLE Artbw THEN RETURN NO-APPLY. iRecid = RECID(Artbw). RUN REPOS IN hDaten ( iRecid ) NO-ERROR. /* cRowId = STRING(ROWID(Artbw)). DYNAMIC-FUNCTION('fetchRowIdent':U IN hDaten, cRowid, ?) NO-ERROR. */ APPLY 'U1'. RETURN NO-APPLY. 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 hideObject bTableWin PROCEDURE hideObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SET_OPENFLAG IN hDaten ( FALSE ) 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 initializeObject bTableWin PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE xString AS CHARACTER NO-UNDO. iTage = DYNAMIC-FUNCTION ('getArtbwVonDatum':U) NO-ERROR. IF SAktiv THEN DO: DO WITH FRAME {&FRAME-NAME}: RUN COMBO_LAGER ( CB_Lager:HANDLE ) NO-ERROR. IF CB_Lager:NUM-ITEMS > 1 THEN DO: xString = CB_Lager:LIST-ITEM-PAIRS. xString = xString + ';Alle Lager(999999);999999'. CB_Lager:LIST-ITEM-PAIRS = xString. END. iLager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR. IF iLager = ? THEN iLager = INTEGER(ENTRY(2, CB_Lager:LIST-ITEM-PAIRS, ';')). CB_Lager:SCREEN-VALUE = STRING(iLager,'999999'). iLager = INTEGER(CB_Lager:SCREEN-VALUE) NO-ERROR. END. END. { incl/brwinitialize.i } APPLY 'VALUE-CHANGED' TO hItem_sort. DO WITH FRAME {&FRAME-NAME}: CB_AnzahlTage:SCREEN-VALUE = STRING(iTage,'999999') NO-ERROR. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject bTableWin PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. RUN SET_OPENFLAG IN hDaten ( TRUE ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin FUNCTION setZeilenfarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ { incl/brwsetzeilenfarbe.i } END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME