*DECK     DCRPT240
00001  IDENTIFICATION DIVISION.                                         04/25/78
       PROGRAM-ID. RPT240.
*CALL COPYRIGHT 
      *    THIS MODULE PRINTS A REPORT FOR A $REPORT OR $FILE REQUEST 
      *    IN ADDITION IF A FILE HAS BEEN REQUESTED THIS MODULE FORMATS 
      *    RECORDS FOR REPORTS. THE MODULE ALSO FORMATS INDEX REPORT
      *    DETAIL RECORDS.
      *    ENTRY TYPE 40 = REPORT 
00011  ENVIRONMENT DIVISION.                                            DCRPT240
00012  CONFIGURATION SECTION.                                           DCRPT240
       SOURCE-COMPUTER. CYBER.
       OBJECT-COMPUTER. CYBER.
00015  INPUT-OUTPUT SECTION.                                            DCRPT240
00016  DATA DIVISION.                                                   DCRPT240
*CALL RPTCS 
*CALL     WRKSTG77                                                         CL**5
*CALL     MAST1WS                                                          CL**5
*CALL     TESTWACOM                                                        CL**5
*CALL     DCDWA40                                                          CL**5
00021  01  COMMON-RPTDATA.                                              DCRPT240
00022 *                                                                 DCRPT240
00023 *    THIS REFINES LINE FORMATS  FIELD VALUES, CODES AND WORK AREASDCRPT240
00024 *    WHICH ARE COMMON TO ALL ENTRY TYPES.                         DCRPT240
00025 ******************************************************************DCRPT240
00026 *    STANDARD CATEGORY RPT DETAIL LINES COMMON TO ALL ENTRY TYPES DCRPT240
00027 ******************************************************************DCRPT240
00028      03  00-CAT-DETAIL-LINES.                                     DCRPT240
00029 *    CONTROL CATEGORY                                             DCRPT240
00030          05  CAT00010-LINE.                                       DCRPT240
00031              07  FLD0001005-HDG  PICTURE X(11).                   DCRPT240
00032              07  FLD0001005-VAL  PICTURE X(32).                   DCRPT240
00033              07  FILLER          PICTURE X.                       DCRPT240
00034              07  FLD0001010-HDG  PICTURE X(7).                    DCRPT240
00035              07  FLD0001010-VAL.                                     CL**2
00036                  09  FLD0001010-POS1 PICTURE X.                      CL**2
00037                  09  FILLER          PICTURE X(7).                   CL**2
00038              07  FILLER          PICTURE X.                       DCRPT240
00039              07  FLD0001015-HDG  PICTURE X(9).                    DCRPT240
00040              07  FLD0001015-VAL  PICTURE X.                       DCRPT240
00041 *    KEYWORD CATEGORY                                             DCRPT240
00042          05  CAT00020-LINE REDEFINES CAT00010-LINE.               DCRPT240
00043              07  FLD0002005-HDG  PICTURE X(3).                    DCRPT240
00044              07  FLD0002005-VAL PICTURE X(67).                       CL**2
00045 *"   DESCRIPTION CATEGORY                                         DCRPT240
00046          05  CAT00030-LINE REDEFINES CAT00020-LINE.               DCRPT240
00047              07  FLD0003005-VAL  PICTURE X.                       DCRPT240
00048              07  FLD0003010-VAL  PICTURE X(66).                   DCRPT240
00049              07  FILLER          PICTURE X(3).                    DCRPT240
00050 *    OTHER CATEGORY                                               DCRPT240
00051          05  CAT00900-LINE REDEFINES CAT00020-LINE.               DCRPT240
00052              07  FLD0090005-VAL  PICTURE X.                       DCRPT240
00053              07  FLD0090010-VAL  PICTURE X(66).                   DCRPT240
00054              07  FILLER          PICTURE X(3).                    DCRPT240
00055 ******************************************************************DCRPT240
00056 *    STANDARD FIELD HEADING CONSTANTS FOR DETAIL LINES            DCRPT240
00057 *        COMMON TO ALL ENTRY TYPES                                DCRPT240
00058 ******************************************************************DCRPT240
00059      03  00-FIELD-HDG-CONSTANTS.                                  DCRPT240
00060          05  FLD0001005-HCONA    PICTURE X(11)  VALUE             DCRPT240
00061             "  ALIAS OF ".                                        DCRPT240
00062          05  FLD0001010-HCON     PICTURE X(7)   VALUE             DCRPT240
00063             "STATUS=".                                            DCRPT240
00064          05  FLD0001015-HCON     PICTURE X(9)   VALUE             DCRPT240
00065             "SECURITY=".                                          DCRPT240
00066          05  FLD0002005-HCON     PICTURE X(3)   VALUE             DCRPT240
00067             "   ".                                                   CL**2
00068          05  FLD0001005-HCONV    PICTURE X(11)  VALUE             DCRPT240
00069             "VERSION OF ".                                        DCRPT240
00070          05  SUB-HEADING-LINE.                                       CL**2
00071              07  FILLER          PICTURE X(14)   VALUE               CL**2
00072             "CATALOGUE NAME".                                        CL**2
00073              07  FILLER          PICTURE X(8)    VALUE SPACE.        CL**2
00074              07  FILLER          PICTURE X(9)    VALUE               CL**2
00075             "REV  LINE".                                             CL**2
00076              07  FILLER          PICTURE X(5)    VALUE SPACE.        CL**2
00077              07  FILLER          PICTURE X(4)    VALUE               CL**2
00078             "TYPE".                                                  CL**2
00079              07  FILLER          PICTURE X(92)   VALUE SPACE.        CL**2
00080          05  CONTINUATION-LINE.                                      CL**2
00081              07  CATA-NAME-LINE  PICTURE X(56)   VALUE SPACE.        CL**2
00082              07  FILLER          PICTURE X(72)   VALUE SPACE.        CL**2
00083              07  STATEMENT-LINE.                                     CL**2
00084                  09  FILLER      PICTURE X(5)    VALUE SPACE.        CL**2
00085                  09  FILLER      PICTURE X(30)   VALUE               CL**2
00086                 "* CONTINUED FROM PREVIOUS PAGE".                    CL**2
00087                  09  FILLER      PICTURE X(97)   VALUE SPACE.        CL**2
00088 *********************************************************            CL**2
00089 *     FIELD CODES AND THEIR MEANINGS                                 CL**2
00090 *       COMMON TO ALL ENTRY TYPES-FOR COMMON CATS                    CL**2
00091 **********************************************************           CL**2
00092      03  00-CAT-CODES.                                               CL**2
00093 *  STATUS OF ENTRY                                                   CL**2
00094          05  FLD0001010-CV       PICTURE X(4)    VALUE               CL**2
00095         "EPO9".                                                      CL**2
00096          05  FLD0001010-CD  REDEFINES  FLD0001010-CV.                CL**2
00097              07  FLD0001010-CODES PICTURE X OCCURS 4.                CL**2
00098          05  FLD0001010-MV       PICTURE X(32)   VALUE               CL**2
00099         "EXISTINGPROPOSEDOBSOLETEXXXXXXXX".                          CL**2
00100          05  FLD0001010-MD   REDEFINES FLD0001010-MV.                CL**2
00101              07  FLD0001010-MNG  PICTURE X(8) OCCURS 4.              CL**2
00102      03  WORK-FIELDS.                                             DCRPT240
00103          05  DATA-OPEN-SW PICTURE X.                                 CL**2
00104          05  HIT-WORK-REC.                                        DCRPT240
00105          07  HIT-WORK-NAME       PICTURE X(32).                   DCRPT240
00106          07  HIT-WORK-ENTTYPE    PICTURE XX.                      DCRPT240
00107          05  HIT-TBL-LIMIT       PICTURE   99    VALUE            DCRPT240
00108            25.                                                    DCRPT240
00109          05  HIT-TBL-LIMIT-PLUS1 PICTURE   99    VALUE            DCRPT240
00110              26.                                                  DCRPT240
00111          05  FRLINE-LIMIT        PICTURE 9(4).                    DCRPT240
00112          05  TOLINE-LIMIT        PICTURE 9(4).                    DCRPT240
00113          05  FORLINE-LIMIT       PICTURE 9(4).                    DCRPT240
00114          05  CATLINE-COUNTER     PICTURE 9(4).                    DCRPT240
00115          05  ENTRY-NAME          PICTURE X(32).                   DCRPT240
00116          05  ENTRY-TYPE-NO       PICTURE 99.                      DCRPT240
00117          05  ENTRY-TYPE-NAME     PICTURE X(8).                    DCRPT240
00118          05  CATEGORY-NUMBER     PICTURE XXX.                     DCRPT240
00119          05  CATEGORY-OUTPUT-SW  PICTURE X.                       DCRPT240
00120          05  1ST-HIT-OVER-SW  PICTURE X VALUE "X".                   CL**2
00121          05  HIT-COUNTER   PICTURE 9(5) VALUE 0.                     CL**2
00122          05  HITS-PER-RECORD  PICTURE 99 VALUE 91.                   CL**2
00123          05  CON-KEY          PICTURE S9(8) COMP SYNC.               CL**2
00124          05  SUB1                PICTURE   S99  COMP SYNC.        DCRPT240
00125          05  SUB2                PICTURE   S99  COMP SYNC.        DCRPT240
00126          05  SUB3                PICTURE   S99  COMP SYNC.        DCRPT240
00127          05  SUB4                PICTURE   S99  COMP SYNC.        DCRPT240
00128          05  SUB5                PICTURE   S99  COMP SYNC.        DCRPT240
00129          05  SUB6                PICTURE   S99  COMP SYNC.        DCRPT240
00130           05  DISPLAY-LINE-LENGTH PICTURE XXX VALUE "132".           CL**2
00131      03  QUERY-MESSAGES.                                          DCRPT240
00132          05  NO-LINES-MSG.                                        DCRPT240
00133              07  FILLER          PICTURE XX VALUE SPACES.         DCRPT240
00134              07  NLM             PICTURE X(55)   VALUE            DCRPT240
00135             "DCRPT-015-I * REQUESTED LINES NOT PRESENT FOR CATEGOR   CL**2
00136 -           "Y.".                                                 DCRPT240
00137          05  NO-CAT-MSG.                                          DCRPT240
00138              07  FILLER          PICTURE XX VALUE SPACES.         DCRPT240
00139              07  NC7             PICTURE X(45)   VALUE            DCRPT240
00140             "DCRPT-020-I * REQUESTED CATEGORY NOT DEFINED.".         CL**2
00141              07  FILLER          PICTURE X(9) VALUE SPACES.       DCRPT240
00142          05  NO-CATS-MSG.                                         DCRPT240
00143              07  FILLER          PICTURE XX VALUE SPACES.         DCRPT240
00144              07  NCPM            PICTURE X(47)   VALUE            DCRPT240
00145             "DCRPT-025-I * REQUESTED CATEGORIES NOT DEFINED.".       CL**2
00146              07  FILLER          PICTURE X(9)    VALUE SPACES.    DCRPT240
00153          05  LIST-LINE-MSG.                                       DCRPT240
00154              07 FILLER           PICTURE XX    VALUE SPACES.      DCRPT240
00155              07  LIST-LINE-NAME  PICTURE X(32).                   DCRPT240
00156              07  FILLER          PICTURE XX    VALUE SPACES.      DCRPT240
00157              07  LIST-LINE-ENTTYPE PICTURE X(8) VALUE                CL**2
00158             "REPORT  ".                                              CL**2
00159              07  FILLER          PICTURE X(12) VALUE SPACES.      DCRPT240
*CALL     RPTDEF40                                                         CL**5
*CALL     QTBL2                                                            CL**2
*CALL     RPTWORK                                                          CL**2
00179                                                                    DCRPT24
00180  PROCEDURE DIVISION.                                                 CL**2
*CALL     CATRTS                                                           CL**2
00188 *                                                                 DCRPT240
00189 *    INITIALIZE LINE RETRIEVAL LIMITS FOR QUERY                   DCRPT240
00190 *                                                                 DCRPT240
00191  3400-INIT-LINELIMS.                                              DCRPT240
00192      IF QTBL-OUT-FRLINE EQUAL TO SPACES                           DCRPT240
00193          MOVE 0001 TO FRLINE-LIMIT                                DCRPT240
00194         ELSE                                                      DCRPT240
00195          MOVE QTBL-OUT-FRLINE TO FRLINE-LIMIT.                    DCRPT240
00196      IF QTBL-OUT-TOLINE EQUAL TO SPACES                           DCRPT240
00197          MOVE 9999 TO TOLINE-LIMIT                                DCRPT240
00198         ELSE                                                      DCRPT240
00199          MOVE QTBL-OUT-TOLINE TO TOLINE-LIMIT.                    DCRPT240
00200      IF QTBL-OUT-FORLINES EQUAL TO SPACES                         DCRPT240
00201          MOVE 9999 TO FORLINE-LIMIT                               DCRPT240
00202         ELSE                                                      DCRPT240
00203          MOVE QTBL-OUT-FORLINES TO FORLINE-LIMIT.                 DCRPT240
00204 *                                                                 DCRPT240
00205 *    DETERMINE IF SHOW IF FOR A CATEGORY OR SUPER CATEGORY        DCRPT240
00206 *                                                                 DCRPT240
00207      MOVE QTBL-OUT-CAT TO CATEGORY-NUMBER.                           CL**2
00208      MOVE HIT-WORK-NAME TO DATA-ENTRY-NAME.                       DCRPT240
00209      MOVE HIT-WORK-ENTTYPE TO DATA-ENTRY-TYPE.                    DCRPT240
00210      MOVE "N" TO CATEGORY-OUTPUT-SW.                              DCRPT240
00211      IF CATEGORY-NUMBER EQUAL TO "999"                            DCRPT240
00212          GO TO 3450-SHOW-ALL.                                     DCRPT240
00213      IF CATEGORY-NUMBER EQUAL TO "998"                               CL**2
00214          GO TO 3465-SHOW-COMP.                                       CL**2
00215      IF CATEGORY-NUMBER EQUAL TO "996"                            DCRPT240
00216          GO TO 3450-SHOW-ALL.                                     DCRPT240
00217      IF CATEGORY-NUMBER EQUAL TO "997"                            DCRPT240
00218          GO TO 3460-SHOW-CHAR.                                    DCRPT240
00219      IF CATEGORY-NUMBER EQUAL TO "995"                               CL**2
00220          GO TO 3467-SHOW-PERS.                                       CL**2
00221 *                                                                 DCRPT240
00222 *    SHOW ONE CATEGORY HE ASKED FOR                               DCRPT240
00223 *                                                                    CL**2
00224      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00225      GO TO 1100-NEXT-OUTPUT.                                         CL**2
00226 *                                                                 DCRPT240
00227 *    SHOW ALL                                                     DCRPT240
00228 *                                                                 DCRPT240
00229  3450-SHOW-ALL.                                                   DCRPT240
00230      MOVE "010" TO CATEGORY-NUMBER.                               DCRPT240
00231      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00232      MOVE "020" TO CATEGORY-NUMBER.                               DCRPT240
00233      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00234 *                                                                    CL**2
00235  3460-SHOW-CHAR.                                                  DCRPT240
00236 *                                                                    CL**2
00237      MOVE "030" TO CATEGORY-NUMBER.                               DCRPT240
00238      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00239      IF QTBL-OUT-CAT EQUAL TO "996"                               DCRPT240
00240          GO TO 3470-CHECK-SUPER.                                  DCRPT240
00241      MOVE "140" TO CATEGORY-NUMBER.                                  CL**2
00242      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00243      MOVE "200" TO CATEGORY-NUMBER.                                  CL**2
00244      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00245      MOVE "210" TO CATEGORY-NUMBER.                                  CL**2
00246      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00247      MOVE "240" TO CATEGORY-NUMBER.                                  CL**2
00248      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00249      MOVE "900" TO CATEGORY-NUMBER.                                  CL**2
00250      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.     DCRPT240
00251      IF QTBL-OUT-CAT EQUAL TO "997"                                  CL**2
00252          GO TO 3470-CHECK-SUPER.                                     CL**2
00253  3465-SHOW-COMP.                                                     CL**2
00254      IF QTBL-OUT-CAT EQUAL TO "999"                                  CL**2
00255          GO TO 3466-JUST-COMP.                                       CL**2
00256      MOVE "030" TO CATEGORY-NUMBER.                                  CL**2
00257      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.        CL**2
00258  3466-JUST-COMP.                                                     CL**2
00259      MOVE "800" TO CATEGORY-NUMBER.                                  CL**2
00260      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.        CL**2
00261      GO TO 3470-CHECK-SUPER.                                         CL**2
00262  3467-SHOW-PERS.                                                     CL**2
00263      MOVE "030" TO CATEGORY-NUMBER.                                  CL**2
00264      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.        CL**2
00265      MOVE "140" TO CATEGORY-NUMBER.                                  CL**2
00266      PERFORM 3500-DISPLAY-CATEGORY THRU 3749-DISPLAY-CAT-XIT.        CL**2
00267 *                                                                 DCRPT240
00268 *    CHECK TO SEE IF ANY OUTPUT FOR REPORT                           CL**2
00269 *                                                                 DCRPT240
00270  3470-CHECK-SUPER.                                                DCRPT240
00271      IF CATEGORY-OUTPUT-SW EQUAL TO "Y"                           DCRPT240
00272          GO TO 1100-NEXT-OUTPUT.                                     CL**2
00273  3475-NO-CATS.                                                    DCRPT240
00274      MOVE NO-CATS-MSG TO STD-RPT-MESSAGE.                         DCRPT240
00275      IF RTBL-OPT-FORMAT EQUAL "D"                                    CL**2
00276          MOVE "Y" TO CATEGORY-811-SW.                                CL**2
00277      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00278      GO TO 1100-NEXT-OUTPUT.                                         CL**2
00279                                                                    DCRPT24
00280 ******************************************************************DCRPT240
00281 *                                                                 DCRPT240
00282 *    DISPLAY CATEGORY                                             DCRPT240
00283 *        RETRIEVES LINES FOR SPECIFIED CATEGORY AND FORMATS       DCRPT240
00284 *        EITHER A 70, 80 OR 132 CHARACTER LINE                    DCRPT240
00285 *                                                                 DCRPT240
00286 ******************************************************************DCRPT240
00287  3500-DISPLAY-CATEGORY.                                           DCRPT240
00288      MOVE CATEGORY-NUMBER TO DATA-ENTRY-CAT.                      DCRPT240
00289      MOVE 0001 TO CATLINE-COUNTER.                                DCRPT240
00290      PERFORM READ-CATEGORY THRU READ-CATEGORY-XIT.                DCRPT240
00291      IF DATA-RETURN-CODE EQUAL TO "0"                                CL**2
00292          GO TO 3510-CK-1ST-LINE.                                     CL**2
00293 *                                                                    CL**2
00294 *    CHECK FOR SUPER CAT AND BYPASS MSG                              CL**2
00295 *                                                                    CL**2
00296      IF QTBL-OUT-CAT GREATER THAN 950                                CL**2
00297          GO TO 3749-DISPLAY-CAT-XIT.                                 CL**2
00298      GO TO 3715-NOCAT-LINE.                                          CL**2
00299 *                                                                 DCRPT240
00300 *    CHECK IF FIRST CATEGORY LINE IS IN DESIRED RANGE             DCRPT240
00301 *        READ PAST LINES WITH NUMBERS LOWER THAN LOW LIMIT        DCRPT240
00302 *                                                                 DCRPT240
00303  3510-CK-1ST-LINE.                                                DCRPT240
00304      IF CAT-LINE LESS THAN FRLINE-LIMIT                           DCRPT240
00305          GO TO 3515-BYPASS-LINE.                                  DCRPT240
00306 *                                                                 DCRPT240
00307 *    RETRIEVE 1ST LINE OF CATEGORY                                DCRPT240
00308 *                                                                 DCRPT240
00309      IF CAT-LINE GREATER THAN TOLINE-LIMIT                        DCRPT240
00310          GO TO 3517-CK-SUPER-CAT.                                    CL**2
00311      GO TO 3520-OUTPUT-CATHDR.                                    DCRPT240
00312  3515-BYPASS-LINE.                                                DCRPT240
00313      PERFORM READ-NEXT-DATA THRU READ-NEXT-DATA-XIT.              DCRPT240
00314      IF DATA-RETURN-CODE EQUAL TO "0" OR "3"                      DCRPT240
00315          GO TO 3510-CK-1ST-LINE.                                  DCRPT240
00316  3517-CK-SUPER-CAT.                                                  CL**2
00317      IF QTBL-OUT-CAT GREATER THAN 950                                CL**2
00318          GO TO 3749-DISPLAY-CAT-XIT.                                 CL**2
00319      GO TO 3715-NOCAT-LINE.                                          CL**2
00320 *                                                                 DCRPT240
00321 *    LOOKUP AND OUTPUT CATEGORY HEADER LINE                       DCRPT240
00322 *                                                                 DCRPT240
00323  3520-OUTPUT-CATHDR.                                              DCRPT240
00324      MOVE 1 TO SUB4.                                              DCRPT240
00325  3525-NEXT-CATNUM.                                                DCRPT240
00326      IF ENT40-CATNUMS (SUB4) EQUAL TO CATEGORY-NUMBER                CL**2
00327          GO TO 3530-DISPLAY-HDG.                                  DCRPT240
00328      ADD 1 TO SUB4.                                               DCRPT240
00329      GO TO 3525-NEXT-CATNUM.                                      DCRPT240
00330  3530-DISPLAY-HDG.                                                DCRPT240
00331      IF RTBL-OPT-REPORT EQUAL "N"                                    CL**2
00332          GO TO 3532-FMT-FILE-DETAIL.                                 CL**2
00333      MOVE SPACES TO STD-RPT-CATHDG.                                  CL**2
00334      MOVE ENT40-CATHDRS (SUB4) TO CATEGORY-HEADER.                   CL**2
00335      MOVE CATEGORY-HEADER TO CATEGORY-NAME-WORK.                     CL**2
00336      IF RTBL-OPT-FORMAT EQUAL "D"                                    CL**2
00337          MOVE "Y" TO CATEGORY-811-SW                                 CL**2
00338          MOVE CATEGORY-HEADER TO CAT-HEADER-811                      CL**2
00339          MOVE CATEGORY-HEADER-811 TO STD-REPORT-REC.                 CL**2
00340      MOVE 2 TO PRT-CTL.                                              CL**2
00341      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00342      MOVE 1 TO PRT-CTL.                                              CL**2
00343      MOVE SPACES TO STD-RPT-CATHDG.                                  CL**2
00344      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00345      MOVE "Y" TO CATEGORY-OUTPUT-SW.                              DCRPT240
00346 *****************************************************************    CL**2
00347 *                                                                    CL**2
00348 *     FORMAT$FILE REQUEST DETAIL RECORDS                             CL**2
00349 *          A RECORD IS FORMATTED FOR EACH SELECTED LINE              CL**2
00350 *                                                                    CL**2
00351 ***************************************************************      CL**2
00352  3532-FMT-FILE-DETAIL.                                               CL**2
00353      IF RTBL-HDR-REQTYPE EQUAL TO "RR" OR "RS" OR "RT"               CL**2
00354          GO TO 3540-FMT-CAT-DETAIL.                                  CL**2
00355 *                                                                    CL**2
00356 *     USE 1ST 3 CHRS OF CATEGORY HDG TO IDENTIFY OUTPUT CATEGORY     CL**2
00357 *                                                                    CL**2
00358      MOVE 1 TO HDG-SUB.                                              CL**2
00359 *     FIND THE FIRST DASH IN THE HDG                                 CL**2
00360  3534-FIND-DASH.                                                     CL**2
00361      IF CATEGORY-HDG-CHR (HDG-SUB) NOT EQUAL "-"                     CL**2
00362          ADD 1 TO HDG-SUB                                            CL**2
00363          GO TO 3534-FIND-DASH.                                       CL**2
00364  3536-BYPASS-DASH.                                                   CL**2
00365      IF CATEGORY-HDG-CHR (HDG-SUB) EQUAL TO "-"                      CL**2
00366          ADD 1 TO HDG-SUB                                            CL**2
00367          GO TO 3536-BYPASS-DASH.                                     CL**2
00368      MOVE CATEGORY-HDG-CHR (HDG-SUB) TO CATEGORY-ABB-CHR1.           CL**2
00369      ADD 1 TO HDG-SUB.                                               CL**2
00370      MOVE CATEGORY-HDG-CHR (HDG-SUB) TO CATEGORY-ABB-CHR2.           CL**2
00371      ADD 1 TO HDG-SUB.                                               CL**2
00372      MOVE CATEGORY-HDG-CHR (HDG-SUB) TO CATEGORY-ABB-CHR3.           CL**2
00373 *                                                                    CL**2
00374 *     FORMAT DETAIL RECORD                                           CL**2
00375 *                                                                    CL**2
00376      MOVE SPACES TO USER-LINE200-REC.                                CL**2
00377      MOVE RTBL-HDR-REQNO TO USER-L200-REQNO.                         CL**2
00378      MOVE EXT-HOLD-CATNAME TO USER-L200-CNAME.                       CL**2
00379      MOVE EXT-HOLD-TYPE TO USER-L200-ENTTYPE.                        CL**2
00380      MOVE CATEGORY-NAME-ABBRV TO USER-L200-CAT.                      CL**2
00381      MOVE CAT-LENGTH    TO USER-L200-LENGTH.                         CL**2
00382      MOVE CAT-LINE      TO USER-L200-LINE.                           CL**2
00383      MOVE CAT-REV       TO USER-L200-REV.                            CL**2
00384      MOVE CAT-DETAIL    TO USER-L200-DATA.                           CL**2
00385      MOVE "U" TO CATTBL-FILE-TYPE.                                   CL**2
00386      IF CAT-LENGTH GREATER THAN 67                                   CL**2
00387      MOVE "5" TO USER-L200-RECTYPE                                   CL**2
00388          MOVE "5" TO CATTBL-RECORD-TYPE                              CL**2
00389      ELSE                                                            CL**2
00390      MOVE "4" TO USER-L200-RECTYPE                                   CL**2
00391          MOVE "4" TO CATTBL-RECORD-TYPE.                             CL**2
00392      PERFORM 0900-USERFILE-OUT THRU 0999-USERFILE-OUT-XIT.           CL**2
00393      IF RTBL-OPT-REPORT EQUAL "N"                                    CL**2
00394          GO TO 3700-GET-NEXT-LINE.                                   CL**2
00395 *                                                                 DCRPT240
00396 *    FORMAT CATEGORY DETAIL LINES                                 DCRPT240
00397 *        IF 70 CHR FORMAT PUT OUT LINE NO ON SEP LINE             DCRPT240
00398 *                                                                 DCRPT240
00399  3540-FMT-CAT-DETAIL.                                             DCRPT240
00400      IF RTBL-OPT-FORMAT EQUAL "S"                                    CL**2
00401          GO TO 3550-FMT-LINE-PREFIX.                              DCRPT240
00402      IF RTBL-OPT-FORMAT EQUAL "D"                                    CL**2
00403          GO TO 3550-FMT-LINE-PREFIX.                                 CL**2
00404      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00405      GO TO 3560-FORMAT-REPORT.                                       CL**2
00406  3550-FMT-LINE-PREFIX.                                            DCRPT240
00407      IF CATEGORY-NUMBER NOT EQUAL TO "800"                           CL**2
00408          GO TO 3555-MOVE-LINE.                                       CL**2
00409      IF FIRST-REC-SW EQUAL TO "Y"                                    CL**2
00410          GO TO 3560-FORMAT-REPORT.                                   CL**2
00411  3555-MOVE-LINE.                                                     CL**2
00412      IF RTBL-OPT-FORMAT EQUAL "D"                                    CL**2
00413          MOVE 98765 TO STDRPT-REVNO                                  CL**2
00414          MOVE CAT-LINE TO STDRPT-LINE                                CL**2
00415          GO TO 3560-FORMAT-REPORT                                    CL**2
00416      ELSE                                                            CL**2
00417          MOVE CAT-REV TO STDRPT-REVNO                                CL**2
00418      MOVE CAT-LINE TO STDRPT-LINE.                                   CL**2
00419 *                                                                 DCRPT240
00420 *    CHECK FOR COMMENT LINE                                       DCRPT240
00421  3560-FORMAT-REPORT.                                                 CL**2
00422      IF CAT-COMMENT NOT EQUAL TO "*"                                 CL**2
00423          GO TO 3565-CATEGORY-CHECK.                                  CL**2
00424      IF CATEGORY-NUMBER EQUAL TO "800"                               CL**2
00425          GO TO 3565-CATEGORY-CHECK.                                  CL**2
00426      PERFORM 5300-FMT-CAT030 THRU 5399-FMT-CAT030-XIT.               CL**2
00427      GO TO 3700-GET-NEXT-LINE.                                       CL**2
00428 *                                                                 DCRPT240
00429 *    CHECK FOR CATEGORY NUMBERS AND ENTER FORMATTING RT           DCRPT240
00430 *                                                                 DCRPT240
00431  3565-CATEGORY-CHECK.                                                CL**2
00432      IF CATEGORY-NUMBER EQUAL TO "010"                            DCRPT240
00433          PERFORM 5100-FMT-CAT010 THRU 5199-FMT-CAT010-XIT         DCRPT240
00434          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00435      IF CATEGORY-NUMBER EQUAL TO "020"                            DCRPT240
00436          PERFORM 5200-FMT-CAT020 THRU 5299-FMT-CAT020-XIT         DCRPT240
00437          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00438      IF CATEGORY-NUMBER EQUAL TO "030"                            DCRPT240
00439          PERFORM 5300-FMT-CAT030 THRU 5399-FMT-CAT030-XIT         DCRPT240
00440          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00441      IF CATEGORY-NUMBER EQUAL TO "140"                               CL**2
00442          PERFORM 20000-FMT-CAT-140 THRU 20099-FMT-CAT140-XIT         CL**2
00443          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00444      IF CATEGORY-NUMBER EQUAL TO "200"                               CL**2
00445          PERFORM 21200-FMT-CAT200 THRU 21299-FMT-CAT200-XIT          CL**2
00446          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00447      IF CATEGORY-NUMBER EQUAL TO "210"                               CL**2
00448          PERFORM 21400-FMT-CAT210 THRU 21499-FMT-CAT210-XIT          CL**2
00449          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00450      IF CATEGORY-NUMBER EQUAL TO "240"                               CL**2
00451          PERFORM 21600-FMT-CAT240 THRU 21699-FMT-CAT240-XIT          CL**2
00452          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00453      IF CATEGORY-NUMBER EQUAL TO "800"                               CL**2
00454          PERFORM 21800-FMT-CAT800 THRU 21899-FMT-CAT800-XIT          CL**2
00455          GO TO 3700-GET-NEXT-LINE.                                DCRPT240
00456      IF CATEGORY-NUMBER EQUAL TO "900"                               CL**2
00457          PERFORM 5900-FMT-CAT900 THRU 5999-FMT-CAT900-XIT            CL**2
00458          GO TO 3700-GET-NEXT-LINE.                                   CL**2
00459      GO TO 3710-NOCAT-DATA.                                          CL**2
00460 *                                                                 DCRPT240
00461 *    RETRIEVE NEXT LINE OF CATEGORY - CK FOR END                  DCRPT240
00462 *                                                                 DCRPT240
00463  3700-GET-NEXT-LINE.                                              DCRPT240
00464      IF CATLINE-COUNTER EQUAL TO FORLINE-LIMIT                    DCRPT240
00465        GO TO 3749-DISPLAY-CAT-XIT.                                DCRPT240
00466      PERFORM READ-NEXT-DATA THRU READ-NEXT-DATA-XIT.              DCRPT240
00467      IF DATA-RETURN-CODE EQUAL TO  1 OR 2                         DCRPT240
00468          GO TO 3749-DISPLAY-CAT-XIT.                              DCRPT240
00469      IF CAT-LINE GREATER THAN TOLINE-LIMIT                        DCRPT240
00470          GO TO 3749-DISPLAY-CAT-XIT.                              DCRPT240
00471      ADD 1 TO CATLINE-COUNTER.                                       CL**2
00472      GO TO 3532-FMT-FILE-DETAIL.                                     CL**2
00473  3749-DISPLAY-CAT-XIT.                                            DCRPT240
00474      EXIT.                                                        DCRPT240
00475                                                                    DCRPT24
00476 *                                                                 DCRPT240
00477 *   FORMAT WARNING AND INFORMATION MESSAGES                       DCRPT240
00478 *                                                                 DCRPT240
00479  3710-NOCAT-DATA.                                                 DCRPT240
00480      MOVE NO-CAT-MSG   TO        STD-RPT-MESSAGE.                 DCRPT240
00481      IF RTBL-OPT-FORMAT EQUAL "D"                                    CL**2
00482          MOVE "Y" TO CATEGORY-811-SW.                                CL**2
00483      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00484      GO TO 1100-NEXT-OUTPUT.                                         CL**2
00485  3715-NOCAT-LINE.                                                 DCRPT240
00486      MOVE NO-LINES-MSG  TO       STD-RPT-MESSAGE.                 DCRPT240
00487      IF RTBL-OPT-FORMAT EQUAL "D"                                    CL**2
00488          MOVE "Y" TO CATEGORY-811-SW.                                CL**2
00489      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00490      GO TO 1100-NEXT-OUTPUT.                                         CL**2
00491                                                                    DCRPT24
00492  3800-NOMORE-HITS.                                                DCRPT240
00493 *                                                                 DCRPT240
00494 *    ON-LINE VERSION WILL DETERMINE NEXT STEP HERE                DCRPT240
00495 *                                                                 DCRPT240
00496      GO TO 1500-REPORT-END.                                          CL**2
00497                                                                    DCRPT24
00498 ***************************************************************** DCRPT240
00499 *                                                                 DCRPT240
00500 *    FORMAT CATEGORY 010 DETAIL LINE                              DCRPT240
00501 *        CATEGORY 010 = CONTROL                                   DCRPT240
00502 *                                                                 DCRPT240
00503 ***************************************************************** DCRPT240
00504  5100-FMT-CAT010.                                                 DCRPT240
00505      MOVE SPACES TO CAT00010-LINE.                                DCRPT240
00506 *                                                                 DCRPT240
00507 *    FORMAT ALIAS VERSION FIELD                                   DCRPT240
00508 *                                                                 DCRPT240
00509  5105-FMT-FLD05.                                                  DCRPT240
00510      IF CTL-ALY-VER EQUAL TO SPACES GO TO 5110-FMT-FLD010.        DCRPT240
00511      IF DATA-ENTRY-TYPE GREATER THAN 15                           DCRPT240
00512          MOVE FLD0001005-HCONV TO FLD0001005-HDG                  DCRPT240
00513       ELSE                                                        DCRPT240
00514          MOVE FLD0001005-HCONA TO FLD0001005-HDG.                 DCRPT240
00515      MOVE CTL-ALY-VER TO FLD0001005-VAL.                          DCRPT240
00516 *                                                                 DCRPT240
00517 *     FORMAT STATUS FIELD                                         DCRPT240
00518 *                                                                 DCRPT240
00519  5110-FMT-FLD010.                                                 DCRPT240
00520      IF CTL-STATUS EQUAL TO SPACES GO TO 5115-FMT-FLD015.         DCRPT240
00521      MOVE FLD0001010-HCON TO FLD0001010-HDG.                      DCRPT240
00522          GO TO 5112-INTERPRET-CODE.                                  CL**2
00523  5111-JUST-CODE.                                                     CL**2
00524      MOVE CTL-STATUS TO FLD0001010-POS1.                             CL**2
00525      GO TO 5115-FMT-FLD015.                                          CL**2
00526  5112-INTERPRET-CODE.                                                CL**2
00527      MOVE 01 TO SUB3.                                                CL**2
00528  5113-NEXT-CODE-CK.                                                  CL**2
00529      IF FLD0001010-CODES (SUB3) EQUAL TO "9"                         CL**2
00530          GO TO 5111-JUST-CODE.                                       CL**2
00531      IF FLD0001010-CODES (SUB3) EQUAL TO CTL-STATUS                  CL**2
00532          GO TO 5114-EXTRACT-MNG.                                     CL**2
00533      ADD 1 TO SUB3.                                                  CL**2
00534      GO TO 5113-NEXT-CODE-CK.                                        CL**2
00535  5114-EXTRACT-MNG.                                                   CL**2
00536      MOVE FLD0001010-MNG (SUB3) TO FLD0001010-VAL.                   CL**2
00537 *                                                                 DCRPT240
00538 *     FORMAT SECURITY FIELD                                       DCRPT240
00539 *                                                                 DCRPT240
00540  5115-FMT-FLD015.                                                 DCRPT240
00541      IF CTL-SECURITY EQUAL TO SPACES                              DCRPT240
00542          GO TO 5120-OUTPUT-LINE.                                     CL**2
00543      MOVE FLD0001015-HCON TO FLD0001015-HDG.                      DCRPT240
00544      MOVE CTL-SECURITY    TO FLD0001015-VAL.                      DCRPT240
00545 *                                                                 DCRPT240
00546 *     FORMATTING OF CATEGORY LINE COMPLETE                        DCRPT240
00547  5120-OUTPUT-LINE.                                                DCRPT240
00548      IF CAT00010-LINE EQUAL TO SPACES GO TO 5199-FMT-CAT010-XIT.  DCRPT240
00549      MOVE CAT00010-LINE TO STDRPT-70CHR.                          DCRPT240
00550      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00551 *                                                                 DCRPT240
00552  5199-FMT-CAT010-XIT.                                             DCRPT240
00553      EXIT.                                                        DCRPT240
00554                                                                    DCRPT24
00555 ***************************************************************** DCRPT240
00556 *                                                                 DCRPT240
00557 *    FORMAT CATEGORY 020 LINE                                     DCRPT240
00558 *        CATEGORY 020 = KEYWORD                                   DCRPT240
00559 *                                                                 DCRPT240
00560 ***************************************************************** DCRPT240
00561  5200-FMT-CAT020.                                                 DCRPT240
00562      MOVE SPACES TO CAT00020-LINE.                                DCRPT240
00563 *                                                                 DCRPT240
00564 *    FORMAT KEYWORD FIELD                                         DCRPT240
00565 *                                                                 DCRPT240
00566  5205-FMT-FLD05.                                                  DCRPT240
00567      MOVE FLD0002005-HCON TO FLD0002005-HDG.                      DCRPT240
00568      MOVE KEY-WORDS TO FLD0002005-VAL.                            DCRPT240
00569 *                                                                 DCRPT240
00570 *    FORMATTING OF CATEGORY LINE COMPLETE                         DCRPT240
00571 *                                                                 DCRPT240
00572  5210-OUTPUT-LINE.                                                DCRPT240
00573      MOVE CAT00020-LINE TO STDRPT-70CHR.                          DCRPT240
00574      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00575  5299-FMT-CAT020-XIT.                                             DCRPT240
00576      EXIT.                                                        DCRPT240
00577                                                                    DCRPT24
00578 ***************************************************************** DCRPT240
00579 *                                                                 DCRPT240
00580 *    FORMAT CATEGORY 030 LINE                                     DCRPT240
00581 *        CATEGORY 030 = DESCRIPTION                               DCRPT240
00582 *                                                                 DCRPT240
00583 ***************************************************************** DCRPT240
00584  5300-FMT-CAT030.                                                 DCRPT240
00585      MOVE SPACES TO CAT00030-LINE.                                   CL**2
00586      MOVE DESC-FLAG      TO FLD0003005-VAL.                       DCRPT240
00587      MOVE DESC-COMMENT   TO FLD0003010-VAL.                       DCRPT240
00588  5310-OUTPUT-LINE.                                                DCRPT240
00589      MOVE CAT00030-LINE  TO STDRPT-70CHR.                         DCRPT240
00590      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00591  5399-FMT-CAT030-XIT.                                             DCRPT240
00592      EXIT.                                                        DCRPT240
00593                                                                    DCRPT24
00594 ***************************************************************** DCRPT240
00595 *                                                                 DCRPT240
00596 *    FORMAT CATEGORY 900 LINE                                     DCRPT240
00597 *        CATEGORY 900 = OTHER                                     DCRPT240
00598 ***************************************************************** DCRPT240
00599  5900-FMT-CAT900.                                                 DCRPT240
00600      MOVE SPACES TO CAT00900-LINE.                                   CL**2
00601      MOVE DESC-FLAG    TO FLD0090005-VAL.                            CL**2
00602      MOVE DESC-COMMENT TO FLD0090010-VAL.                            CL**2
00603  5910-OUTPUT-LINE.                                                DCRPT240
00604      MOVE CAT00900-LINE TO STDRPT-70CHR.                             CL**2
00605      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                  DCRPT240
00606  5999-FMT-CAT900-XIT.                                             DCRPT240
00607      EXIT.                                                        DCRPT240
00608                                                                    DCRPT24
*CALL     RPTRT40                                                          CL**5
*CALL     DISPLAY2                                                         CL**2
*CALL     WRITELNI                                                         CL**2
00612  USER-ROUTINE.                                                       CL**2
00613      IF RTBL-OPT-FORMAT EQUAL "D"                                    CL**2
00614          MOVE SUB-HEAD-811 TO PRINT-DATA                             CL**2
00615          PERFORM WRITE-LINE THRU WRITE-LINE-XIT                      CL**2
00616          MOVE SUB-HEAD2-811 TO PRINT-DATA                            CL**2
00617      ELSE                                                            CL**2
00618          MOVE SUB-HEADING-LINE TO PRINT-DATA.                        CL**2
00619      ADD 2 TO LINE-CT.                                               CL**2
00620      PERFORM WRITE-LINE THRU WRITE-LINE-XIT.                         CL**2
00621      MOVE SPACE TO PRINT-DATA.                                       CL**2
00622      PERFORM WRITE-LINE THRU WRITE-LINE-XIT.                         CL**2
00623      IF SEC-PAGE-SW EQUAL TO "Y"                                     CL**2
00624          MOVE LIST-LINE-MSG TO CATA-NAME-LINE                        CL**2
00625          MOVE CONTINUATION-LINE TO PRINT-DATA                        CL**2
00626          MOVE 1 TO PRT-CTL                                           CL**2
00627          PERFORM WRITE-LINE THRU WRITE-LINE-XIT                      CL**2
00628          MOVE 1 TO PRT-CTL                                           CL**2
00629          MOVE STATEMENT-LINE TO PRINT-DATA                           CL**2
00630          PERFORM WRITE-LINE THRU WRITE-LINE-XIT.                     CL**2
00631      MOVE "Y" TO SEC-PAGE-SW.                                        CL**2
00632  USER-ROUTINE-XIT.                                                   CL**2
00633      EXIT.                                                           CL**2
*CALL     RPT811                                                           CL**2
00638                                                                    DCRPT24
*CALL     MAST1RFL                                                         CL**2
*CALL     MAST1RFC                                                         CL**5
*CALL     MAST1RNL                                                         CL**5
*CALL     MAST1EXT                                                         CL**5
*CALL     MAST1RDR                                                         CL**2
*CALL     MAST1ALG                                                         CL**5
