| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714 |
- &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:
- <none>
- Output Parameters:
- <none>
- ------------------------------------------------------------------------*/
- /* 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 --- */
- DEF VAR cFelder AS CHAR NO-UNDO.
- DEF VAR cFeld AS CHAR NO-UNDO.
- DEF VAR cLabel AS CHAR NO-UNDO.
- DEF VAR cFormat AS CHAR NO-UNDO.
- DEF VAR cLang AS CHAR NO-UNDO.
- DEF VAR FoFirma AS CHAR NO-UNDO INIT 'x(08)'.
- DEF VAR FoRecArt AS CHAR NO-UNDO INIT 'x(12)'.
- DEF VAR FoSprcd AS CHAR NO-UNDO INIT '9'.
- DEF VAR FoCodeI AS CHAR NO-UNDO INIT '999999'.
- DEF VAR FoCodeC AS CHAR NO-UNDO INIT 'x(08)'.
- DEF VAR FoBez1 AS CHAR NO-UNDO INIT 'x(30)'.
- DEF VAR FoBez2 AS CHAR NO-UNDO INIT 'x(30)'.
- DEF VAR FoBezL AS CHAR NO-UNDO INIT 'x(80)'.
- DEF VAR FoInt_1 AS CHAR NO-UNDO INIT 'zzz,zz9-'.
- DEF VAR FoInt_2 AS CHAR NO-UNDO INIT 'zzz,zz9-'.
- DEF VAR FoInt_3 AS CHAR NO-UNDO INIT 'zzz,zz9-'.
- DEF VAR FoDec_1 AS CHAR NO-UNDO INIT 'zzz,zz9.99-'.
- DEF VAR FoDec_2 AS CHAR NO-UNDO INIT 'zzz,zz9.99-'.
- DEF VAR FoDec_3 AS CHAR NO-UNDO INIT 'zzz,zz9.99-'.
- DEF VAR RecArt AS CHAR NO-UNDO INIT 'Allgemein'.
- /* _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-tabel.i"
- /* Name of first Frame and/or 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.Firma rowObject.Sprcd ~
- rowObject.RecArt rowObject.CodeC rowObject.CodeI rowObject.Bez1 ~
- rowObject.Bez2 rowObject.BezL rowObject.Int_1 rowObject.Int_2 ~
- rowObject.Int_3 rowObject.Dec_1 rowObject.Dec_2 rowObject.Dec_3
- &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 RECT-Browser br_table
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE RECTANGLE RECT-Browser
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 109.8 BY 7.14.
- /* 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.Firma FORMAT "x(08)":U
- rowObject.Sprcd FORMAT "99":U WIDTH 6
- rowObject.RecArt FORMAT "x(12)":U
- rowObject.CodeC COLUMN-LABEL "Code" FORMAT "x(8)":U
- rowObject.CodeI COLUMN-LABEL "Code" FORMAT "999999":U
- rowObject.Bez1 COLUMN-LABEL "Bezeichnung 1" FORMAT "x(30)":U
- rowObject.Bez2 COLUMN-LABEL "Bezeichnung 2" FORMAT "x(30)":U
- rowObject.BezL COLUMN-LABEL "Bezeichnung Lang" FORMAT "x(80)":U
- rowObject.Int_1 FORMAT "zzz,zz9-":U
- rowObject.Int_2 FORMAT "zzz,zz9-":U
- rowObject.Int_3 FORMAT "zzz,zz9-":U
- rowObject.Dec_1 FORMAT "zzz,zz9.99-":U
- rowObject.Dec_2 FORMAT "zzz,zz9.99-":U
- rowObject.Dec_3 FORMAT "zzz,zz9.99-":U
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 106 BY 6.67
- BGCOLOR 15 .
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- br_table AT ROW 1.48 COL 3
- RECT-Browser 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: SmartDataBrowser
- Data Source: "d-tabel.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 = 7.67
- WIDTH = 111.4.
- /* 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 Size-to-Fit */
- /* BROWSE-TAB br_table RECT-Browser F-Main */
- ASSIGN
- FRAME F-Main:SCROLLABLE = FALSE
- FRAME F-Main:HIDDEN = TRUE.
- ASSIGN
- br_table:COLUMN-RESIZABLE IN FRAME F-Main = TRUE
- br_table:COLUMN-MOVABLE 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] > _<SDO>.rowObject.Firma
- "rowObject.Firma" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[2] > _<SDO>.rowObject.Sprcd
- "rowObject.Sprcd" ? ? "integer" ? ? ? ? ? ? no "?" no no "6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[3] = _<SDO>.rowObject.RecArt
- _FldNameList[4] > _<SDO>.rowObject.CodeC
- "rowObject.CodeC" "Code" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[5] > _<SDO>.rowObject.CodeI
- "rowObject.CodeI" "Code" ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[6] > _<SDO>.rowObject.Bez1
- "rowObject.Bez1" "Bezeichnung 1" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[7] > _<SDO>.rowObject.Bez2
- "rowObject.Bez2" "Bezeichnung 2" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[8] > _<SDO>.rowObject.BezL
- "rowObject.BezL" "Bezeichnung Lang" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[9] > _<SDO>.rowObject.Int_1
- "rowObject.Int_1" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[10] > _<SDO>.rowObject.Int_2
- "rowObject.Int_2" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[11] > _<SDO>.rowObject.Int_3
- "rowObject.Int_3" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[12] > _<SDO>.rowObject.Dec_1
- "rowObject.Dec_1" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[13] > _<SDO>.rowObject.Dec_2
- "rowObject.Dec_2" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[14] > _<SDO>.rowObject.Dec_3
- "rowObject.Dec_3" ? ? "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 br_table.
- 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 br_table.
- 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 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:
- rowObject.Firma:FORMAT IN BROWSE {&BROWSE-NAME} = FoFirma.
- rowObject.Sprcd:FORMAT IN BROWSE {&BROWSE-NAME} = FoSprcd.
- rowObject.RecArt:FORMAT IN BROWSE {&BROWSE-NAME} = FoRecArt.
- rowObject.CodeI:FORMAT IN BROWSE {&BROWSE-NAME} = FoCodeI.
- rowObject.CodeC:FORMAT IN BROWSE {&BROWSE-NAME} = FoCodeC.
- rowObject.Bez1:FORMAT IN BROWSE {&BROWSE-NAME} = FoBez1.
- rowObject.Bez2:FORMAT IN BROWSE {&BROWSE-NAME} = FoBez2.
- rowObject.BezL:FORMAT IN BROWSE {&BROWSE-NAME} = FoBezL.
- rowObject.Int_1:FORMAT IN BROWSE {&BROWSE-NAME} = FoInt_1.
- rowObject.Int_2:FORMAT IN BROWSE {&BROWSE-NAME} = FoInt_2.
- rowObject.Int_3:FORMAT IN BROWSE {&BROWSE-NAME} = FoInt_3.
- rowObject.Dec_1:FORMAT IN BROWSE {&BROWSE-NAME} = FoDec_1.
- rowObject.Dec_2:FORMAT IN BROWSE {&BROWSE-NAME} = FoDec_2.
- rowObject.Dec_3:FORMAT IN BROWSE {&BROWSE-NAME} = FoDec_3.
- 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 VALUE-CHANGED OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brschnge.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
- /* *************************** Main Block *************************** */
- RecArt = DYNAMIC-FUNCTION('GETTABELLE':U) NO-ERROR.
- IF RecArt = ? THEN RecArt = ''.
- SUBSCRIBE TO 'SETRECTBREITE' ANYWHERE.
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- RUN initializeObject.
- &ENDIF
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _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 FORMAT_BROWSER bTableWin
- PROCEDURE FORMAT_BROWSER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipFelder AS CHAR NO-UNDO.
- DEF VAR hColumn AS HANDLE NO-UNDO.
- DEF VAR i1 AS INT NO-UNDO.
- DEF VAR i2 AS INT NO-UNDO.
- DEF VAR ib AS INT NO-UNDO.
- DEF VAR ie AS INT NO-UNDO.
- DEF VAR nColumn AS INT NO-UNDO.
- DEF VAR xFeld AS CHAR NO-UNDO.
- DEF VAR xLabel AS CHAR NO-UNDO.
- DEF VAR xFormat AS CHAR NO-UNDO.
- DEF VAR xLang AS CHAR NO-UNDO.
- DEF VAR iLength AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR dBreite AS DEC DECIMALS 4 NO-UNDO.
- IF NUM-ENTRIES(ipFelder, ';') = 0 THEN RETURN.
- DO i1 = 1 TO NUM-ENTRIES(ipFelder, ';').
- xFeld = ''.
- xLabel = ''.
- xFormat = ''.
- xLang = ''.
- cFelder = ENTRY(i1, ipFelder, ';').
- xFeld = ENTRY(1, cFelder, ',') NO-ERROR.
- xLabel = ENTRY(2, cFelder, ',') NO-ERROR.
- xFormat = ENTRY(3, cFelder, ',') NO-ERROR.
- DO WHILE TRUE:
- IF xFormat <> '' THEN LEAVE.
- CASE xFeld:
- WHEN 'Firma' THEN xFormat = 'x(08)'.
- WHEN 'RecArt' THEN xFormat = 'x(12)'.
- WHEN 'Sprcd' THEN xFormat = '9'.
- WHEN 'CodeI' THEN xFormat = '999999'.
- WHEN 'CodeC' THEN xFormat = 'x(08)'.
- WHEN 'Bez1' THEN xFormat = 'x(30)'.
- WHEN 'Bez2' THEN xFormat = 'x(30)'.
- WHEN 'BezL' THEN xFormat = 'x(80)'.
- WHEN 'Int_1' THEN xFormat = 'zzz,zz9'.
- WHEN 'Int_2' THEN xFormat = 'zzz,zz9'.
- WHEN 'Int_3' THEN xFormat = 'zzz,zz9'.
- WHEN 'Dec_1' THEN xFormat = 'zzz,zz9.99'.
- WHEN 'Dec_2' THEN xFormat = 'zzz,zz9.99'.
- WHEN 'Dec_3' THEN xFormat = 'zzz,zz9.99'.
- END CASE.
- LEAVE.
- END.
- DO WHILE TRUE:
- ib = INDEX(xFormat, '(').
- IF ib = 0 THEN DO:
- xLang = STRING(LENGTH(xFormat)).
- LEAVE.
- END.
- ib = ib + 1.
- ie = INDEX(xFormat, ')').
- IF ie = 0 THEN DO:
- xLang = STRING(LENGTH(xFormat)).
- LEAVE.
- END.
- i2 = ie - ib.
- xLang = STRING(INTEGER(SUBSTRING(xFormat,ib,i2))).
- LEAVE.
- END.
- cFeld = cFeld + xFeld.
- cLabel = cLabel + xLabel.
- cFormat = cFormat + xFormat.
- cLang = cLang + xLang.
- IF i1 < NUM-ENTRIES(ipFelder, ';') THEN DO:
- cFeld = cFeld + ';'.
- cLabel = cLabel + ';'.
- cFormat = cFormat + ';'.
- cLang = cLang + ';'.
- END.
- END.
- DO WITH FRAME {&FRAME-NAME}:
- DO WHILE TRUE:
- hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
- DO WHILE VALID-HANDLE(hColumn):
- i1 = LOOKUP(hColumn:NAME, cFeld , ';').
- IF i1 = 0 THEN hColumn:VISIBLE = FALSE.
- hColumn = hColumn:NEXT-COLUMN.
- END.
- dBreite = 0.
- i2 = 0.
- hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
- DO WHILE VALID-HANDLE(hColumn):
- i2 = i2 + 1.
- DO WHILE TRUE:
- IF hColumn:VISIBLE = FALSE THEN LEAVE.
- i1 = LOOKUP(hColumn:NAME, cFeld , ';').
- IF i1 = 0 THEN LEAVE.
- IF i1 = i2 THEN LEAVE.
- {&BROWSE-NAME}:MOVE-COLUMN(i2, i1).
- hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
- i2 = 0.
- LEAVE.
- END.
- IF i2 = 0 THEN NEXT.
- hColumn = hColumn:NEXT-COLUMN.
- END.
- dBreite = 0.
- i1 = 0.
- hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
- DO WHILE VALID-HANDLE(hColumn):
- DO WHILE TRUE:
- IF hColumn:VISIBLE = FALSE THEN LEAVE.
- i1 = i1 + 1.
- hColumn:LABEL = ENTRY(i1, cLabel , ';').
- iLength = DECIMAL(ENTRY(i1, cLang , ';')).
- CASE hColumn:DATA-TYPE:
- WHEN 'CHARACTER' THEN DO:
- IF iLength < 6 THEN iLength = iLength * 2.00.
- ELSE
- IF iLength < 10 THEN iLength = iLength * 1.75.
- ELSE
- IF iLength < 15 THEN iLength = iLength * 1.50.
- ELSE
- IF iLength < 20 THEN iLength = iLength * 1.25.
- ELSE iLength = iLength + 2.
- END.
- WHEN 'INTEGER' THEN iLength = iLength * 1.666.
- WHEN 'DECIMAL' THEN iLength = iLength * 1.666.
- END CASE.
- CASE hColumn:NAME:
- WHEN 'Firma' THEN FoFirma = ENTRY(i1, cFormat, ';').
- WHEN 'Sprcd' THEN FoSprcd = ENTRY(i1, cFormat, ';').
- WHEN 'RecArt' THEN FoRecArt = ENTRY(i1, cFormat, ';').
- WHEN 'CodeI' THEN FoCodeI = ENTRY(i1, cFormat, ';').
- WHEN 'CodeC' THEN FoCodeC = ENTRY(i1, cFormat, ';').
- WHEN 'Bez1' THEN FoBez1 = ENTRY(i1, cFormat, ';').
- WHEN 'Bez2' THEN FoBez2 = ENTRY(i1, cFormat, ';').
- WHEN 'BezL' THEN FoBezL = ENTRY(i1, cFormat, ';').
- WHEN 'Int_1' THEN FoInt_1 = ENTRY(i1, cFormat, ';').
- WHEN 'Int_2' THEN FoInt_2 = ENTRY(i1, cFormat, ';').
- WHEN 'Int_3' THEN FoInt_3 = ENTRY(i1, cFormat, ';').
- WHEN 'Dec_1' THEN FoDec_1 = ENTRY(i1, cFormat, ';').
- WHEN 'Dec_2' THEN FoDec_2 = ENTRY(i1, cFormat, ';').
- WHEN 'Dec_3' THEN FoDec_3 = ENTRY(i1, cFormat, ';').
- END CASE.
- hColumn:WIDTH = iLength.
- iLength = LENGTH(hColumn:LABEL) * 1.3.
- IF hColumn:WIDTH < iLength THEN hColumn:WIDTH = iLength.
- dBreite = dBreite + hColumn:WIDTH.
- LEAVE.
- END.
- hColumn = hColumn:NEXT-COLUMN.
- END.
- LEAVE.
- END.
- IF dBreite > 105 THEN dBreite = 105.
- {&BROWSE-NAME}:WIDTH = dBreite + 5.
- RECT-Browser:WIDTH = dBreite + 7.
- DEF VAR iDown AS INT NO-UNDO.
- DEF VAR Ja AS LOG NO-UNDO.
- iDown = {&BROWSE-NAME}:DOWN / 2.
- Ja = {&BROWSE-NAME}:SET-REPOSITIONED-ROW(iDown, "CONDITIONAL").
- DEF VAR fAttrib AS CHAR NO-UNDO.
- DEF VAR cSection AS CHAR NO-UNDO.
- cSection = 'Tabelle-' + RecArt.
- GET-KEY-VALUE SECTION cSection KEY ? VALUE cFelder.
- IF cFelder = ? THEN cFelder = ''.
- DO WHILE TRUE:
- IF NUM-ENTRIES(cFelder, ';') = 0 THEN LEAVE.
- hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
- i1 = 0.
- DO WHILE VALID-HANDLE(hColumn):
- i1 = i1 + 1.
- DO WHILE TRUE:
- IF LOOKUP(hColumn:NAME, cFelder, ',') = 0 THEN LEAVE.
- IF hColumn:VISIBLE = FALSE THEN LEAVE.
- GET-KEY-VALUE SECTION cSection
- KEY hColumn:NAME
- VALUE fAttrib.
- IF NUM-ENTRIES(fAttrib, ';') < 2 THEN LEAVE.
- nColumn = 0.
- dBreite = 0.
- nColumn = INTEGER(ENTRY(1,fAttrib, ';')).
- dBreite = DECIMAL(ENTRY(2,fAttrib, ';')).
- IF nColumn = ? THEN LEAVE.
- IF nColumn = 0 THEN LEAVE.
- IF dBreite = ? THEN LEAVE.
- IF dBreite = 0 THEN LEAVE.
- IF hColumn:WIDTH <> dBreite THEN hColumn:WIDTH = dBreite.
- IF i1 = nColumn THEN LEAVE.
- {&BROWSE-NAME}:MOVE-COLUMN(i1, nColumn).
- hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
- i1 = 0.
- LEAVE.
- END.
- IF i1 > 0 THEN hColumn = hColumn:NEXT-COLUMN.
- END.
- LEAVE.
- END.
- RETURN STRING(RECT-Browser:WIDTH-CHAR).
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE hideObject bTableWin
- PROCEDURE hideObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR hColumn AS HANDLE NO-UNDO.
- DEF VAR fAttrib AS CHAR NO-UNDO.
- DEF VAR cSection AS CHAR NO-UNDO.
- DEF VAR i1 AS INT NO-UNDO.
- cSection = 'Tabelle-' + RecArt.
- DO WITH FRAME {&FRAME-NAME}:
- hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
- i1 = 0.
- DO WHILE VALID-HANDLE(hColumn):
- DO WHILE TRUE:
- IF hColumn:VISIBLE = FALSE THEN LEAVE.
- i1 = i1 + 1.
- fAttrib = STRING(i1) + ';'
- + STRING(hColumn:WIDTH).
- PUT-KEY-VALUE SECTION cSection
- KEY hColumn:NAME
- VALUE fAttrib.
- LEAVE.
- END.
- hColumn = hColumn:NEXT-COLUMN.
- END.
- END.
- RUN SUPER.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SETRECTBREITE bTableWin
- PROCEDURE SETRECTBREITE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipBreite AS DEC NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RECT-Browser:WIDTH-CHAR = ipBreite.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|