| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- /* Connected Databases
- framework 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. */
- USING utilities.utilitiesHandler FROM PROPATH.
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- { incl/tmpbrowser.i }
- { properties_formular_html.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-viewer_ko.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_viewerko
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES rowObject
- /* Definitions for BROWSE br_viewerko */
- &Scoped-define FIELDS-IN-QUERY-br_viewerko rowObject.mandant ~
- rowObject.benutzer rowObject.program rowObject.tabelle
- &Scoped-define ENABLED-FIELDS-IN-QUERY-br_viewerko
- &Scoped-define QUERY-STRING-br_viewerko FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
- &Scoped-define OPEN-QUERY-br_viewerko OPEN QUERY br_viewerko FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
- &Scoped-define TABLES-IN-QUERY-br_viewerko rowObject
- &Scoped-define FIRST-TABLE-IN-QUERY-br_viewerko rowObject
- /* Definitions for FRAME F-Main */
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-1 RECT-3 br_viewerko Btn_create
- /* 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 createSelections bTableWin
- FUNCTION createSelections RETURNS CHARACTER
- ( iprviewer_ze AS RECID, ipiSprcd AS INTEGER, OUTPUT cWerte AS CHARACTER, OUTPUT cAnzeige AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLabel bTableWin
- FUNCTION getLabel RETURNS CHARACTER
- ( iprRecid AS RECID, ipcArt AS CHARACTER, ipiSprcd AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
- FUNCTION setZeilenfarbe RETURNS LOGICAL
- ( ipFarbe AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_create
- LABEL "Format erstellen"
- SIZE 22 BY 1.
- DEFINE RECTANGLE RECT-1
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 90 BY 7.14.
- DEFINE RECTANGLE RECT-3
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 32 BY 7.14.
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE TEMP-TABLE RowObject NO-UNDO
- {{&DATA-FIELD-DEFS}}
- {src/adm2/robjflds.i}.
- DEFINE QUERY br_viewerko FOR
- rowObject SCROLLING.
- &ANALYZE-RESUME
- /* Browse definitions */
- DEFINE BROWSE br_viewerko
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_viewerko bTableWin _STRUCTURED
- QUERY br_viewerko NO-LOCK DISPLAY
- rowObject.mandant FORMAT "x(08)":U
- rowObject.benutzer FORMAT "x(30)":U
- rowObject.program FORMAT "x(20)":U
- rowObject.tabelle FORMAT "x(20)":U
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 88 BY 6.67.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- br_viewerko AT ROW 1.48 COL 3 WIDGET-ID 200
- Btn_create AT ROW 2 COL 99 WIDGET-ID 4
- RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
- RECT-3 AT ROW 1.24 COL 93 WIDGET-ID 6
- 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-viewer_ko.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.62
- WIDTH = 125.2.
- /* 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 */
- /* BROWSE-TAB br_viewerko RECT-3 F-Main */
- ASSIGN
- FRAME F-Main:SCROLLABLE = FALSE
- FRAME F-Main:HIDDEN = TRUE.
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_viewerko
- /* Query rebuild information for BROWSE br_viewerko
- _TblList = "rowObject"
- _Options = "NO-LOCK INDEXED-REPOSITION"
- _FldNameList[1] = _<SDO>.rowObject.mandant
- _FldNameList[2] = _<SDO>.rowObject.benutzer
- _FldNameList[3] = _<SDO>.rowObject.program
- _FldNameList[4] = _<SDO>.rowObject.tabelle
- _Query is NOT OPENED
- */ /* BROWSE br_viewerko */
- &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_viewerko
- &Scoped-define SELF-NAME br_viewerko
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON CTRL-END OF br_viewerko 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_viewerko bTableWin
- ON CTRL-HOME OF br_viewerko 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_viewerko bTableWin
- ON DEFAULT-ACTION OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brsdefault.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON END OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brsend.i}
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON ENTRY OF br_viewerko IN FRAME F-Main
- DO:
- IF VALID-HANDLE(hFenster) THEN
- DO:
- RUN SET_TABLEIO IN hFenster ( 'viewerkopf' ).
- APPLY 'VALUE-CHANGED' TO SELF.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON HOME OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brshome.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON LEFT-MOUSE-CLICK OF br_viewerko IN FRAME F-Main
- DO:
- APPLY 'ENTRY' TO {&BROWSE-NAME}.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON LEFT-MOUSE-DBLCLICK OF br_viewerko 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_viewerko bTableWin
- ON OFF-END OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brsoffnd.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON OFF-HOME OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brsoffhm.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON ROW-ENTRY OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brsentry.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON ROW-LEAVE OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brsleave.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON SCROLL-NOTIFY OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brsscrol.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON START-SEARCH OF br_viewerko IN FRAME F-Main
- DO:
- { incl/brwstartsearch.i }
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_viewerko bTableWin
- ON VALUE-CHANGED OF br_viewerko IN FRAME F-Main
- DO:
- {src/adm2/brschnge.i}
- DEFINE VARIABLE rRecid AS RECID NO-UNDO.
- DEFINE BUFFER bviewer FOR viewer_ko.
- IF BROWSE {&BROWSE-NAME}:NUM-SELECTED-ROWS = 0 THEN BROWSE {&BROWSE-NAME}:SELECT-FOCUSED-ROW ().
- BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW (1).
- IF ERROR-STATUS:ERROR THEN RETURN.
-
- rRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
- IF rRecid = ? THEN RETURN.
- FIND bviewer NO-LOCK WHERE RECID(bviewer) = rRecid.
- PUBLISH 'ANZEIGE_FELDER' ( bviewer.benutzer, bviewer.program, bviewer.tabelle ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_create
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_create bTableWin
- ON CHOOSE OF Btn_create IN FRAME F-Main /* Format erstellen */
- DO:
- DEFINE VARIABLE rRecid AS RECID NO-UNDO.
- BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
- rRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
-
- RUN CREATE_HTML_INCLUDE ( rRecid ).
- 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 CREATE_HTML_INCLUDE bTableWin
- PROCEDURE CREATE_HTML_INCLUDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER iprRecid AS RECID NO-UNDO.
-
- DEFINE VARIABLE cFilename AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cZeile AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cStyle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cAttribute AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iTabIndex AS INTEGER NO-UNDO.
- DEFINE VARIABLE cTabIndex AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSelectTabelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSelTabText AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSelTabWert AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSelectTexte AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSelectWerte AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cOption AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE hqSelTab AS HANDLE NO-UNDO.
- DEFINE VARIABLE hbSelTab AS HANDLE NO-UNDO.
- DEFINE VARIABLE cWhere AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iBuffVal AS INTEGER NO-UNDO.
- DEFINE VARIABLE lcHTML AS LONGCHAR NO-UNDO.
- DEFINE VARIABLE mcHtml AS MEMPTR NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE hFeld AS HANDLE NO-UNDO.
- DEFINE VARIABLE lFirma AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE VARIABLE lSelections AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE VARIABLE iSprcd AS INTEGER NO-UNDO.
- DEFINE VARIABLE cIndexFields AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE outilitiesHandler AS utilitiesHandler NO-UNDO.
-
- outilitiesHandler = NEW utilitiesHandler().
-
- FIX-CODEPAGE (lcHTML) = 'utf-8'.
-
- FIND viewer_ko NO-LOCK
- WHERE RECID(viewer_ko) = iprRecid.
- FIND Benutzer NO-LOCK
- WHERE Benutzer.Benutzer = viewer_ko.benutzer NO-ERROR.
- iSprcd = (IF Benutzer.Sprcd > 0 AND Benutzer.Sprcd < 11 THEN Benutzer.Sprcd ELSE 1).
-
- cIndexFields = outilitiesHandler:getPrimaryIndexFields( INPUT viewer_ko.tabelle ) NO-ERROR.
-
- cFileName = SUBSTITUTE('../include/&1.incl', viewer_ko.program ).
- OUTPUT TO VALUE(cFileName) NO-MAP NO-CONVERT.
-
- cZeile = SUBSTITUTE(cform-container, viewer_ko.anzahlspalten).
- PUT CONTROL cZeile CHR(10).
-
- iTabIndex = 0.
- FOR EACH viewer_ze NO-LOCK OF viewer_ko
- BY viewer_ze.prior:
- PUT CONTROL ' ' cform-group CHR(10).
-
- IF NOT viewer_ze.lHidden THEN
- DO:
- cString = DYNAMIC-FUNCTION ('getLabel':U, RECID(viewer_ze), 'side', iSprcd) NO-ERROR.
- cZeile = FILL(' ',08) + SUBSTITUTE(clabel, viewer_ze.feld, cString).
- PUT CONTROL cZeile CHR(10).
- END.
-
- cAttribute = viewer_ze.attributes.
- cTabIndex = ''.
- IF NOT viewer_ze.lHidden THEN
- DO:
- iTabIndex = iTabIndex + 1.
- cTabIndex = SUBSTITUTE ('tabindex="&1"', TRIM(STRING(iTabIndex,'>>>9'))).
- IF INDEX(cAttribute, 'tabindex') = 0 THEN cAttribute = cAttribute + ' ' + cTabIndex.
- END.
-
- DO WHILE viewer_ze.selecttexte <> '':
- cStyle = viewer_ze.styles.
- cStyle = cStyle
- + (IF cStyle = '' THEN '' ELSE '; ')
- + SUBSTITUTE('text-align: &1', viewer_ze.textalign).
- cStyle = SUBSTITUTE('style="&1"', cStyle).
- cSelectTexte = REPLACE(viewer_ze.selecttexte, ',', ';').
- cSelectWerte = REPLACE(viewer_ze.selectwerte, ',', ';').
- cOption = ''.
- DO ii = 1 TO NUM-ENTRIES(cSelectWerte, ';'):
- cOption = cOption
- + (IF cOption = '' THEN '' ELSE CHR(10))
- + SUBSTITUTE('&3<option value="&1">&2</option>', ENTRY(ii, cSelectWerte, ';'), ENTRY(ii, cSelectTexte, ';'), FILL(' ',12)).
- END.
- cZeile = FILL(' ',08) + SUBSTITUTE(cselect, cAttribute, cStyle, viewer_ze.privatedata, CHR(10), cOption, FILL(' ',08)).
- PUT CONTROL cZeile CHR(10).
- LEAVE.
- END.
-
- DO WHILE viewer_ze.selecttabelle <> '':
- cSelectTabelle = REPLACE(viewer_ze.selecttabelle, ',', ';').
- cSelTabWert = ENTRY(2, cSelectTabelle, ';') NO-ERROR.
- cSelTabText = ENTRY(3, cSelectTabelle, ';') NO-ERROR.
- cSelectTabelle = ENTRY(1, cSelectTabelle, ';') NO-ERROR.
-
- IF cSelectTabelle = 'selections' THEN
- DO:
- cWhere = DYNAMIC-FUNCTION ('createSelections':U, RECID(viewer_ze), iSprcd, OUTPUT cSelectWerte, OUTPUT cSelectTexte ).
- lSelections = TRUE.
- END.
- ELSE
- DO:
- CREATE QUERY hqSelTab.
- CREATE BUFFER hbSelTab FOR TABLE cSelectTabelle.
- hFeld = hbSelTab:BUFFER-FIELD('Firma') NO-ERROR.
- IF VALID-HANDLE(hFeld) THEN lFirma = TRUE.
- hqSelTab:SET-BUFFERS(hbSelTab).
- IF lFirma THEN cWhere = SUBSTITUTE('FOR EACH &1 NO-LOCK WHERE &1.Firma = &2 ' , cSelectTabelle, QUOTER(viewer_ze.mandant)).
- IF NOT lFirma THEN cWhere = SUBSTITUTE('FOR EACH &1 NO-LOCK ' , cSelectTabelle ).
- hqSelTab:QUERY-PREPARE (cWhere).
- hqSelTab:QUERY-OPEN().
- cSelectTexte = ''.
- cSelectWerte = ''.
- DO WHILE TRUE:
- hqSelTab:GET-NEXT() NO-ERROR.
- IF hqSelTab:QUERY-OFF-END THEN LEAVE.
- iBuffVal = (IF hbSelTab:BUFFER-FIELD(cSelTabText):EXTENT > 0 THEN iSprcd ELSE 0).
-
- cSelectWerte = cSelectWerte
- + (IF cSelectWerte = '' THEN '' ELSE ';')
- + hbSelTab:BUFFER-FIELD(cSelTabWert):BUFFER-VALUE(0).
- cSelectTexte = cSelectTexte
- + (IF cSelectTexte = '' THEN '' ELSE ';')
- + hbSelTab:BUFFER-FIELD(cSelTabText):BUFFER-VALUE(iBuffVal)
- + SUBSTITUTE(' (&1)', hbSelTab:BUFFER-FIELD(cSelTabWert):BUFFER-VALUE(0)).
- END.
- DELETE OBJECT hbSelTab.
- DELETE OBJECT hqSelTab.
-
- cStyle = viewer_ze.styles.
- cStyle = cStyle
- + (IF cStyle = '' THEN '' ELSE '; ')
- + SUBSTITUTE('text-align: &1', viewer_ze.textalign).
- cStyle = SUBSTITUTE('style="&1"', cStyle).
- cOption = ''.
- END.
- DO ii = 1 TO NUM-ENTRIES(cSelectWerte, ';'):
- cOption = cOption
- + (IF cOption = '' THEN '' ELSE CHR(10))
- + SUBSTITUTE('&3<option value="&1">&2</option>', ENTRY(ii, cSelectWerte, ';'), ENTRY(ii, cSelectTexte, ';'), FILL(' ',12)).
- END.
- cZeile = FILL(' ',08) + SUBSTITUTE(cselect, cAttribute, cStyle, viewer_ze.privatedata, CHR(10), cOption, FILL(' ',08)).
- PUT CONTROL cZeile CHR(10).
- LEAVE.
- END.
-
- DO WHILE
- viewer_ze.selecttexte = '' AND
- viewer_ze.selecttabelle = '':
- cStyle = viewer_ze.styles.
- cStyle = cStyle
- + (IF cStyle = '' THEN '' ELSE '; ')
- + SUBSTITUTE('text-align: &1', viewer_ze.textalign).
- cStyle = SUBSTITUTE('style="&1"', cStyle).
- cZeile = FILL(' ',08) + SUBSTITUTE(cinput, cAttribute, cStyle, viewer_ze.privatedata).
- PUT CONTROL cZeile CHR(10).
- LEAVE.
- END.
-
- PUT CONTROL ' </div>' CHR(10).
-
- END.
-
- PUT CONTROL '</div>' CHR(10).
-
- OUTPUT CLOSE.
-
- FILE-INFO:FILE-NAME = cFilename.
- SET-SIZE(mcHTML) = FILE-INFO:FILE-SIZE + 1.
-
- COPY-LOB FROM FILE cFileName TO mcHTML NO-CONVERT.
- COPY-LOB FROM mcHTML TO lcHTML.
- COPY-LOB FROM lcHTML TO FILE cFilename NO-CONVERT.
-
- FIND htmldokumente
- WHERE htmldokumente.mandant = viewer_ko.mandant
- AND htmldokumente.benutzer = viewer_ko.benutzer
- AND htmldokumente.program = viewer_ko.program
- AND htmldokumente.art = 'formular'
- AND htmldokumente.sprcd = iSprcd NO-ERROR.
- IF NOT AVAILABLE htmldokumente THEN
- DO:
- CREATE htmldokumente.
- ASSIGN
- htmldokumente.mandant = viewer_ko.mandant
- htmldokumente.benutzer = viewer_ko.benutzer
- htmldokumente.program = viewer_ko.program
- htmldokumente.art = 'formular'
- htmldokumente.sprcd = iSprcd NO-ERROR.
- END.
- htmldokumente.htmltext = STRING(lcHTML).
- RELEASE htmldokumente.
-
- SET-SIZE (mcHTML) = 0.
- 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: <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 ENTRY_BROWSE bTableWin
- PROCEDURE ENTRY_BROWSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/brwinitialize.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION createSelections bTableWin
- FUNCTION createSelections RETURNS CHARACTER
- ( iprviewer_ze AS RECID, ipiSprcd AS INTEGER, OUTPUT cWerte AS CHARACTER, OUTPUT cAnzeige AS CHARACTER ):
- /*------------------------------------------------------------------------------*/
- /* Purpose: Super Override */
- /* Parameters: */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
- DEFINE VARIABLE cTabelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cInhalt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lFound AS LOGICAL NO-UNDO.
-
- DEFINE BUFFER bviewer_ze FOR viewer_ze.
-
- FIND bviewer_ze NO-LOCK WHERE RECID(bviewer_ze) = iprviewer_ze.
- FOR EACH selections NO-LOCK
- WHERE selections.mandant = bviewer_ze.mandant
- AND selections.tabelle = bviewer_ze.tabelle
- AND selections.feld = bviewer_ze.feld
- AND selections.sprcd = ipiSprcd:
-
- cWerte = cWerte
- + (IF cWerte = '' THEN '' ELSE ';')
- + selections.wert.
- cAnzeige = cAnzeige
- + (IF cAnzeige = '' THEN '' ELSE ';')
- + selections.anzeige + SUBSTITUTE(' (&1) ':U, selections.wert).
- END.
-
- IF cWerte <> '' THEN RETURN cWerte.
-
- FOR EACH selections NO-LOCK
- WHERE selections.mandant = bviewer_ze.mandant
- AND selections.tabelle = ''
- AND selections.feld = bviewer_ze.feld
- AND selections.sprcd = ipiSprcd:
- cWerte = cWerte
- + (IF cWerte = '' THEN '' ELSE ';')
- + selections.wert.
- cAnzeige = cAnzeige
- + (IF cAnzeige = '' THEN '' ELSE ';')
- + selections.anzeige + SUBSTITUTE(' (&1) ':U, selections.wert).
- END.
-
- IF cWerte <> '' THEN RETURN cWerte.
-
- FOR EACH selections NO-LOCK
- WHERE selections.mandant = bviewer_ze.mandant
- AND selections.tabelle = ''
- AND selections.feld = bviewer_ze.feld:
- cWerte = cWerte
- + (IF cWerte = '' THEN '' ELSE ';')
- + selections.wert.
- cAnzeige = cAnzeige
- + (IF cAnzeige = '' THEN '' ELSE ';')
- + selections.anzeige + SUBSTITUTE(' (&1) ':U, selections.wert).
- END.
-
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLabel bTableWin
- FUNCTION getLabel RETURNS CHARACTER
- ( iprRecid AS RECID, ipcArt AS CHARACTER, ipiSprcd AS INTEGER ):
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
-
- DEFINE VARIABLE cLabel AS CHARACTER NO-UNDO.
-
- DEFINE BUFFER bviewer_ze FOR viewer_ze.
-
- FIND bviewer_ze NO-LOCK WHERE RECID(bviewer_ze) = iprRecid.
-
- IF ipiSprcd = 0 OR
- ipiSprcd > 10 THEN ipiSprcd = 1.
-
- FIND FIRST labeltexte NO-LOCK
- WHERE labeltexte.mandant = bviewer_ze.mandant
- AND labeltexte.benutzer = bviewer_ze.benutzer
- AND labeltexte.program = bviewer_ze.program
- AND labeltexte.tabelle = bviewer_ze.tabelle
- AND labeltexte.feld = bviewer_ze.feld
- AND labeltexte.sprcd = ipiSprcd NO-ERROR.
- IF NOT AVAILABLE labeltexte THEN
- DO:
- FIND FIRST labeltexte NO-LOCK
- WHERE labeltexte.mandant = bviewer_ze.mandant
- AND labeltexte.program = bviewer_ze.program
- AND labeltexte.tabelle = bviewer_ze.tabelle
- AND labeltexte.feld = bviewer_ze.feld
- AND labeltexte.sprcd = ipiSprcd NO-ERROR.
- END.
- IF NOT AVAILABLE labeltexte THEN
- DO:
- FIND FIRST labeltexte NO-LOCK
- WHERE labeltexte.mandant = bviewer_ze.mandant
- AND labeltexte.tabelle = bviewer_ze.tabelle
- AND labeltexte.feld = bviewer_ze.feld
- AND labeltexte.sprcd = ipiSprcd NO-ERROR.
- END.
- IF NOT AVAILABLE labeltexte THEN
- DO:
- FIND FIRST labeltexte NO-LOCK
- WHERE labeltexte.mandant = bviewer_ze.mandant
- AND labeltexte.feld = bviewer_ze.feld
- AND labeltexte.sprcd = ipiSprcd NO-ERROR.
- END.
- CASE ipcArt:
- WHEN 'side' THEN
- cLabel = (IF AVAILABLE labeltexte THEN labeltexte.sidelabel ELSE bviewer_ze.feld).
- WHEN 'head' THEN
- cLabel = (IF AVAILABLE labeltexte THEN labeltexte.headlabel ELSE bviewer_ze.feld).
- END CASE.
-
- RETURN cLabel.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
- FUNCTION setZeilenfarbe RETURNS LOGICAL
- ( ipFarbe AS INTEGER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/brwsetzeilenfarbe.i }
-
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|