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