*DECK     DCUTL500
00001  IDENTIFICATION DIVISION.                                         01/31/78
       PROGRAM-ID.   UTL500.
00003 ******************************************************************   LV001
00004 *        THIS MODULE IS PART OF THE DBA UTILITY                  *DCUTL500
00005 *        IT WILL WRITE THE DATA AND/ OR RELATIONAL FILES TO      *DCUTL500
00006 *             SEQUENTIAL FILES                                   *DCUTL500
00007 *                                                                *DCUTL500
00008 ******************************************************************DCUTL500
00009  ENVIRONMENT DIVISION.                                            DCUTL500
00010  CONFIGURATION SECTION.                                           DCUTL500
       SOURCE-COMPUTER. CYBER.
       OBJECT-COMPUTER. CYBER.
00013  INPUT-OUTPUT SECTION.                                            DCUTL500
00014  FILE-CONTROL.                                                    DCUTL500
           SELECT MAST1 ASSIGN TO "MAST1" 
               ACCESS MODE IS SEQUENTIAL
               ORGANIZATION IS DIRECT 
               RECORD KEY IS DATA-KEY.
           SELECT MAST2 ASSIGN TO "MAST2" 
               ACCESS MODE IS SEQUENTIAL
               ORGANIZATION IS DIRECT 
               RECORD KEY IS REL-KEY. 
           SELECT MAST3 ASSIGN TO "MAST3" 
               ACCESS MODE IS SEQUENTIAL
               ORGANIZATION IS RELATIVE 
               USE "PRUF=YES".
           SELECT SYSPRINT ASSIGN TO "OUTPUT".
           SELECT BUP-MAST1 ASSIGN TO "MAST1BK".
           SELECT BUP-MAST2 ASSIGN TO "MAST2BK".
           SELECT BUP-MAST3 ASSIGN TO "MAST3BK".
00027                                                                    DCUTL50
00028  DATA DIVISION.                                                   DCUTL500
00029  FILE SECTION.                                                    DCUTL500
*CALL     MAST1FD                                                          CL**4
*CALL     MAST2FD                                                          CL**4
*CALL     MAST3FD                                                          CL**4
00033                                                                    DCUTL50
00034  FD  BUP-MAST1                                                    DCUTL500
           LABEL RECORDS ARE OMITTED
00038      DATA RECORDS ARE BUP-DATA-RECORD.                               CL**2
00039  01  BUP-DATA-RECORD.                                             DCUTL500
               05 BUP-DATA-REST   PICTURE X(1265).
00043                                                                    DCUTL50
00044  FD  BUP-MAST2                                                    DCUTL500
           LABEL RECORDS ARE OMITTED
00048      DATA RECORDS ARE BUP-REL-RECORD.                                CL**2
00049  01  BUP-REL-RECORD.                                              DCUTL500
               05 BUP-REL-REST  PICTURE X(668). 
00053                                                                    DCUTL50
00054  FD  BUP-MAST3                                                       CL**2
           LABEL RECORDS ARE OMITTED
00058      DATA RECORDS ARE BUP-CTL-RECORD.                                CL**2
       01  BUP-CTL-RECORD       PICTURE X(3195).
00060                                                                    DCUTL50
*CALL     SYSPRTFD                                                         CL**4
  
  
       COMMON-STORAGE SECTION.
  
  
       77 RETURN-CODE   PICTURE 99. 
  
  
       01 WKPRINT-UTL.
*CALL WKPRINT 
       01 UTL-TABLE-BUP.
           05 MAST1-OPT                PICTURE X. 
           05 MAST2-OPT                PICTURE X. 
           05 MAST3-OPT                PICTURE X. 
           05 OFFCOND                  PICTURE X. 
           05 REV-SAVE   PICTURE 99999. 
           05 ENTRY-TYPES.
               10 DBPROC-TYPE          PICTURE XX.
               10 DBPROC-NAME          PICTURE X(15). 
               10 ELEMENT-TYPE         PICTURE XX.
               10 ELEMENT-NAME         PICTURE X(15). 
               10 GROUP-TYPE           PICTURE XX.
               10 GROUP-NAME           PICTURE X(15). 
               10 RECORD-TYPE          PICTURE XX.
               10 RECORD-NAME          PICTURE X(15). 
               10 FILE-TYPE            PICTURE XX.
               10 FILE-NAME            PICTURE X(15). 
               10 AREA-TYPE            PICTURE XX.
               10 AREA-NAME            PICTURE X(15). 
               10 SUBSCHEMA-TYPE       PICTURE XX.
               10 SUBSCHEMA-NAME       PICTURE X(15). 
               10 SCHEMA-TYPE          PICTURE XX.
               10 SCHEMA-NAME          PICTURE X(15). 
               10 IMSDB-TYPE           PICTURE XX.
               10 IMSDB-NAME           PICTURE X(15). 
               10 IMSPSB-TYPE          PICTURE XX.
               10 IMSPSB-NAME          PICTURE X(15). 
               10 FORM-TYPE            PICTURE XX.
               10 FORM-NAME            PICTURE X(15). 
               10 REPORT-TYPE          PICTURE XX.
               10 REPORT-NAME          PICTURE X(15). 
               10 PROGRAM-TYPE         PICTURE XX.
               10 PROGRAM-NAME         PICTURE X(15). 
               10 TASK-TYPE            PICTURE XX.
               10 TASK-NAME            PICTURE X(15). 
               10 RESOURCE-TYPE        PICTURE XX.
               10 RESOURCE-NAME        PICTURE X(15). 
               10 SYSTEM-TYPE          PICTURE XX.
               10 SYSTEM-NAME          PICTURE X(15). 
               10 MGMT-TYPE            PICTURE XX.
               10 MGMT-NAME            PICTURE X(15). 
           05 REL-NAME                 PICTURE X(15). 
           05 CTL-NAME-LINK            PICTURE X(15). 
           05 DATA-RECORD-COUNT.
               10 DBPROC-REC-COUNT       PICTURE 9(5).
               10 ELEMENT-REC-COUNT      PICTURE 9(5).
               10 GROUP-REC-COUNT        PICTURE 9(5).
               10 RECORD-REC-COUNT       PICTURE 9(5).
               10 FILE-REC-COUNT         PICTURE 9(5).
               10 AREA-REC-COUNT         PICTURE 9(5).
               10 SUBSCHEMA-REC-COUNT    PICTURE 9(5).
               10 SCHEMA-REC-COUNT       PICTURE 9(5).
               10 IMSDB-REC-COUNT        PICTURE 9(5).
               10 IMSPSB-REC-COUNT       PICTURE 9(5).
               10 FORM-REC-COUNT         PICTURE 9(5).
               10 REPORT-REC-COUNT       PICTURE 9(5).
               10 PROGRAM-REC-COUNT      PICTURE 9(5).
               10 TASK-REC-COUNT         PICTURE 9(5).
               10 RESOURCE-REC-COUNT     PICTURE 9(5).
               10 SYSTEM-REC-COUNT       PICTURE 9(5).
               10 MGMT-REC-COUNT         PICTURE 9(5).
               10 TOTAL-REC-COUNT        PICTURE 9(5).
               10 DBPROC-NAME-COUNT      PICTURE 9(5).
               10 ELEMENT-NAME-COUNT     PICTURE 9(5).
               10 GROUP-NAME-COUNT       PICTURE 9(5).
               10 RECORD-NAME-COUNT      PICTURE 9(5).
               10 FILE-NAME-COUNT        PICTURE 9(5).
               10 AREA-NAME-COUNT        PICTURE 9(5).
               10 SUBSCHEMA-NAME-COUNT   PICTURE 9(5).
               10 SCHEMA-NAME-COUNT      PICTURE 9(5).
               10 IMSDB-NAME-COUNT       PICTURE 9(5).
               10 IMSPSB-NAME-COUNT      PICTURE 9(5).
               10 FORM-NAME-COUNT        PICTURE 9(5).
               10 REPORT-NAME-COUNT      PICTURE 9(5).
               10 PROGRAM-NAME-COUNT     PICTURE 9(5).
               10 TASK-NAME-COUNT        PICTURE 9(5).
               10 RESOURCE-NAME-COUNT    PICTURE 9(5).
               10 SYSTEM-NAME-COUNT      PICTURE 9(5).
               10 MGMT-NAME-COUNT        PICTURE 9(5).
               10 TOTAL-COUNT            PICTURE 9(5).
           05 REL-RECORD-COUNT. 
               10 REL-REC-COUNT          PICTURE 9(5).
               10 REL-ENTRY-COUNT        PICTURE 9(5).
           05 CONTROL-REC-COUNT          PICTURE 9(5).
           05 CTL-LINK. 
               10 DATA-PRIME             PICTURE 9(5).
               10 REL-PRIME              PICTURE 9(5).
*CALL     WRKSTG77                                                         CL**4
00063                                                                    DCUTL50
*CALL     MAST1WS                                                          CL**4
*CALL     WRKSTG01                                                         CL**4
00066  01  WORK-AREA.                                                   DCUTL500
00067      05  DISP-LINE.                                                  CL**2
00068          10   FILLER             PICTURE X  VALUE SPACE.          DCUTL500
00069          10 DISP-COUNT1          PICTURE ZZZZ9.                      CL**2
00070          10   FILLER             PICTURE X  VALUE SPACE.          DCUTL500
00071          10   FILLER             PICTURE X(21)  VALUE             DCUTL500
00072               "RECORDS REPRESENTING ".                            DCUTL500
00073          10  DISP-COUNT2         PICTURE ZZZZ9.                      CL**2
00074          10   FILLER             PICTURE X  VALUE SPACE.          DCUTL500
00075          10   DISP-NAME           PICTURE X(15).                  DCUTL500
00076          10  FILLER         PICTURE X(7) VALUE "ENTRIES".            CL**2
00077      05  HEADING-LINE.                                            DCUTL500
00078          10  FILLER              PICTURE X VALUE SPACE.           DCUTL500
00079          10  FILLER              PICTURE X(18) VALUE                 CL**2
00080              "WE HAVE BACKED UP]".                                DCUTL500
           05  TOTAL-NAME         PICTURE X(15) VALUE "DATA". 
00082                                                                    DCUTL50
00164                                                                    DCUTL50
00165  PROCEDURE DIVISION.                                              DCUTL500
       OLD-ENTRY. 
00169      OPEN OUTPUT SYSPRINT.                                        DCUTL500
00170      MOVE 1 TO PRT-CTL.                                              CL**2
00171       MOVE SPACE TO PRINT-LINE.                                      CL**2
00172       MOVE SPACE TO STD-REPORT-REC.                                  CL**2
00173       PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                    CL**2
00174       PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                    CL**2
           MOVE ZEROS TO DATA-RECORD-COUNT  CONTROL-REC-COUNT 
               REL-RECORD-COUNT.
00210      MOVE HEADING-LINE TO STD-REPORT-REC.                            CL**2
00211      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00212       PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                    CL**2
00213      IF MAST1-OPT EQUAL OFFCOND                                   DCUTL500
00214          GO TO 2000-BUPMAST2.                                     DCUTL500
00215                                                                    DCUTL50
00216 ******************************************************************DCUTL500
00217 *                                                                *DCUTL500
00218 *        BACKUP THE DATA FILE                                    *DCUTL500
00219 *                                                                *DCUTL500
00220 ******************************************************************DCUTL500
00221      OPEN INPUT MAST1.                                            DCUTL500
00222      OPEN OUTPUT BUP-MAST1.                                       DCUTL500
00223  0100-BUPMAST1.                                                   DCUTL500
00224      READ MAST1                                                      CL**2
00225          AT END GO TO 0900-BUPMAST1.                              DCUTL500
00230      IF DATA-HDR-ENT-ID EQUAL SPACE                                  CL**2
00231      GO TO 0100-BUPMAST1.                                            CL**2
00234      MOVE DATA-RECORD TO BUP-DATA-REST.                              CL**2
00235      WRITE BUP-DATA-RECORD.                                       DCUTL500
           IF DATA-HDR-ENT-ID IS NOT EQUAL TO DBPROC-TYPE 
              GO TO 0110-BUPMAST1.
           ADD 1 TO DBPROC-REC-COUNT. 
           IF DATA-REC-ID-TRLR IS EQUAL TO ZERO 
              ADD 1 TO DBPROC-NAME-COUNT. 
           GO TO 0100-BUPMAST1. 
       0110-BUPMAST1. 
00236      IF DATA-HDR-ENT-ID NOT EQUAL ELEMENT-TYPE                    DCUTL500
00237          GO TO 0120-BUPMAST1.                                     DCUTL500
00238      ADD 1 TO ELEMENT-REC-COUNT.                                  DCUTL500
00239      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00240          ADD 1 TO ELEMENT-NAME-COUNT.                             DCUTL500
00241      GO TO 0100-BUPMAST1.                                         DCUTL500
00242  0120-BUPMAST1.                                                   DCUTL500
00243      IF DATA-HDR-ENT-ID NOT EQUAL GROUP-TYPE                      DCUTL500
00244          GO TO 0140-BUPMAST1.                                     DCUTL500
00245      ADD 1 TO GROUP-REC-COUNT.                                    DCUTL500
00246      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00247          ADD 1 TO GROUP-NAME-COUNT.                               DCUTL500
00248      GO TO 0100-BUPMAST1.                                         DCUTL500
00249  0140-BUPMAST1.                                                   DCUTL500
00250      IF DATA-HDR-ENT-ID NOT EQUAL RECORD-TYPE                     DCUTL500
00251          GO TO 0160-BUPMAST1.                                     DCUTL500
00252      ADD 1 TO RECORD-REC-COUNT.                                   DCUTL500
00253      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00254          ADD 1 TO RECORD-NAME-COUNT.                              DCUTL500
00255      GO TO 0100-BUPMAST1.                                         DCUTL500
00256  0160-BUPMAST1.                                                   DCUTL500
00257      IF DATA-HDR-ENT-ID NOT EQUAL FILE-TYPE                       DCUTL500
               GO TO 0165-BUPMAST1. 
00259      ADD 1 TO FILE-REC-COUNT.                                     DCUTL500
00260      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00261          ADD 1 TO FILE-NAME-COUNT.                                DCUTL500
00262      GO TO 0100-BUPMAST1.                                         DCUTL500
       0165-BUPMAST1. 
           IF DATA-HDR-ENT-ID IS NOT EQUAL TO AREA-TYPE 
              GO TO 0170-BUPMAST1.
           ADD 1 TO AREA-REC-COUNT. 
           IF DATA-REC-ID-TRLR IS EQUAL TO ZERO 
              ADD 1 TO AREA-NAME-COUNT. 
           GO TO 0100-BUPMAST1. 
       0170-BUPMAST1. 
           IF DATA-HDR-ENT-ID IS NOT EQUAL TO SUBSCHEMA-TYPE
              GO TO 0175-BUPMAST1.
           ADD 1 TO SUBSCHEMA-REC-COUNT.
           IF DATA-REC-ID-TRLR IS EQUAL TO ZERO 
              ADD 1 TO SUBSCHEMA-NAME-COUNT.
           GO TO 0100-BUPMAST1. 
       0175-BUPMAST1. 
           IF DATA-HDR-ENT-ID IS NOT EQUAL TO SCHEMA-TYPE 
              GO TO 0180-BUPMAST1.
           ADD 1 TO SCHEMA-REC-COUNT. 
           IF DATA-REC-ID-TRLR IS EQUAL TO ZERO 
              ADD 1 TO SCHEMA-NAME-COUNT. 
           GO TO 0100-BUPMAST1. 
00263  0180-BUPMAST1.                                                   DCUTL500
00264      IF DATA-HDR-ENT-ID NOT EQUAL IMSDB-TYPE                      DCUTL500
00265          GO TO 0200-BUPMAST1.                                     DCUTL500
00266      ADD 1 TO IMSDB-REC-COUNT.                                    DCUTL500
00267      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00268          ADD 1 TO IMSDB-NAME-COUNT.                               DCUTL500
00269      GO TO 0100-BUPMAST1.                                         DCUTL500
00270  0200-BUPMAST1.                                                   DCUTL500
00271      IF DATA-HDR-ENT-ID NOT EQUAL IMSPSB-TYPE                     DCUTL500
00272          GO TO 0220-BUPMAST1.                                     DCUTL500
00273      ADD 1 TO IMSPSB-REC-COUNT.                                   DCUTL500
00274      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00275          ADD 1 TO IMSPSB-NAME-COUNT.                              DCUTL500
00276      GO TO 0100-BUPMAST1.                                         DCUTL500
00277  0220-BUPMAST1.                                                   DCUTL500
00278      IF DATA-HDR-ENT-ID NOT EQUAL FORM-TYPE                       DCUTL500
00279          GO TO 0240-BUPMAST1.                                     DCUTL500
00280      ADD 1 TO FORM-REC-COUNT.                                     DCUTL500
00281      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00282          ADD 1 TO FORM-NAME-COUNT.                                DCUTL500
00283      GO TO 0100-BUPMAST1.                                         DCUTL500
00284  0240-BUPMAST1.                                                   DCUTL500
00285      IF DATA-HDR-ENT-ID NOT EQUAL REPORT-TYPE                     DCUTL500
00286          GO TO 0260-BUPMAST1.                                     DCUTL500
00287      ADD 1 TO REPORT-REC-COUNT.                                   DCUTL500
00288      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00289          ADD 1 TO REPORT-NAME-COUNT.                              DCUTL500
00290      GO TO 0100-BUPMAST1.                                         DCUTL500
00291  0260-BUPMAST1.                                                   DCUTL500
00292      IF DATA-HDR-ENT-ID NOT EQUAL PROGRAM-TYPE                    DCUTL500
00293          GO TO 0280-BUPMAST1.                                     DCUTL500
00294      ADD 1 TO PROGRAM-REC-COUNT.                                  DCUTL500
00295      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00296          ADD 1 TO PROGRAM-NAME-COUNT.                             DCUTL500
00297      GO TO 0100-BUPMAST1.                                         DCUTL500
00298  0280-BUPMAST1.                                                   DCUTL500
00299      IF DATA-HDR-ENT-ID NOT EQUAL TASK-TYPE                       DCUTL500
00300          GO TO 0300-BUPMAST1.                                     DCUTL500
00301      ADD 1 TO TASK-REC-COUNT.                                     DCUTL500
00302      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00303          ADD 1 TO TASK-NAME-COUNT.                                DCUTL500
00304      GO TO 0100-BUPMAST1.                                         DCUTL500
00305  0300-BUPMAST1.                                                   DCUTL500
00306      IF DATA-HDR-ENT-ID NOT EQUAL RESOURCE-TYPE                   DCUTL500
00307          GO TO 0320-BUPMAST1.                                     DCUTL500
00308      ADD 1 TO RESOURCE-REC-COUNT.                                 DCUTL500
00309      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00310          ADD 1 TO RESOURCE-NAME-COUNT.                            DCUTL500
00311      GO TO 0100-BUPMAST1.                                         DCUTL500
00312  0320-BUPMAST1.                                                   DCUTL500
00313      IF DATA-HDR-ENT-ID NOT EQUAL SYSTEM-TYPE                     DCUTL500
00314          GO TO 0340-BUPMAST1.                                     DCUTL500
00315      ADD 1 TO SYSTEM-REC-COUNT.                                   DCUTL500
00316      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00317          ADD 1 TO SYSTEM-NAME-COUNT.                              DCUTL500
00318      GO TO 0100-BUPMAST1.                                         DCUTL500
00319  0340-BUPMAST1.                                                   DCUTL500
00320      IF DATA-HDR-ENT-ID NOT EQUAL MGMT-TYPE                       DCUTL500
               GO TO 0400-BUPMAST1. 
00322      ADD 1 TO MGMT-REC-COUNT.                                        CL**2
00323      IF DATA-REC-ID-TRLR EQUAL ZERO                                  CL**2
00324          ADD 1 TO MGMT-NAME-COUNT.                                DCUTL500
00337  0400-BUPMAST1.                                                      CL**2
00338      GO TO 0100-BUPMAST1.                                         DCUTL500
00339                                                                    DCUTL50
00340 ******************************************************************DCUTL500
00341 *                                                                *DCUTL500
00342 *       PRINT DATA FILE TOTALS                                    DCUTL500
00343 *                                                                *DCUTL500
00344 ******************************************************************DCUTL500
00345  0900-BUPMAST1.                                                   DCUTL500
           MOVE DBPROC-REC-COUNT TO DISP-COUNT1.
           MOVE DBPROC-NAME-COUNT TO DISP-COUNT2. 
           MOVE DBPROC-NAME TO DISP-NAME. 
           MOVE DISP-LINE TO STD-REPORT-REC.
           PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.
00346      MOVE ELEMENT-REC-COUNT TO DISP-COUNT1.                       DCUTL500
00347      MOVE ELEMENT-NAME-COUNT TO DISP-COUNT2.                      DCUTL500
00348      MOVE ELEMENT-NAME TO DISP-NAME.                              DCUTL500
00349      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00350      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00351      MOVE GROUP-REC-COUNT TO DISP-COUNT1.                         DCUTL500
00352      MOVE GROUP-NAME-COUNT TO DISP-COUNT2.                        DCUTL500
00353      MOVE GROUP-NAME TO DISP-NAME.                                DCUTL500
00354      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00355      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00356      MOVE RECORD-REC-COUNT TO DISP-COUNT1.                        DCUTL500
00357      MOVE RECORD-NAME-COUNT TO DISP-COUNT2.                       DCUTL500
00358      MOVE RECORD-NAME TO DISP-NAME.                               DCUTL500
00359      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00360      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00361      MOVE FILE-REC-COUNT TO DISP-COUNT1.                          DCUTL500
00362      MOVE FILE-NAME-COUNT TO DISP-COUNT2.                         DCUTL500
00363      MOVE FILE-NAME TO DISP-NAME.                                 DCUTL500
00364      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00365      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
           MOVE AREA-REC-COUNT TO DISP-COUNT1.
           MOVE AREA-NAME-COUNT TO DISP-COUNT2. 
           MOVE AREA-NAME TO DISP-NAME. 
           MOVE DISP-LINE TO STD-REPORT-REC.
           PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.
           MOVE SUBSCHEMA-REC-COUNT TO DISP-COUNT1. 
           MOVE SUBSCHEMA-NAME-COUNT TO DISP-COUNT2.
           MOVE SUBSCHEMA-NAME TO DISP-NAME.
           MOVE DISP-LINE TO STD-REPORT-REC.
           PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.
           MOVE SCHEMA-REC-COUNT TO DISP-COUNT1.
           MOVE SCHEMA-NAME-COUNT TO DISP-COUNT2. 
           MOVE SCHEMA-NAME TO DISP-NAME. 
           MOVE DISP-LINE TO STD-REPORT-REC.
           PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.
00366      MOVE IMSDB-REC-COUNT TO DISP-COUNT1.                         DCUTL500
00367      MOVE IMSDB-NAME-COUNT TO DISP-COUNT2.                        DCUTL500
00368      MOVE IMSDB-NAME TO DISP-NAME.                                   CL**2
00369      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00370      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00371      MOVE IMSPSB-REC-COUNT TO DISP-COUNT1.                        DCUTL500
00372      MOVE IMSPSB-NAME-COUNT TO DISP-COUNT2.                       DCUTL500
00373      MOVE IMSPSB-NAME TO DISP-NAME.                               DCUTL500
00374      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00375      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00376      MOVE FORM-REC-COUNT TO DISP-COUNT1.                          DCUTL500
00377      MOVE FORM-NAME-COUNT TO DISP-COUNT2.                         DCUTL500
00378      MOVE FORM-NAME TO DISP-NAME.                                 DCUTL500
00379      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00380      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00381      MOVE REPORT-REC-COUNT TO DISP-COUNT1.                        DCUTL500
00382      MOVE REPORT-NAME-COUNT TO DISP-COUNT2.                       DCUTL500
00383      MOVE REPORT-NAME TO DISP-NAME.                               DCUTL500
00384      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00385      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00386      MOVE PROGRAM-REC-COUNT TO DISP-COUNT1.                       DCUTL500
00387      MOVE PROGRAM-NAME-COUNT TO DISP-COUNT2.                      DCUTL500
00388      MOVE PROGRAM-NAME TO DISP-NAME.                              DCUTL500
00389      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00390      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00391      MOVE TASK-REC-COUNT TO DISP-COUNT1.                          DCUTL500
00392      MOVE TASK-NAME-COUNT TO DISP-COUNT2.                         DCUTL500
00393      MOVE TASK-NAME TO DISP-NAME.                                 DCUTL500
00394      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00395      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00396      MOVE RESOURCE-REC-COUNT TO DISP-COUNT1.                      DCUTL500
00397      MOVE RESOURCE-NAME-COUNT TO DISP-COUNT2.                     DCUTL500
00398      MOVE RESOURCE-NAME TO DISP-NAME.                             DCUTL500
00399      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00400      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00401      MOVE SYSTEM-REC-COUNT TO DISP-COUNT1.                        DCUTL500
00402      MOVE SYSTEM-NAME-COUNT TO DISP-COUNT2.                          CL**2
00403      MOVE SYSTEM-NAME TO DISP-NAME.                               DCUTL500
00404      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00405      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00408      MOVE MGMT-REC-COUNT TO DISP-COUNT1.                          DCUTL500
00409      MOVE MGMT-NAME-COUNT TO DISP-COUNT2.                         DCUTL500
00410      MOVE MGMT-NAME TO DISP-NAME.                                 DCUTL500
00411      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00412      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00427  1000-BUPMAST1.                                                      CL**2
           ADD DBPROC-NAME-COUNT TO TOTAL-COUNT.
00428      ADD ELEMENT-NAME-COUNT TO TOTAL-COUNT.                          CL**2
00429      ADD GROUP-NAME-COUNT TO TOTAL-COUNT.                            CL**2
00430      ADD RECORD-NAME-COUNT TO TOTAL-COUNT.                           CL**2
00431      ADD FILE-NAME-COUNT TO TOTAL-COUNT.                             CL**2
           ADD AREA-NAME-COUNT TO TOTAL-COUNT.
           ADD SUBSCHEMA-NAME-COUNT TO TOTAL-COUNT. 
           ADD SCHEMA-NAME-COUNT TO TOTAL-COUNT.
00432      ADD IMSDB-NAME-COUNT TO TOTAL-COUNT.                            CL**2
00433      ADD IMSPSB-NAME-COUNT TO TOTAL-COUNT.                           CL**2
00434      ADD FORM-NAME-COUNT TO TOTAL-COUNT.                             CL**2
00435      ADD REPORT-NAME-COUNT TO TOTAL-COUNT.                           CL**2
00436      ADD PROGRAM-NAME-COUNT TO TOTAL-COUNT.                          CL**2
00437      ADD TASK-NAME-COUNT TO TOTAL-COUNT.                             CL**2
00438      ADD RESOURCE-NAME-COUNT TO TOTAL-COUNT.                         CL**2
00439      ADD SYSTEM-NAME-COUNT TO TOTAL-COUNT.                           CL**2
00440      ADD MGMT-NAME-COUNT TO TOTAL-COUNT.                             CL**2
00443      MOVE TOTAL-COUNT TO DISP-COUNT2.                                CL**2
00444      MOVE TOTAL-NAME TO DISP-NAME.                                   CL**2
           ADD DBPROC-REC-COUNT TO TOTAL-REC-COUNT. 
00445      ADD ELEMENT-REC-COUNT TO TOTAL-REC-COUNT.                       CL**2
00446      ADD GROUP-REC-COUNT TO TOTAL-REC-COUNT.                         CL**2
00447      ADD RECORD-REC-COUNT TO TOTAL-REC-COUNT.                        CL**2
00448      ADD FILE-REC-COUNT TO TOTAL-REC-COUNT.                          CL**2
           ADD AREA-REC-COUNT TO TOTAL-REC-COUNT. 
           ADD SUBSCHEMA-REC-COUNT TO TOTAL-REC-COUNT.
           ADD SCHEMA-REC-COUNT TO TOTAL-REC-COUNT. 
00449      ADD IMSDB-REC-COUNT TO TOTAL-REC-COUNT.                         CL**2
00450      ADD IMSPSB-REC-COUNT TO TOTAL-REC-COUNT.                        CL**2
00451      ADD FORM-REC-COUNT TO TOTAL-REC-COUNT.                          CL**2
00452      ADD REPORT-REC-COUNT TO TOTAL-REC-COUNT.                        CL**2
00453      ADD PROGRAM-REC-COUNT TO TOTAL-REC-COUNT.                       CL**2
00454      ADD TASK-REC-COUNT TO TOTAL-REC-COUNT.                          CL**2
00455      ADD RESOURCE-REC-COUNT TO TOTAL-REC-COUNT.                      CL**2
00456      ADD SYSTEM-REC-COUNT TO TOTAL-REC-COUNT.                        CL**2
00457      ADD MGMT-REC-COUNT TO TOTAL-REC-COUNT.                          CL**2
00460      MOVE TOTAL-REC-COUNT TO DISP-COUNT1.                            CL**2
00461      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00462      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00463      CLOSE MAST1.                                                 DCUTL500
00464      CLOSE BUP-MAST1.                                             DCUTL500
00465                                                                    DCUTL50
00466  2000-BUPMAST2.                                                   DCUTL500
00467      IF MAST2-OPT EQUAL OFFCOND                                   DCUTL500
00468          GO TO 4000-BUPMAST3.                                        CL**2
00469 ******************************************************************DCUTL500
00470 *                                                                *DCUTL500
00471 *        BACKUP THE RELATIONAL FILE                              *DCUTL500
00472 *                                                                *DCUTL500
00473 ******************************************************************DCUTL500
00474      OPEN INPUT MAST2.                                            DCUTL500
00475      OPEN OUTPUT BUP-MAST2.                                          CL**2
00476  2100-BUPMAST2.                                                   DCUTL500
00477      READ MAST2                                                   DCUTL500
00478          AT END GO TO 3000-BUPMAST2.                              DCUTL500
00485      MOVE REL-RECORD TO BUP-REL-REST.                                CL**2
00486      WRITE BUP-REL-RECORD.                                        DCUTL500
00487      ADD 1 TO REL-REC-COUNT.                                      DCUTL500
00488      IF REL-HDR-CONT EQUAL ZERO OR SPACE                             CL**2
00489          ADD 1 TO REL-ENTRY-COUNT.                                DCUTL500
00490      GO TO 2100-BUPMAST2.                                         DCUTL500
00491                                                                    DCUTL50
00492 ******************************************************************DCUTL500
00493 *                                                                *DCUTL500
00494 *       PRINT RELATIONAL FILE TOTALS                              DCUTL500
00495 ******************************************************************DCUTL500
00496  3000-BUPMAST2.                                                   DCUTL500
00497      MOVE REL-REC-COUNT TO DISP-COUNT1.                           DCUTL500
00498      MOVE REL-ENTRY-COUNT TO DISP-COUNT2.                         DCUTL500
00499      MOVE REL-NAME TO DISP-NAME.                                  DCUTL500
00500      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00501      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCUTL500
00502      CLOSE MAST2.                                                 DCUTL500
00503      CLOSE BUP-MAST2.                                             DCUTL500
00504                                                                    DCUTL50
00505  4000-BUPMAST3.                                                      CL**2
00506      IF MAST3-OPT EQUAL OFFCOND                                      CL**2
00507          GO TO 9000-BUP.                                             CL**2
00508 ***********************************************************          CL**2
00509 *                                                                    CL**2
00510 *        BACKUP THE CONTROL FILE                                     CL**2
00511 *                                                                    CL**2
00512 ***********************************************************          CL**2
00513      OPEN INPUT MAST3.                                               CL**2
00514      OPEN OUTPUT BUP-MAST3.                                          CL**2
00515  4100-BUPMAST3.                                                      CL**2
           IF CONTROL-REC-COUNT IS EQUAL TO CONTROL-FILE-LIMIT
              GO TO 4200-BUPMAST3.
00516      READ MAST3                                                      CL**2
00517         AT END GO TO 4200-BUPMAST3.                                  CL**2
00518      ADD 1 TO CONTROL-REC-COUNT.                                     CL**2
00519      MOVE CTL-RECORD-1 TO BUP-CTL-RECORD.                            CL**2
00520      WRITE BUP-CTL-RECORD.                                           CL**2
00521      GO TO 4100-BUPMAST3.                                            CL**2
00522                                                                    DCUTL50
00523 ***********************************************************          CL**2
00524 *                                                                    CL**2
00525 *        PRINT CONTROL FILE TOTALS                                   CL**2
00526 *                                                                    CL**2
00527 ***********************************************************          CL**2
00528  4200-BUPMAST3.                                                      CL**2
00529      MOVE CONTROL-REC-COUNT TO DISP-COUNT1.                          CL**2
00530      MOVE CONTROL-REC-COUNT TO DISP-COUNT2.                          CL**2
00531      MOVE CTL-NAME-LINK TO DISP-NAME.                                CL**2
00532      MOVE DISP-LINE TO STD-REPORT-REC.                               CL**2
00533      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00534      CLOSE MAST3.                                                    CL**2
00535      CLOSE BUP-MAST3.                                                CL**2
00536  9000-BUP.                                                        DCUTL500
00537      CLOSE SYSPRINT.                                              DCUTL500
           EXIT PROGRAM.
00539                                                                    DCUTL50
*CALL     DISPLAYLN                                                        CL**4
*CALL     WRITELN                                                          CL**4
00542  USER-ROUTINE.                                                       CL**2
00543      GO TO USER-ROUTINE-XIT.                                         CL**2
00544  USER-ROUTINE-XIT.                                                   CL**2
00545      EXIT.                                                           CL**2
