&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure /*-------------------------------------------------------------------------- File : Purpose : Syntax : Description : Author(s) : Created : Notes : ------------------------------------------------------------------------*/ /* This .W file was created with the Progress UIB. */ /*----------------------------------------------------------------------*/ /* *************************** Definitions ************************** */ DEFINE INPUT PARAMETER ipDirectory AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipTitle AS CHARACTER NO-UNDO. DEF VAR vStatus AS CHAR FORMAT "x(30)" NO-UNDO. DEFINE FRAME frmStatus SKIP(1) SPACE(2) vStatus LABEL "Creating Page" SPACE(2) SKIP(1) WITH SIDE-LABELS THREE-D CENTERED VIEW-AS DIALOG-BOX TITLE "Please wait...". /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE Procedure /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: Procedure Allow: Frames: 0 Add Fields to: Neither Other Settings: CODE-ONLY COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW Procedure ASSIGN HEIGHT = 2 WIDTH = 40. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure /* *************************** Main Block *************************** */ DISPLAY "index" @ vStatus WITH FRAME frmStatus. OUTPUT TO VALUE( ipDirectory + "/index.htm" ). RUN Header (ipTitle). RUN TableList. RUN Footer. OUTPUT CLOSE. FOR EACH DICTDB._File NO-LOCK WHERE DICTDB._File._File-name < "_": ASSIGN vStatus = ipDirectory + "/" + DICTDB._File._Dump-name + ".htm". DISPLAY vStatus WITH FRAME frmStatus. PROCESS EVENTS. OUTPUT TO VALUE(vStatus). RUN TableHeader (ipTitle, DICTDB._File._File-name). RUN FieldList (RECID(_File)). PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "
" SKIP. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "Indexing

" SKIP. RUN IndexList (RECID(DICTDB._File)). RUN TableFooter (DICTDB._File._File-name). OUTPUT CLOSE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CrossReference Procedure PROCEDURE CrossReference : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipTableRecid AS RECID NO-UNDO. DEFINE INPUT PARAMETER ipFieldName AS CHARACTER NO-UNDO. DEFINE VARIABLE lvFirst AS LOGICAL INITIAL TRUE NO-UNDO. DEFINE VARIABLE lvRefFile AS CHARACTER NO-UNDO. DEFINE BUFFER bField FOR DICTDB._Field. DEFINE BUFFER bFile FOR DICTDB._File. PUT UNFORMATTED "". FOR EACH bField NO-LOCK WHERE bField._Field-name = ipFieldName AND bField._File-Recid <> ipTableRecid, FIRST bFile OF bField NO-LOCK BY bFile._File-name: IF lvFirst THEN ASSIGN lvFirst = FALSE. RUN HTMLFile (bFile._Dump-name, OUTPUT lvRefFile). PUT UNFORMATTED "" + bFile._File-name + "." + bField._Field-name + " ". END. IF lvFirst THEN PUT UNFORMATTED " ". PUT UNFORMATTED "" SKIP. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FieldList Procedure PROCEDURE FieldList : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipTableRecid AS RECID NO-UNDO. FOR EACH DICTDB._Field NO-LOCK WHERE DICTDB._Field._File-Recid = ipTableRecid BY _Order: PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" + _field._field-name. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" + _field._data-type. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "". PUT UNFORMATTED _field._format + "" SKIP. IF _field._extent > 0 THEN PUT UNFORMATTED "" _field._extent "" SKIP. ELSE PUT UNFORMATTED "1" SKIP. IF TRIM(_field._initial) = "" OR _field._initial = ? THEN PUT UNFORMATTED " " SKIP. ELSE PUT UNFORMATTED "" + _field._initial + "" SKIP. IF TRIM(_field._desc) = "" THEN PUT UNFORMATTED " " SKIP. ELSE PUT UNFORMATTED "" + _field._desc + "" SKIP. RUN CrossReference (ipTableRecid, _Field._Field-name). PUT UNFORMATTED "" SKIP. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE Footer Procedure PROCEDURE Footer : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "


" SKIP. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "
" SKIP. PUT UNFORMATTED "Last updated " + string( today, "99/99/9999" ) + " ". PUT UNFORMATTED string( time, "hh:mm:ss am" ) + "

" SKIP. PUT UNFORMATTED "



" SKIP. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE Header Procedure PROCEDURE Header : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipTitle AS CHARACTER NO-UNDO. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" + ipTitle + "

" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "


" SKIP. PUT UNFORMATTED "

" + ipTitle. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "
" SKIP. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "" SKIP. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE HTMLFile Procedure PROCEDURE HTMLFile : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipDumpName AS CHARACTER NO-UNDO. DEFINE OUTPUT PARAMETER opFileName AS CHARACTER NO-UNDO. /** replace any # (hashes) with special encoding for URL %23 = # **/ DO WHILE INDEX( ipDumpName, "#" ) > 0: ASSIGN SUBSTRING( ipDumpName, INDEX( ipDumpName, "#" ), 1 ) = "%23". END. /* do while index( ipDumpName, "#" ) > 0: */ ASSIGN opFileName = ipDumpName + ".htm". END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE IndexList Procedure PROCEDURE IndexList : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipTableRecid AS RECID NO-UNDO. FOR EACH DICTDB._index NO-LOCK WHERE DICTDB._index._file-recid = ipTableRecid: PUT UNFORMATTED "
". PUT UNFORMATTED _index._index-name + "" SKIP. IF DICTDB._File._prime-index = RECID(_index) THEN PUT UNFORMATTED " - Primary " SKIP. IF _index._unique THEN PUT UNFORMATTED " - Unique " SKIP. FOR EACH DICTDB._index-field NO-LOCK WHERE DICTDB._index-field._index-recid = RECID(_index): FIND DICTDB._field WHERE RECID(_field) = _index-field._field-recid NO-LOCK. IF AVAIL _field THEN PUT UNFORMATTED "
" + _field._field-name SKIP. END. /* FOR EACH _index-field WHERE */ PUT UNFORMATTED "

" SKIP. END. /* FOR EACH _index WHERE */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TableFooter Procedure PROCEDURE TableFooter : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipTableName AS CHARACTER NO-UNDO. PUT UNFORMATTED "


" SKIP. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "Last updated " + string( today, "99/99/9999" ) + " ". PUT UNFORMATTED string( time, "hh:mm:ss am" ) + "" SKIP. PUT UNFORMATTED "


" SKIP. PUT UNFORMATTED "Return to Listing Of Database ". PUT UNFORMATTED "Tables

" SKIP. PUT UNFORMATTED "



" SKIP. PUT UNFORMATTED "



" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TableHeader Procedure PROCEDURE TableHeader : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipTitle AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipTableName AS CHARACTER NO-UNDO. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" + ipTitle + " -- " + ipTableName. PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "


" SKIP. PUT UNFORMATTED "

". PUT UNFORMATTED ipTitle + "

" SKIP. PUT UNFORMATTED "
" SKIP. PUT UNFORMATTED "

". PUT UNFORMATTED ipTableName + "

" SKIP. PUT UNFORMATTED "

" + DICTDB._File._desc + "

" SKIP. PUT UNFORMATTED "

". PUT UNFORMATTED "Indexing". PUT UNFORMATTED "

" SKIP. PUT UNFORMATTED "
" SKIP. PUT UNFORMATTED "
" SKIP. PUT UNFORMATTED "
" SKIP. PUT UNFORMATTED "" SKIP. PUT UNFORMATTED "" SKIP. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TableList Procedure PROCEDURE TableList : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE lvCount AS INTEGER NO-UNDO. DEFINE VARIABLE lvTableName AS CHARACTER NO-UNDO. FOR EACH DICTDB._File WHERE DICTDB._File._file-name < "_" NO-LOCK: ASSIGN lvCount = lvCount + 1. IF lvCount modulo 5 = 1 THEN PUT UNFORMATTED "" SKIP. RUN HTMLFile (INPUT DICTDB._File._Dump-name, OUTPUT lvTableName). PUT UNFORMATTED "" SKIP. IF lvCount modulo 5 = 0 THEN PUT UNFORMATTED "" SKIP. END. /* FOR EACH DICTDB._File WHERE */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME
". PUT UNFORMATTED "Field Name" SKIP. PUT UNFORMATTED "". PUT UNFORMATTED "Datatype" SKIP. PUT UNFORMATTED "". PUT UNFORMATTED "Format" SKIP. PUT UNFORMATTED "". PUT UNFORMATTED "Extent" SKIP. PUT UNFORMATTED "". PUT UNFORMATTED "Default" SKIP. PUT UNFORMATTED "". PUT UNFORMATTED "Description" SKIP. PUT UNFORMATTED "". PUT UNFORMATTED "Cross Reference" SKIP. PUT UNFORMATTED "
". PUT UNFORMATTED "" + DICTDB._File._file-name. PUT UNFORMATTED "