&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 --- */ 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] > _.rowObject.Firma "rowObject.Firma" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > _.rowObject.Sprcd "rowObject.Sprcd" ? ? "integer" ? ? ? ? ? ? no "?" no no "6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] = _.rowObject.RecArt _FldNameList[4] > _.rowObject.CodeC "rowObject.CodeC" "Code" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[5] > _.rowObject.CodeI "rowObject.CodeI" "Code" ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[6] > _.rowObject.Bez1 "rowObject.Bez1" "Bezeichnung 1" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[7] > _.rowObject.Bez2 "rowObject.Bez2" "Bezeichnung 2" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[8] > _.rowObject.BezL "rowObject.BezL" "Bezeichnung Lang" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[9] > _.rowObject.Int_1 "rowObject.Int_1" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[10] > _.rowObject.Int_2 "rowObject.Int_2" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[11] > _.rowObject.Int_3 "rowObject.Int_3" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[12] > _.rowObject.Dec_1 "rowObject.Dec_1" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[13] > _.rowObject.Dec_2 "rowObject.Dec_2" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[14] > _.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: 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: 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: 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