| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030 |
- &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win
- /*------------------------------------------------------------------------
- File:
- Description: from BROWSER.W - Basic SmartBrowser Object Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress UIB. */
- /*----------------------------------------------------------------------*/
- /* 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 cSort AS CHAR INIT 'Datum' NO-UNDO.
- DEF VAR cAufAb AS CHAR INIT 'DESCENDING' NO-UNDO.
- DEF VAR lAufAb AS LOG INIT FALSE NO-UNDO.
- DEF VAR StartDatum AS DATE NO-UNDO.
- DEF VAR hQuery AS HANDLE NO-UNDO.
- DEF VAR iKnr AS INT NO-UNDO.
- DEF VAR iArtnr AS INT NO-UNDO.
- DEF VAR lFirst AS LOG INIT TRUE NO-UNDO.
- DEF VAR lSort AS LOG INIT FALSE NO-UNDO.
- /* ---------- Globale Variablen ---------------------------------- */
- { v8/globvar.i " " " " "SHARED" }
- { v8/debivar.i " " " " "SHARED" }
- { v8/artivar.i " " " " "SHARED" }
- { v8/contvar.i " " " " "SHARED" }
- DEF TEMP-TABLE tArtbw NO-UNDO
- FIELD Artnr AS INT FORMAT '999999'
- FIELD Inhalt AS INT FORMAT '9999'
- FIELD Jahr AS INT FORMAT '9999'
- FIELD Artikel AS CHAR FORMAT 'x(40)'
- FIELD Datum AS DATE FORMAT '99.99.9999'
- FIELD Menge AS DEC FORMAT '->,>>>,>>9'
- FIELD Preis AS DEC DECIMALS 4 FORMAT '>>,>>9.999'
- FIELD Bru_Betr AS DEC FORMAT '->>,>>>,>>9.99' LABEL 'Brutto'
- FIELD Rabatt AS DEC FORMAT '->>>9.99'
- FIELD Net_Betr AS DEC FORMAT '->>,>>>,>>9.99' LABEL 'Netto'
- FIELD DokNr AS CHAR FORMAT 'x(10)'
- FIELD iZeile AS INT
- FIELD KGebinde AS CHAR FORMAT 'x(12)'
- FIELD VGebinde AS CHAR FORMAT 'x(12)'
- FIELD GGebinde AS CHAR FORMAT 'x(12)'
- FIELD FremdNr AS CHAR FORMAT 'xxxxxx.xxxx.xxxx' LABEL 'Alte Nummer'
- FIELD Lager AS INT FORMAT 'z9' LABEL 'LG'
-
- INDEX tArtbw-k1
- iZeile.
- DEF TEMP-TABLE tBrowser NO-UNDO
- FIELD Feld AS CHAR
- FIELD Pos AS INT
- FIELD Breit AS DEC
- FIELD fAktiv AS LOG
- FIELD fVisible AS LOG
- FIELD PosAkt AS INT
- FIELD BreitAkt AS DEC
- FIELD hCol AS HANDLE
- FIELD cType AS CHAR
- FIELD cFormat AS CHAR
- FIELD cInitial AS CHAR
- FIELD cLabel AS CHAR.
- DEF TEMP-TABLE tMenuItems NO-UNDO
- FIELD hMenuItem AS HANDLE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartBrowser
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
- /* 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
- /* Define KEY-PHRASE in case it is used by any query. */
- &Scoped-define KEY-PHRASE TRUE
- /* Definitions for FRAME F-Main */
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS F_abDatum br_table F_Artnr RECT-35
- &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Anzeig_Br F_abDatum F_Artnr
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_Knr F_Anzeig_Br F_abDatum F_Artnr
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
- /* Actions: ? adm/support/keyedit.w ? ? ? */
- /* STRUCTURED-DATA
- <KEY-OBJECT>
- &BROWSE-NAME
- </KEY-OBJECT>
- <FOREIGN-KEYS>
- </FOREIGN-KEYS>
- <EXECUTING-CODE>
- **************************
- * Set attributes related to FOREIGN KEYS
- */
- RUN set-attribute-list (
- 'Keys-Accepted = "",
- Keys-Supplied = ""':U).
- /**************************
- </EXECUTING-CODE> */
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
- /* Actions: ? adm/support/advqedit.w ? ? ? */
- /* STRUCTURED-DATA
- <KEY-OBJECT>
- &BROWSE-NAME
- </KEY-OBJECT>
- <SORTBY-OPTIONS>
- </SORTBY-OPTIONS>
- <SORTBY-RUN-CODE>
- ************************
- * Set attributes related to SORTBY-OPTIONS */
- RUN set-attribute-list (
- 'SortBy-Options = ""':U).
- /************************
- </SORTBY-RUN-CODE>
- <FILTER-ATTRIBUTES>
- </FILTER-ATTRIBUTES> */
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD SetZeilenFarbe B-table-Win
- FUNCTION SetZeilenFarbe RETURNS LOGICAL
- ( ipFarbe AS INT ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE VARIABLE F_abDatum AS DATE FORMAT "99.99.9999":U
- LABEL "ab Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Anzeig_Br AS CHARACTER FORMAT "x(50)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 95 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "Artikelnummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-35
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 166 BY 20.48.
- /* Browse definitions */
- DEFINE BROWSE br_table
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
-
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 160.4 BY 15.62
- BGCOLOR 15 FONT 11.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- F_Knr AT ROW 2.52 COL 2.6 NO-LABEL NO-TAB-STOP
- F_Anzeig_Br AT ROW 2.52 COL 13 COLON-ALIGNED NO-LABEL NO-TAB-STOP
- F_abDatum AT ROW 2.52 COL 123 COLON-ALIGNED WIDGET-ID 2
- br_table AT ROW 4.1 COL 3
- F_Artnr AT ROW 20 COL 15.8 COLON-ALIGNED
- "Kunde" VIEW-AS TEXT
- SIZE 50 BY 1 AT ROW 1.48 COL 3
- FONT 9
- RECT-35 AT ROW 1.24 COL 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1 SCROLLABLE .
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartBrowser
- Allow: Basic,Browse
- Frames: 1
- Add Fields to: EXTERNAL-TABLES
- 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 B-table-Win ASSIGN
- HEIGHT = 21.19
- WIDTH = 168.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
- /* ************************* Included-Libraries *********************** */
- {src/adm/method/browser.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW B-table-Win
- NOT-VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME F-Main
- NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
- /* BROWSE-TAB br_table F_abDatum F-Main */
- ASSIGN
- FRAME F-Main:SCROLLABLE = FALSE
- FRAME F-Main:HIDDEN = TRUE.
- ASSIGN
- br_table:ALLOW-COLUMN-SEARCHING IN FRAME F-Main = TRUE
- br_table:COLUMN-RESIZABLE IN FRAME F-Main = TRUE
- br_table:COLUMN-MOVABLE IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN F_abDatum IN FRAME F-Main
- 6 */
- /* SETTINGS FOR FILL-IN F_Anzeig_Br IN FRAME F-Main
- NO-ENABLE 6 */
- ASSIGN
- F_Anzeig_Br:READ-ONLY IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
- 6 */
- /* SETTINGS FOR FILL-IN F_Knr IN FRAME F-Main
- NO-ENABLE ALIGN-L 6 */
- ASSIGN
- F_Knr: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
- _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
- _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 B-table-Win
- ON END-ERROR OF br_table IN FRAME F-Main
- DO:
- APPLY 'ENTRY' TO F_AbDatum IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
- ON ROW-DISPLAY OF br_table IN FRAME F-Main
- DO:
- DYNAMIC-FUNCTION( 'SetZeilenFarbe':U, 15 ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
- ON ROW-ENTRY OF br_table IN FRAME F-Main
- DO:
- /* This code displays initial values for newly added or copied rows. */
- {src/adm/template/brsentry.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
- ON ROW-LEAVE OF br_table IN FRAME F-Main
- DO:
- /* Do not disable this code or no updates will take place except
- by pressing the Save button on an Update SmartPanel. */
- {src/adm/template/brsleave.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
- ON START-SEARCH OF br_table IN FRAME F-Main
- DO:
- DEF VAR ColumnHandle AS HANDLE NO-UNDO.
- DEF VAR xSort AS CHAR NO-UNDO.
-
- ASSIGN ColumnHandle = {&BROWSE-NAME}:CURRENT-COLUMN.
- DO WITH FRAME {&FRAME-NAME}:
- APPLY 'END-SEARCH' TO {&BROWSE-NAME}.
- END.
- xSort = ColumnHandle:NAME.
- IF cSort = xSort THEN lAufAb = NOT lAufAb.
- IF lAufAb THEN cAufAb = ''.
- ELSE cAufAb = 'DESCENDING'.
-
- cSort = xSort.
- lSort = TRUE.
- RUN TEMP_TABELLE_FUELLEN ( iKnr, iArtnr, StartDatum ).
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
- ON VALUE-CHANGED OF br_table IN FRAME F-Main
- DO:
- /* This ADM trigger code must be preserved in order to notify other
- objects when the browser's current row changes. */
- {src/adm/template/brschnge.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_abDatum
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_abDatum B-table-Win
- ON LEAVE OF F_abDatum IN FRAME F-Main /* ab Datum */
- DO:
- ASSIGN F_AbDatum.
-
- StartDatum = F_abDatum.
- RUN TEMP_TABELLE_FUELLEN ( iKnr, iArtnr, StartDatum ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_abDatum B-table-Win
- ON RETURN OF F_abDatum IN FRAME F-Main /* ab Datum */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Artnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr B-table-Win
- ON LEAVE OF F_Artnr IN FRAME F-Main /* Artikelnummer */
- DO:
- ASSIGN {&List-6}.
- iArtnr = F_Artnr.
- RUN TEMP_TABELLE_FUELLEN ( iKnr, iArtnr, StartDatum ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr B-table-Win
- ON RETURN OF F_Artnr IN FRAME F-Main /* Artikelnummer */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
- /* *************************** Main Block *************************** */
- ASSIGN cSort = 'DATUM'
- cAufAb = 'DESCENDING'
- lAufAb = FALSE
- F_Artnr = 0
- F_abDatum = TODAY - 365
- StartDatum = F_abDatum.
- PROCEDURE ShellExecuteA EXTERNAL "shell32.dll":
- DEF INPUT PARAMETER hwnd AS LONG. /* Handle to parent window */
- DEF INPUT PARAMETER lpOperation AS CHAR. /* Operation to perform: open, print */
- DEF INPUT PARAMETER lpFile AS CHAR. /* Document or executable name */
- DEF INPUT PARAMETER lpParameters AS CHAR. /* Command line parameters to executable in lpFile */
- DEF INPUT PARAMETER lpDirectory AS CHAR. /* Default directory */
- DEF INPUT PARAMETER nShowCmd AS LONG. /* whether shown when opened:
- 0 hidden, 1 normal, minimized 2, maximized 3,
- 0 if lpFile is a document */
- DEF RETURN PARAMETER hInstance AS LONG. /* Less than or equal to 32 */
- END PROCEDURE.
- /*
- PROCEDURE EXPORT_EXCEL:
- { incl/brwexportexcel.i }
- END PROCEDURE.
- PROCEDURE FILTER_SETZEN:
- { incl/brwfilter.i }
- END PROCEDURE.
- PROCEDURE ZURUECKSETZEN:
- { incl/brwresetbreitespalte.i }
- END PROCEDURE.
- */
- PROCEDURE SORTIERBAR:
- DEF INPUT PARAMETER ipSort AS HANDLE NO-UNDO.
- DEF INPUT PARAMETER ipMove AS HANDLE NO-UNDO.
- DEF VAR hBrowser AS HANDLE NO-UNDO.
- ipMove:CHECKED = FALSE.
- ipSort:CHECKED = TRUE .
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- hBrowser:COLUMN-MOVABLE = FALSE.
- hBrowser:ALLOW-COLUMN-SEARCHING = TRUE.
- END PROCEDURE.
- PROCEDURE VERSCHIEBBAR:
- DEF INPUT PARAMETER ipMove AS HANDLE NO-UNDO.
- DEF INPUT PARAMETER ipSort AS HANDLE NO-UNDO.
- DEF VAR hBrowser AS HANDLE NO-UNDO.
- ipSort:CHECKED = FALSE.
- ipMove:CHECKED = TRUE .
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- hBrowser:ALLOW-COLUMN-SEARCHING = FALSE.
- hBrowser:COLUMN-MOVABLE = TRUE.
- END PROCEDURE.
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- RUN dispatch IN THIS-PROCEDURE ('initialize':U).
- &ENDIF
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
- PROCEDURE adm-row-available :
- /*------------------------------------------------------------------------------
- Purpose: Dispatched to this procedure when the Record-
- Source has a new row available. This procedure
- tries to get the new row (or foriegn keys) from
- the Record-Source and process it.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/row-head.i}
- /* Process the newly available records (i.e. display fields,
- open queries, and/or pass records on to any RECORD-TARGETS). */
- {src/adm/template/row-end.i}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- 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 ENDEAUFTRAG B-table-Win
- PROCEDURE ENDEAUFTRAG :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE B-table-Win
- PROCEDURE ENTRY_BROWSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
- RETURN NO-APPLY.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-destroy B-table-Win
- PROCEDURE local-destroy :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR hBrowser AS HANDLE NO-UNDO.
- DEF VAR Sektion AS CHAR NO-UNDO.
- Sektion = ENTRY(1, THIS-PROCEDURE:NAME, '.').
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
- INPUT Sektion ) NO-ERROR.
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'destroy':U ) .
- /* Code placed here will execute AFTER standard behavior. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
- PROCEDURE local-initialize :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR Sektion AS CHAR NO-UNDO.
- DEF VAR hBrowser AS HANDLE NO-UNDO.
- DEF VAR hTBrowser AS HANDLE NO-UNDO.
- DEF VAR hMenu AS HANDLE NO-UNDO.
- DEF VAR hMenuItem AS HANDLE NO-UNDO.
- DEF VAR hItem_Filter AS HANDLE NO-UNDO.
- DEF VAR hItem_Excel AS HANDLE NO-UNDO.
- DEF VAR hItem_zurueck AS HANDLE NO-UNDO.
- DEF VAR hItem_sort AS HANDLE NO-UNDO.
- DEF VAR hItem_move AS HANDLE NO-UNDO.
- DEF VAR hItem_Rule AS HANDLE NO-UNDO.
- DEF VAR cMenu AS CHAR NO-UNDO.
- DEF VAR hxMenu AS HANDLE NO-UNDO.
- DEF VAR hxMenuItem AS HANDLE EXTENT 10 NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- DEF VAR cExceptList AS CHAR NO-UNDO
- INIT 'iZeile'.
-
- CREATE QUERY hQuery.
- hQuery:SET-BUFFERS(TEMP-TABLE tArtbw:DEFAULT-BUFFER-HANDLE).
- hQuery:QUERY-PREPARE('FOR EACH tArtbw NO-LOCK').
- BROWSE {&BROWSE-NAME}:QUERY = hQuery.
-
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- hBrowser:ADD-COLUMNS-FROM( 'tArtbw', cExceptList ).
-
- F_abDatum = TODAY - 365.
- StartDatum = F_abDatum.
-
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
- Sektion = ENTRY(1, THIS-PROCEDURE:NAME, '.').
-
- EMPTY TEMP-TABLE TBrowser.
- htBrowser = TEMP-TABLE TBrowser:DEFAULT-BUFFER-HANDLE.
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- hBrowser:COLUMN-MOVABLE = TRUE.
-
- DYNAMIC-FUNCTION('getBrowserDaten':U, INPUT htBrowser,
- INPUT hBrowser,
- INPUT Sektion ) NO-ERROR.
-
- hMenu = hBrowser:POPUP-MENU NO-ERROR.
- hMenuItem = hMenu :FIRST-CHILD NO-ERROR.
- DO WHILE VALID-HANDLE (hMenuItem):
- IF hMenuItem:NAME = ? OR
- NOT hMenuItem:NAME BEGINS 'x_' THEN DO:
- hMenuItem = hMenuItem:NEXT-SIBLING.
- NEXT.
- END.
- CREATE tMenuItems.
- ASSIGN tMenuItems.hMenuItem = hMenuItem.
- hMenuItem = hMenuItem:NEXT-SIBLING.
- END.
- hMenu = ?.
- CREATE MENU hMenu
- ASSIGN POPUP-ONLY = TRUE
- TITLE = 'Browser Menu'.
- CREATE MENU-ITEM hItem_Excel
- ASSIGN LABEL = 'Export in Excel'
- NAME = 'm_excel'
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_Filter
- ASSIGN LABEL = 'Filter setzen'
- NAME = 'm_filter'
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_Rule
- ASSIGN SUBTYPE = 'RULE':U
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_zurueck
- ASSIGN LABEL = 'Spalten und Breite zurücksetzen'
- NAME = 'm_zurueck'
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_Rule
- ASSIGN SUBTYPE = 'RULE':U
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_sort
- ASSIGN LABEL = 'Spalten sortierbar'
- NAME = 'm_zurueck'
- TOGGLE-BOX = TRUE
- CHECKED = TRUE
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_move
- ASSIGN LABEL = 'Spalten verschiebbar'
- NAME = 'm_move'
- TOGGLE-BOX = TRUE
- CHECKED = FALSE
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_Rule
- ASSIGN SUBTYPE = 'RULE':U
- PARENT = hMenu.
- FOR EACH tMenuItems ii = 1 TO 10:
- CREATE MENU-ITEM hxMenuItem[ii]
- ASSIGN LABEL = tMenuItems.hMenuItem:LABEL
- NAME = SUBSTRING(tMenuItems.hMenuItem:NAME,03)
- TOGGLE-BOX = TRUE
- PARENT = hMenu.
- ON CHOOSE OF hxMenuItem[ii] PERSISTENT RUN VALUE(hxMenuItem[ii]:NAME) IN TARGET-PROCEDURE.
- ON VALUE-CHANGED OF hxMenuItem[ii] PERSISTENT RUN VALUE(hxMenuItem[ii]:NAME) IN TARGET-PROCEDURE.
- END.
- hBrowser:POPUP-MENU = hMenu NO-ERROR.
- ON CHOOSE OF hItem_Filter PERSISTENT RUN FILTER_SETZEN IN TARGET-PROCEDURE.
- ON CHOOSE OF hItem_Excel PERSISTENT RUN EXPORT_EXCEL IN TARGET-PROCEDURE.
- ON CHOOSE OF hItem_zurueck PERSISTENT RUN ZURUECKSETZEN IN TARGET-PROCEDURE.
- ON VALUE-CHANGED OF hItem_sort
- PERSISTENT RUN SORTIERBAR IN TARGET-PROCEDURE ( hItem_sort, hItem_move ).
- ON VALUE-CHANGED OF hItem_move
- PERSISTENT RUN VERSCHIEBBAR IN TARGET-PROCEDURE ( hItem_move, hItem_sort ).
- APPLY 'VALUE-CHANGED' TO hItem_Sort.
- RUN TEMP_TABELLE_FUELLEN ( iKnr, iArtnr, StartDatum ).
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
- PROCEDURE local-open-query :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- /*
- DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
- ASSIGN F_Artnr.
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE.
- CLOSE QUERY {&BROWSE-NAME}.
- LEAVE.
- END.
-
- IF F_Artnr <> 0 THEN VSort = VSort + 10.
- CASE VSort:
-
- WHEN 1 THEN DO:
- OPEN QUERY {&BROWSE-NAME}
- FOR EACH AnaDat.Artbw USE-INDEX Artbw-k3
- WHERE Artbw.Firma = GVFirma
- AND Artbw.Knr = XVKnr
- AND Artbw.Datum >= StartDatum NO-LOCK
- BY Artbw.Datum DESCENDING.
- END.
-
- WHEN 11 THEN DO:
- OPEN QUERY {&BROWSE-NAME}
- FOR EACH AnaDat.Artbw USE-INDEX Artbw-k9
- WHERE Artbw.Firma = GVFirma
- AND Artbw.Knr = XVKnr
- AND Artbw.Artnr = F_Artnr
- AND Artbw.Datum >= StartDatum NO-LOCK
-
- BY Artbw.Artnr
- BY Artbw.Inhalt
- BY Artbw.Jahr
- BY Artbw.Datum DESCENDING.
- END.
-
- WHEN 2 THEN DO:
- OPEN QUERY {&BROWSE-NAME}
- FOR EACH AnaDat.Artbw USE-INDEX Artbw-k5
- WHERE Artbw.Firma = GVFirma
- AND Artbw.Knr = XVKnr
- AND Artbw.Datum >= StartDatum NO-LOCK
-
- BY Artbw.Artnr
- BY Artbw.Inhalt
- BY Artbw.Jahr
- BY Artbw.Datum DESCENDING.
- END.
-
- WHEN 12 THEN DO:
- OPEN QUERY {&BROWSE-NAME}
- FOR EACH AnaDat.Artbw USE-INDEX Artbw-k9
- WHERE Artbw.Firma = GVFirma
- AND Artbw.Knr = XVKnr
- AND Artbw.Artnr = F_Artnr
- AND Artbw.Datum >= StartDatum NO-LOCK
-
- BY Artbw.Artnr
- BY Artbw.Inhalt
- BY Artbw.Jahr
- BY Artbw.Datum DESCENDING.
- END.
-
- END CASE.
- */
- F_Artnr = 0.
- DISPLAY F_Artnr WITH FRAME {&FRAME-NAME}.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
- PROCEDURE local-view :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
- IF XVKnr = 0 OR
- XVKnr = ? THEN RETURN.
-
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = XVKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Adresse THEN RETURN.
-
- F_Knr = XVKnr.
- F_Anzeig_Br = Adresse.Anzeig_Br.
- F_Artnr = 0.
- DISPLAY {&List-6} WITH FRAME {&FRAME-NAME}.
- ASSIGN iKnr = F_Knr
- iArtnr = F_Artnr.
- IF lFirst THEN DO:
- lFirst = FALSE.
- RETURN.
- END.
-
- RUN TEMP_TABELLE_FUELLEN ( iKnr, iArtnr, StartDatum ).
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
- PROCEDURE send-records :
- /*------------------------------------------------------------------------------
- Purpose: Send record ROWID's for all tables used by
- this file.
- Parameters: see template/snd-head.i
- ------------------------------------------------------------------------------*/
- /* SEND-RECORDS does nothing because there are no External
- Tables specified for this SmartBrowser, and there are no
- tables specified in any contained Browse, Query, or Frame. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
- PROCEDURE state-changed :
- /* -----------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- -------------------------------------------------------------*/
- DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
- DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
- CASE p-state:
- /* Object instance CASEs can go here to replace standard behavior
- or add new cases. */
- {src/adm/template/bstates.i}
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMP_TABELLE_FUELLEN B-table-Win
- PROCEDURE TEMP_TABELLE_FUELLEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipKnr AS INT NO-UNDO.
- DEF INPUT PARAMETER ipArtnr AS INT NO-UNDO.
- DEF INPUT PARAMETER ipDatum AS DATE NO-UNDO.
- DEF VAR iZeile AS INT NO-UNDO.
- DEF VAR xWhere AS CHAR NO-UNDO.
- DEF VAR zSort AS CHAR NO-UNDO.
- IF ipDatum = ? THEN ipDatum = DATE(01,01,YEAR(TODAY) - 2).
- IF ipKnr = 0 THEN RETURN NO-APPLY.
- IF NOT lSort THEN DO:
- SESSION:SET-WAIT-STATE('GENERAL').
-
- EMPTY TEMP-TABLE tArtbw.
- xWhere = SUBSTITUTE('FOR EACH tArtbw NO-LOCK WHERE TRUE BY tArtbw.&1 &2 ', cSort, cAufAb).
- hQuery:QUERY-PREPARE(xWhere).
- hQuery:QUERY-OPEN().
- hQuery:QUERY-CLOSE().
-
- FOR EACH Artbw NO-LOCK USE-INDEX Artbw-k3
- WHERE Artbw.Firma = GVFirma
- AND Artbw.Knr = ipKnr
- AND ((ipArtnr = 0)
- OR (ipArtnr = Artbw.Artnr))
- AND Artbw.Datum >= ipDatum:
-
- iZeile = iZeile + 1.
- CREATE tArtbw.
- BUFFER-COPY Artbw
- TO tArtbw
- ASSIGN tArtbw.iZeile = iZeile
- tArtbw.KGebinde = DYNAMIC-FUNCTION('getKGebindeKBez':U , Artbw.KGeb_Cd)
- tArtbw.VGebinde = DYNAMIC-FUNCTION('getVGebindeKBez':U , Artbw.VGeb_Cd)
- tArtbw.GGebinde = DYNAMIC-FUNCTION('getGGebindeKBez':U , Artbw.GGeb_Cd)
- tArtbw.Artikel = TRIM(Artbw.Bez1 + ' ' + Artbw.Bez2)
- tArtbw.FremdNr = DYNAMIC-FUNCTION('getFremdNr':U , Artbw.Artnr, Artbw.Inhalt, Artbw.Jahr )
- tArtbw.DokNr = (IF Artbw.Faknr > 0 THEN ('F' + TRIM(STRING(Artbw.Faknr,'>>999999')))
- ELSE ('A' + TRIM(STRING(Artbw.Aufnr,'>>999999'))))
- NO-ERROR.
- END.
- SESSION:SET-WAIT-STATE('').
- END.
- lSort = FALSE.
- zSort = ''.
- IF cSort = 'Artnr' THEN zSort = ' BY tArtbw.KGebinde '.
- ELSE zSort = ' BY tArtbw.Artnr BY tArtbw.KGebinde '.
- IF cSort <> 'Datum' THEN zSort = zSort + ' BY tArtbw.Datum DESCENDING'.
- xWhere = SUBSTITUTE('FOR EACH tArtbw NO-LOCK WHERE TRUE BY tArtbw.&1 &2 &3', cSort, cAufAb, zSort).
- hQuery:QUERY-PREPARE(xWhere).
- hQuery:QUERY-OPEN().
- APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
- RETURN NO-APPLY.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION SetZeilenFarbe B-table-Win
- FUNCTION SetZeilenFarbe RETURNS LOGICAL
- ( ipFarbe AS INT ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR iFarbe AS INT NO-UNDO.
- DEF VAR hFeld AS HANDLE 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 = 8.
- ELSE iFarbe = ipFarbe.
- tBrowser.hCol:BGCOLOR = iFarbe.
- END.
- END.
- /**/
- RETURN TRUE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|