*DECK     DCQRY299
00001  IDENTIFICATION DIVISION.                                         08/02/78
       PROGRAM-ID. QRY299.
*CALL COPYRIGHT 
      *    THIS MODULE FORMATS THE QUERY RESPONSE REPORT FOR
      *    SHOW FIELDS COMMAND
00008  ENVIRONMENT DIVISION.                                            DCQRY299
00009  CONFIGURATION SECTION.                                           DCQRY299
       SOURCE-COMPUTER. CYBER.
       OBJECT-COMPUTER. CYBER.
00012  INPUT-OUTPUT SECTION.                                            DCQRY299
00013  FILE-CONTROL.                                                    DCQRY299
           SELECT MAST1 ASSIGN TO "MAST1" 
               ACCESS MODE IS RANDOM
               ORGANIZATION IS DIRECT 
               RECORD KEY IS DATA-KEY.
           SELECT MAST3 ASSIGN TO "MAST3" 
               ORGANIZATION IS RELATIVE 
               ACCESS MODE IS RANDOM
               RELATIVE KEY IS CON-KEY
               USE "PRUF = YES".
           SELECT SYSPRINT ASSIGN TO "OUTPUT".
00021  DATA DIVISION.                                                   DCQRY299
00022  FILE SECTION.                                                    DCQRY299
*CALL     MAST1FD                                                       DCQRY299
*CALL     MAST3FD                                                          CL**2
*CALL     SYSPRTFD                                                      DCQRY299
*CALL QRYCS 
*CALL     WRKSTG77                                                      DCQRY299
00027  01  MULTIPLE-LINE-TYPES.                                            CL**2
*CALL     MULTSTORE                                                        CL**2
*CALL     MAST1WS                                                       DCQRY299
*CALL     TESTWACOM                                                        CL**2
*CALL     MAST3DD1                                                      DCQRY299
*CALL     CONWORK                                                       DCQRY299
00033 *                                                                 DCQRY299
00034 *    WORK AREAS/SUBSCRIPTS FOR SHOW FIELDS                        DCQRY299
00035 *                                                                 DCQRY299
00036  01  SHOW-FIELD-AREAS.                                            DCQRY299
00037      03  SHOWFLD-DEF-TABLE.                                       DCQRY299
00038          05  SHOWFLD-DEF OCCURS 6 TIMES.                          DCQRY299
00039              07  DATA-FIELD-START  PICTURE 999 COMP SYNC.         DCQRY299
00040              07  DATA-FIELD-LENGTH PICTURE 999 COMP SYNC.         DCQRY299
00041              07  DATA-FIELD-FORMAT PICTURE X.                     DCQRY299
00042              07  DATA-MAST3-KEY  PICTURE 9(8) COMP.               DCQRY299
00043              07  PRT-HDG-START   PICTURE 999 COMP SYNC.           DCQRY299
00044              07  PRT-HDG-LENGTH  PICTURE 999 COMP SYNC.           DCQRY299
00045              07  PRT-DET-START   PICTURE 999 COMP SYNC.           DCQRY299
00046              07  PRT-DET-LENGTH  PICTURE 999 COMP SYNC.           DCQRY299
00047              07  PRT-HDG-NAME     PICTURE X(8).                   DCQRY299
00048      03  SHOW-SUBSCRIPTS.                                         DCQRY299
00049          05  DSUB                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00050          05  HSUB                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00051          05  PSUB                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00052          05  QSUB                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00053          05  SUBL                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00054          05  SUBF                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00055          05  SUBS                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00056          05  SUBI                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00057          05  SUB6                PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
               05  SUB1               PICTURE 9(4) COMP-1 VALUE ZERO. 
00059          05  CURR-PRINT-SUB      PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00060          05  CURR-PRINT-SUB-SAVE PICTURE 999 COMP SYNC VALUE ZERO.DCQRY299
00061      03  SHOW-WORK-AREAS.                                         DCQRY299
00062          05  FIRST-TIME-SW       PICTURE X.                          CL**2
               05  HIT-TBL-LIMIT           PICTURE 9999 VALUE 1000. 
00064          05  HIT-COUNTER         PICTURE 9(5) VALUE 0.               CL**2
00065          05  HITS-PER-RECORD PICTURE 99 VALUE 86.                    CL**2
00066          05  PRINT-START-SUB PICTURE 99 VALUE 50.                    CL**2
00067          05  1ST-HIT-OVER-SW     PICTURE X VALUE "X".                CL**2
00068          05  HIT-WORK-REC.                                           CL**2
00069              07  HIT-WORK-NAME   PICTURE X(32).                      CL**2
00070              07  HIT-WORK-ENTTYPE PICTURE XX.                        CL**2
00071      03  SHOW-FIELD-LINE.                                            CL**2
00072          05  FILLER              PICTURE X(10).                      CL**2
00073          05  SHOW-CATNAME        PICTURE X(32).                      CL**2
00074          05  FILLER              PICTURE XX.                         CL**2
00075          05  SHOW-LINE-ENTTYPE   PICTURE XXX.                        CL**2
00076          05  FILLER              PICTURE X(85).                      CL**2
00077      03  SHOW-FLD-LINE REDEFINES SHOW-FIELD-LINE.                    CL**2
00078          05  SHOW-LINE           PICTURE X OCCURS 132 TIMES.         CL**2
00079      03  FIELD-NAME-LINE.                                            CL**2
00080          05  NAME-SUBHEAD        PICTURE X OCCURS 132 TIMES.         CL**2
00081      03  FIELD-DASH-LINE.                                            CL**2
00082          05  DASH-SUBHEAD        PICTURE X OCCURS 132 TIMES.         CL**2
00083      03  QUERY-MESSAGES.                                             CL**2
00084          05  SINGLE-COUNT-MSG.                                       CL**2
00085              07  FILLER          PICTURE XX VALUE SPACES.            CL**2
00086              07  S-COUNT         PICTURE ZZZZZ9.                     CL**2
00087              07  FILLER          PICTURE X VALUE SPACE.              CL**2
00088              07  S-CONST         PICTURE X(16) VALUE                 CL**2
00089              "ENTRY QUALIFIES".                                      CL**2
00090          05  MULT-COUNT-MSG.                                         CL**2
00091              07  FILLER          PICTURE XX VALUE SPACES.            CL**2
00092              07  M-COUNT         PICTURE ZZZZZ9.                     CL**2
00093              07  M-CONST         PICTURE X(17)      VALUE            CL**2
00094              " ENTRIES QUALIFY".                                     CL**2
00095          05  NO-QUALIFY-MSG.                                         CL**2
00096              07  FILLER          PICTURE X(21) VALUE                 CL**2
00097              "  NO ENTRIES QUALIFY".                                 CL**2
00098          05  CERR-110        PICTURE X(50) VALUE                     CL**2
00099         "DCQRY-110-F * ERROR MAST3 CLIENT RECORD NOT FOUND".         CL**2
00100          05  CERR-120        PICTURE X(50) VALUE                     CL**2
00101         "DCQRY-120-F * ERROR MAST3 HIT RECORD NOT FOUND".            CL**2
00102          05  LENGTH-DIFF         PICTURE 999 COMP SYNC.           DCQRY299
00103          05  HALF-LENGTH-DIFF    PICTURE 999 COMP SYNC.           DCQRY299
00104          05  LENGTH-COUNT        PICTURE 999 COMP SYNC.           DCQRY299
00105          05  DATA-THERE-SWITCHES.                                 DCQRY299
00106              07  DATA-THERE-SWITCH PICTURE X OCCURS 6 TIMES.      DCQRY299
00107          05  NAME-WORK.                                           DCQRY299
00108              07  NAME-HDG-CHR PICTURE X OCCURS 8 TIMES.           DCQRY299
00116  PROCEDURE DIVISION.                                              DCQRY299
00121 *****************************************************             DCQRY299
00122 *****************************************************             DCQRY299
00123 *                                                                 DCQRY299
00124 *    INITIALIZATION                                               DCQRY299
00125 *                                                                 DCQRY299
00126 *****************************************************             DCQRY299
00127 *****************************************************             DCQRY299
00128  0000-BEGIN.                                                      DCQRY299
           OPEN OUTPUT SYSPRINT WITH NO REWIND. 
00130      MOVE SPACES TO PRINT-LINE.                                   DCQRY299
00131      MOVE SPACES TO STD-REPORT-REC.                               DCQRY299
00132      OPEN INPUT MAST3.                                            DCQRY299
00140      OPEN INPUT MAST1.                                            DCQRY299
00141 *                                                                 DCQRY299
00142 *    READ AND SAVE ENTRY TYPE TABLE                               DCQRY299
00143 *                                                                 DCQRY299
00144      MOVE 3 TO CON-ENTRY-FUNCTION.                                DCQRY299
00145      PERFORM CON-READ THRU CON-READ-XIT.                          DCQRY299
00146      MOVE CTL-RECORD-3 TO ENT-TABLE.                              DCQRY299
00147      MOVE 1 TO SUB1.                                                 CL**2
00148      PERFORM CHECK-MULT-STC THRU CHECK-MULT-STC-XIT.                 CL**2
00149 **************************************************************       CL**2
00150 *                                                                    CL**2
00151 *     PRINT HEADINGS AND DISPLAY NUMBER OF QUALIFYING ENTRIES        CL**2
00152 *                                                                    CL**2
00153 ****************************************************************     CL**2
00154      MOVE "Y" TO FIRST-TIME-SW.                                      CL**2
00155      MOVE 99 TO LINE-CT.                                             CL**2
00156      MOVE 1 TO PRT-CTL.                                              CL**2
00157      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00158 *                                                                    CL**2
00159 *     IF NO ENTRIES QUALIFY - DISPLAY MSG AND EXIT                   CL**2
00160 *                                                                    CL**2
00161      IF HIT-COUNT EQUAL TO ZEROES                                    CL**2
00162          MOVE NO-QUALIFY-MSG TO STD-RPT-MESSAGE                      CL**2
00163          PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT                  CL**2
00164          GO TO 9000-QUERY-END.                                       CL**2
00165 *                                                                    CL**2
00166 *     DISPLAY THE NUMBER OF QUALIFYING ENTRIES FOR SHOW FIELDS       CL**2
00167 *                                                                    CL**2
00168      IF HIT-COUNT EQUAL TO 1                                         CL**2
00169          MOVE HIT-COUNT TO S-COUNT                                   CL**2
00170          MOVE SINGLE-COUNT-MSG TO STD-RPT-MESSAGE                    CL**2
00171      ELSE                                                            CL**2
00172          MOVE HIT-COUNT TO M-COUNT                                   CL**2
00173          MOVE MULT-COUNT-MSG TO STD-RPT-MESSAGE.                     CL**2
00174      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00175                                                                    DCQRY29
00176 *****************************************************             DCQRY299
00177 *****************************************************             DCQRY299
00178 *                                                                 DCQRY299
00179 *    CONSTRUCT PRINT CONTROL TABLE                                DCQRY299
00180 *        GET DATA FIELD NAME, LENGTH, FORMAT FROM MAST3           DCQRY299
00181 *        CALCULATE LENGTH OF HDG, START POS FOR                   DCQRY299
00182 *        HDG PRINT POS FOR DATA                                   DCQRY299
00183 *        STORE ALL THIS IN FIELD DEFINITION TABLE                 DCQRY299
00184 *                                                                 DCQRY299
00185 *****************************************************             DCQRY299
00186 *****************************************************             DCQRY299
00187  1000-BUILD-TABLE.                                                DCQRY299
00188      MOVE 1 TO QSUB.                                              DCQRY299
00189      MOVE 1 TO DSUB.                                              DCQRY299
00190      MOVE PRINT-START-SUB TO CURR-PRINT-SUB.                         CL**2
00191      MOVE SPACES TO FIELD-NAME-LINE.                                 CL**2
00192      MOVE SPACES TO FIELD-DASH-LINE.                                 CL**2
00193  1010-GET-QTBL.                                                   DCQRY299
00194      IF QSUB GREATER THAN 6                                       DCQRY299
00195          GO TO 1990-END-BUILD-TABLE.                              DCQRY299
00196      IF QTBL-SHOW-ENTNO (QSUB) EQUAL SPACES                       DCQRY299
00197          GO TO 1990-END-BUILD-TABLE.                                 CL**2
00198 *                                                                 DCQRY299
00199 *    GET MAST3 FIELD DEF TABLE                                    DCQRY299
00200 *                                                                 DCQRY299
00201      MOVE  QTBL-SHOW-ENTNO (QSUB) TO CON-ENTRY-TYPE.              DCQRY299
00202      MOVE QTBL-SHOW-CATNO (QSUB) TO CON-ENTRY-CAT.                DCQRY299
00203      MOVE "C" TO CON-ENTRY-FUNCTION.                              DCQRY299
00204  1100-GET-MAST3.                                                  DCQRY299
00205      PERFORM CON-READ THRU CON-READ-XIT.                          DCQRY299
00206      MOVE CTL-RECORD-5 TO FIELD-TABLE.                            DCQRY299
00207      MOVE 1 TO FLD.                                               DCQRY299
00208  1110-FIND-FLD-LOOP.                                              DCQRY299
00209      IF FLD-ID (FLD) EQUAL TO QTBL-SHOW-FNO (QSUB)                DCQRY299
00210          GO TO 1200-FMT-ENTRY.                                    DCQRY299
00211      ADD 1 TO FLD.                                                DCQRY299
           IF FLD IS LESS THAN 31 
00213          GO TO 1110-FIND-FLD-LOOP.                                DCQRY299
00214      MOVE "N" TO CON-ENTRY-FUNCTION.                              DCQRY299
00215      GO TO 1100-GET-MAST3.                                        DCQRY299
00216  1200-FMT-ENTRY.                                                  DCQRY299
00217      MOVE FLD-NAME (FLD) TO PRT-HDG-NAME (DSUB).                  DCQRY299
00218      MOVE FLD-START (FLD) TO DATA-FIELD-START (DSUB).             DCQRY299
00219      MOVE FLD-LENGTH (FLD) TO DATA-FIELD-LENGTH (DSUB).           DCQRY299
00220      MOVE FLD-FORMAT (FLD) TO DATA-FIELD-FORMAT (DSUB).              CL**2
00221      MOVE CON-KEY TO DATA-MAST3-KEY (DSUB).                       DCQRY299
00222      MOVE FLD-NAME (FLD) TO NAME-WORK.                               CL**2
00223      MOVE 1 TO HSUB.                                              DCQRY299
00224 *                                                                 DCQRY299
00225 *    CALCULATE PRINT POS FOR HEADINGS AND DATA                    DCQRY299
00226 *                                                                 DCQRY299
00227  1220-CALC-HDG-LGTH.                                              DCQRY299
00228      IF NAME-HDG-CHR (HSUB) EQUAL SPACE                              CL**2
00229          GO TO 1230-ADJUST.                                       DCQRY299
00230      ADD 1 TO HSUB.                                               DCQRY299
00231      IF HSUB GREATER THAN 8                                       DCQRY299
00232          GO TO 1230-ADJUST.                                       DCQRY299
00233      GO TO 1220-CALC-HDG-LGTH.                                       CL**2
00234  1230-ADJUST.                                                     DCQRY299
00235      SUBTRACT 1 FROM HSUB.                                        DCQRY299
00236      MOVE HSUB TO PRT-HDG-LENGTH (DSUB).                          DCQRY299
00237      MOVE CURR-PRINT-SUB TO CURR-PRINT-SUB-SAVE.                     CL**2
00238      IF DATA-FIELD-LENGTH (DSUB) LESS THAN                        DCQRY299
00239              PRT-HDG-LENGTH (DSUB)                                DCQRY299
00240          GO TO 1300-HDG-LONGER.                                   DCQRY299
00241      IF DATA-FIELD-LENGTH (DSUB) GREATER THAN                     DCQRY299
00242              PRT-HDG-LENGTH (DSUB)                                DCQRY299
00243          GO TO 1400-DATA-LONGER.                                  DCQRY299
00244      MOVE CURR-PRINT-SUB TO PRT-HDG-START (DSUB).                 DCQRY299
00245      MOVE CURR-PRINT-SUB TO PRT-DET-START (DSUB).                 DCQRY299
00246      ADD DATA-FIELD-LENGTH (DSUB) TO CURR-PRINT-SUB.              DCQRY299
00247      ADD 1 TO CURR-PRINT-SUB.                                     DCQRY299
00248      GO TO 1600-SET-SUBHEAD.                                      DCQRY299
00249 *                                                                 DCQRY299
00250 *    HEADING LONGER THAN DATA                                     DCQRY299
00251 *                                                                 DCQRY299
00252 *                                                                 DCQRY299
00253  1300-HDG-LONGER.                                                 DCQRY299
00254      MOVE CURR-PRINT-SUB TO PRT-HDG-START (DSUB).                 DCQRY299
00255      SUBTRACT DATA-FIELD-LENGTH (DSUB) FROM                       DCQRY299
00256              PRT-HDG-LENGTH (DSUB) GIVING LENGTH-DIFF.            DCQRY299
00257      IF LENGTH-DIFF EQUAL 1                                       DCQRY299
00258          ADD LENGTH-DIFF TO CURR-PRINT-SUB                        DCQRY299
00259          GO TO 1320-STORE-SUB.                                    DCQRY299
00260      DIVIDE LENGTH-DIFF BY 2 GIVING HALF-LENGTH-DIFF.             DCQRY299
00261      ADD HALF-LENGTH-DIFF TO CURR-PRINT-SUB.                      DCQRY299
00262  1320-STORE-SUB.                                                  DCQRY299
00263      MOVE CURR-PRINT-SUB TO PRT-DET-START (DSUB).                 DCQRY299
00264      ADD PRT-HDG-LENGTH (DSUB) CURR-PRINT-SUB-SAVE                   CL**2
00265          GIVING CURR-PRINT-SUB.                                   DCQRY299
00266      ADD 1 TO CURR-PRINT-SUB.                                     DCQRY299
00267      GO TO 1600-SET-SUBHEAD.                                      DCQRY299
00268 *                                                                 DCQRY299
00269 *    DATA LONGER THAN HEADING                                     DCQRY299
00270 *                                                                 DCQRY299
00271  1400-DATA-LONGER.                                                DCQRY299
00272      MOVE CURR-PRINT-SUB TO PRT-DET-START (DSUB).                 DCQRY299
00273      SUBTRACT PRT-HDG-LENGTH (DSUB) FROM                          DCQRY299
00274              DATA-FIELD-LENGTH (DSUB) GIVING LENGTH-DIFF.         DCQRY299
00275      IF LENGTH-DIFF EQUAL 1                                       DCQRY299
00276          ADD LENGTH-DIFF TO CURR-PRINT-SUB                        DCQRY299
00277          GO TO 1420-STORE-SUB.                                       CL**2
00278      DIVIDE LENGTH-DIFF BY 2 GIVING HALF-LENGTH-DIFF.             DCQRY299
00279      ADD HALF-LENGTH-DIFF TO CURR-PRINT-SUB.                      DCQRY299
00280  1420-STORE-SUB.                                                  DCQRY299
00281      MOVE CURR-PRINT-SUB TO PRT-HDG-START (DSUB).                    CL**2
00282      ADD DATA-FIELD-LENGTH (DSUB) CURR-PRINT-SUB-SAVE                CL**2
00283          GIVING CURR-PRINT-SUB.                                   DCQRY299
00284      ADD 1 TO CURR-PRINT-SUB.                                     DCQRY299
00285 *                                                                 DCQRY299
00286 *    INITIALIZE FIELD HEADING/UNDERLINE SUB HEADINGS              DCQRY299
00287 *                                                                 DCQRY299
00288  1600-SET-SUBHEAD.                                                DCQRY299
00289      MOVE 1 TO HSUB.                                              DCQRY299
00290      MOVE PRT-HDG-START (DSUB) TO PSUB.                           DCQRY299
00291      MOVE PRT-HDG-LENGTH (DSUB) TO LENGTH-COUNT.                  DCQRY299
00292  1610-DASH-MOVE.                                                  DCQRY299
00293      MOVE NAME-HDG-CHR (HSUB) TO NAME-SUBHEAD (PSUB).             DCQRY299
00294      MOVE "-" TO DASH-SUBHEAD (PSUB).                             DCQRY299
00295      SUBTRACT 1 FROM LENGTH-COUNT.                                DCQRY299
00296      IF LENGTH-COUNT NOT EQUAL ZERO                               DCQRY299
00297          ADD 1 TO PSUB                                            DCQRY299
00298          ADD 1 TO HSUB                                               CL**2
00299          GO TO 1610-DASH-MOVE.                                    DCQRY299
00300 *                                                                 DCQRY299
00301 *    GET NEXT QTBL ENTRY                                          DCQRY299
00302 *                                                                 DCQRY299
00303      ADD 1 TO QSUB.                                               DCQRY299
00304      ADD 1 TO DSUB.                                               DCQRY299
00305      GO TO 1010-GET-QTBL.                                         DCQRY299
00306 **************************************                               CL**2
00307 *     OUTPUT HEADINGS                                                CL**2
00308 **************************************                               CL**2
00309  1990-END-BUILD-TABLE.                                               CL**2
00310      MOVE FIELD-NAME-LINE TO STD-REPORT-REC.                         CL**2
00311      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00312      MOVE FIELD-DASH-LINE TO STD-REPORT-REC.                         CL**2
00313      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00314                                                                    DCQRY29
00315 *****************************************************             DCQRY299
00316 *                                                                 DCQRY299
00317 *    GET NAME OF ENTRY TO BE DISPLAYED                            DCQRY299
00318 *                                                                 DCQRY299
00319 *****************************************************             DCQRY299
00320  2000-FIRST-HIT.                                                  DCQRY299
00321      MOVE 1 TO SUB1.                                              DCQRY299
00322  2010-NEXT-HIT.                                                   DCQRY299
00323      IF SUB1 GREATER THAN HIT-TBL-LIMIT                           DCQRY299
               GO TO 9000-QUERY-END.
00325      MOVE HIT-ENTRIES (SUB1) TO HIT-WORK-REC.                     DCQRY299
00326      ADD 1 TO SUB1.                                               DCQRY299
00327      GO TO 2190-HIT-FETCHED.                                      DCQRY299
00328  2120-USE-HIT-FILE.                                               DCQRY299
00329      IF HIT-COUNT EQUAL HIT-TBL-LIMIT                             DCQRY299
00330          MOVE SPACES TO HIT-WORK-REC                              DCQRY299
00331          GO TO 2190-HIT-FETCHED.                                  DCQRY299
00332 *                                                                 DCQRY299
00333 *    HIT TABLE LIMIT EXCEEDED USE MAST3                           DCQRY299
00334 *                                                                 DCQRY299
00335      IF 1ST-HIT-OVER-SW EQUAL TO "N"                              DCQRY299
00336          GO TO 2140-CHECK-ENDS.                                   DCQRY299
00337      MOVE "N" TO 1ST-HIT-OVER-SW.                                 DCQRY299
00338      MOVE 100 TO CON-KEY.                                         DCQRY299
00339      MOVE 1 TO SUB6.                                              DCQRY299
00340      MOVE HIT-TBL-LIMIT TO HIT-COUNTER.                           DCQRY299
00341      READ MAST3 INVALID KEY                                       DCQRY299
00342          GO TO 2170-NO-HIT-FOUND.                                 DCQRY299
00343 *                                                                 DCQRY299
00344 *    CHECK FOR END OF HIT ENTRIES                                 DCQRY299
00345 *                                                                 DCQRY299
00346  2140-CHECK-ENDS.                                                 DCQRY299
00347      IF HIT-COUNTER EQUAL HIT-COUNT                               DCQRY299
00348          GO TO 2180-FINI-HIT.                                     DCQRY299
00349      IF SUB6 LESS THAN HITS-PER-RECORD                            DCQRY299
00350          GO TO 2160-MOVE-HIT.                                     DCQRY299
00351 *                                                                 DCQRY299
00352 *    READ NEXT RECORD FROM MAST3                                  DCQRY299
00353 *                                                                 DCQRY299
00354      MOVE 1 TO SUB6.                                              DCQRY299
00355      ADD 1 TO CON-KEY.                                            DCQRY299
00356      READ MAST3 INVALID KEY                                       DCQRY299
00357          GO TO 2170-NO-HIT-FOUND.                                 DCQRY299
00358 *                                                                 DCQRY299
00359 *    RETRIEVE TYPE AND NAME OF QUALIFYING ENTRY                   DCQRY299
00360 *                                                                 DCQRY299
00361  2160-MOVE-HIT.                                                   DCQRY299
00364      ADD 1 TO SUB6.                                               DCQRY299
00365      ADD 1 TO HIT-COUNTER.                                        DCQRY299
00366      GO TO 2190-HIT-FETCHED.                                         CL**2
00367  2170-NO-HIT-FOUND.                                               DCQRY299
00368      MOVE CERR-120 TO STD-RPT-MESSAGE.                            DCQRY299
00369      GO TO 9000-ABORT-RUN.                                           CL**2
00370  2180-FINI-HIT.                                                   DCQRY299
00371      MOVE SPACES TO HIT-WORK-REC.                                 DCQRY299
00372  2190-HIT-FETCHED.                                                DCQRY299
00373      IF HIT-WORK-NAME NOT EQUAL SPACES                               CL**2
00374          GO TO 3000-BEGIN-PRINT.                                     CL**2
00375 *                                                                    CL**2
00376 *     NO MORE HITS                                                   CL**2
00377 *                                                                    CL**2
00378  9000-QUERY-END.                                                     CL**2
00379      CLOSE MAST3.                                                    CL**2
00380      CLOSE MAST1.                                                    CL**2
           CLOSE SYSPRINT WITH NO REWIND. 
           EXIT PROGRAM.
00383 *                                                                    CL**2
00384 *     CANNOT CONTINUE - MAST3 READ ERROR                             CL**2
00385 *                                                                    CL**2
00386  9000-ABORT-RUN.                                                     CL**2
00387      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00388      GO TO 9000-QUERY-END.                                           CL**2
00389                                                                    DCQRY29
00390 *****************************************************             DCQRY299
00391 *****************************************************             DCQRY299
00392 *                                                                 DCQRY299
00393 *    BEGIN ENTRY PRINT                                            DCQRY299
00394 *                                                                 DCQRY299
00395 *****************************************************             DCQRY299
00396 *****************************************************             DCQRY299
00397  3000-BEGIN-PRINT.                                                DCQRY299
00398      MOVE SPACES TO SHOW-FIELD-LINE.                              DCQRY299
00399      MOVE HIT-WORK-NAME TO SHOW-CATNAME.                          DCQRY299
00400      MOVE ALL "N" TO DATA-THERE-SWITCHES.                         DCQRY299
00401      MOVE 1 TO SUBI.                                              DCQRY299
00402 *                                                                 DCQRY299
00403 *    CONVERT ENTRY TYPE TO NAME                                   DCQRY299
00404 *                                                                 DCQRY299
00405  3010-TRANSLATE.                                                  DCQRY299
00406      IF ENT-ID (SUBI) NOT EQUAL TO HIT-WORK-ENTTYPE               DCQRY299
00407          ADD 1 TO SUBI                                            DCQRY299
00408          GO TO 3010-TRANSLATE.                                    DCQRY299
00409      MOVE ENT-NAME (SUBI) TO SHOW-LINE-ENTTYPE.                   DCQRY299
00410 *                                                                 DCQRY299
00411 *    RETRIEVE FIRST LINE OF NAMED ENTRY                           DCQRY299
00412 *                                                                 DCQRY299
00413      MOVE HIT-WORK-NAME TO DATA-ENTRY-NAME.                       DCQRY299
00414      PERFORM READ-FIRST-DATA THRU READ-FIRST-DATA-XIT.            DCQRY299
00415      IF DATA-RETURN-CODE EQUAL "1"                                DCQRY299
00416          GO TO 4900-PRINT-FINAL.                                  DCQRY299
00417 ******************************************************            DCQRY299
00418 *    PROCESS DATA FILE LINE AGAINST PRINT DEF TABLE               DCQRY299
00419 *        DSUB POINTS TO FLD DEF IN TABLE                          DCQRY299
00420 *****************************************************             DCQRY299
00421  3200-TBL-SEARCH.                                                 DCQRY299
00422      MOVE 1 TO DSUB.                                              DCQRY299
00423      IF CAT-COMMENT EQUAL "*"                                     DCQRY299
00424          GO TO 3400-NEXT-LINE.                                    DCQRY299
00425  3300-NEXT-TBL.                                                   DCQRY299
00426      IF QTBL-SHOW-ENTNO (DSUB) NOT EQUAL TO  HIT-WORK-ENTTYPE     DCQRY299
00427          GO TO 3350-CHECK-NEXT.                                   DCQRY299
00428      IF QTBL-SHOW-CATNO (DSUB) NOT EQUAL CAT-CATEGORY                CL**2
00429          GO TO 3350-CHECK-NEXT.                                   DCQRY299
00430      GO TO 3500-CK-MULT-LINES.                                    DCQRY299
00431  3350-CHECK-NEXT.                                                 DCQRY299
00432      ADD 1 TO DSUB.                                               DCQRY299
00433      IF DSUB NOT GREATER THAN 6                                   DCQRY299
00434          GO TO 3300-NEXT-TBL.                                     DCQRY299
00435 *                                                                 DCQRY299
00436 *    RETRIEVE NEXT LINE FOR ENTRY                                 DCQRY299
00437 *                                                                 DCQRY299
00438  3400-NEXT-LINE.                                                  DCQRY299
00439      PERFORM READ-NEXT-DATA THRU READ-NEXT-DATA-XIT.              DCQRY299
00440      IF DATA-RETURN-CODE EQUAL TO "1"                             DCQRY299
00441          GO TO 4900-PRINT-FINAL.                                  DCQRY299
00442      GO TO 3200-TBL-SEARCH.                                       DCQRY299
00443  3500-CK-MULT-LINES.                                              DCQRY299
00444 *                                                                 DCQRY299
00445 *    CHECK FOR CATEGORIES WITH MULTIPLE LINES                     DCQRY299
00446 *                                                                 DCQRY299
           IF DATA-HDR-ENT-ID IS EQUAL TO "10"
           THEN 
              GO TO CK-GRP-STR
           END-IF 
           IF DATA-HDR-ENT-ID IS EQUAL TO "13"
           THEN 
              GO TO CK-REC-STR
           END-IF 
           IF DATA-HDR-ENT-ID IS EQUAL TO "22"
           THEN 
              GO TO CK-ARE-LINES
           END-IF 
           IF DATA-HDR-ENT-ID IS EQUAL TO "24"
           THEN 
              GO TO CK-SS-REL 
           END-IF 
           IF DATA-HDR-ENT-ID IS EQUAL TO "26"
           THEN 
              GO TO CK-SC-LINES 
           END-IF 
           GO TO 4000-GET-DATA-FIELD. 
  
       CK-GRP-STR.
           IF CAT-CATEGORY IS NOT EQUAL TO "300"
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "A" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
               STR-GRP-LINE-A 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "D" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-D
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "O" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-O
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "I" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-I
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "K" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-K
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "R" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-R
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "Q" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-Q
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "T" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-T
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "2" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-GRP-LINE-2
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           GO TO 3350-CHECK-NEXT. 
  
       CK-REC-STR.
           IF CAT-CATEGORY IS NOT EQUAL TO "300"
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "A" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-A
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "D" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-D
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "O" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-O
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "I" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-I
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "K" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-K
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "R" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-R
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "Q" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-Q
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "T" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-T
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "2" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-2
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "B" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-B
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "C" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              STR-REC-LINE-C
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           GO TO 3350-CHECK-NEXT. 
  
       CK-ARE-LINES.
           IF CAT-CATEGORY IS NOT EQUAL TO "400"
           THEN 
              GO TO CK-ARE-KEY
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "P" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              ARE-PRO-LINE-P
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "R" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              ARE-PRO-LINE-R
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           GO TO 3350-CHECK-NEXT. 
  
       CK-ARE-KEY.
           IF CAT-CATEGORY IS NOT EQUAL TO "500"
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "K" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              ARE-KEY-LINE-K
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "C" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              ARE-KEY-LINE-C
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "I" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              ARE-KEY-LINE-I
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           GO TO 3350-CHECK-NEXT. 
  
       CK-SS-REL. 
           IF CAT-CATEGORY IS NOT EQUAL TO "525"
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "R" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SS-REL-LINE-R 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "I" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SS-REL-LINE-I 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "Q" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SS-REL-LINE-Q 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "2" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SS-REL-LINE-2 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "B" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SS-REL-LINE-B 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "3" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SS-REL-LINE-3 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           GO TO 3350-CHECK-NEXT. 
  
       CK-SC-LINES. 
           IF CAT-CATEGORY IS NOT EQUAL TO "450"
           THEN 
              GO TO CK-SC-CON 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "L" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-MDI-LINE-L 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "P" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-MDI-LINE-P 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "T" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-MDI-LINE-T 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "R" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-MDI-LINE-R 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "J" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-MDI-LINE-J 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "Q" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-MDI-LINE-Q 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           GO TO 3350-CHECK-NEXT. 
  
       CK-SC-CON. 
           IF CAT-CATEGORY IS NOT EQUAL TO "550"
           THEN 
              GO TO CK-SC-JOI 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "N" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-CON-LINE-N 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "O" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-CON-LINE-O 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           GO TO 3350-CHECK-NEXT. 
  
       CK-SC-JOI. 
           IF CAT-CATEGORY IS NOT EQUAL TO "550"
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "A" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-JOI-LINE-A 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "B" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-JOI-LINE-B 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
           IF STC-LINE-TYPE IS EQUAL TO "C" AND 
              DATA-MAST3-KEY (DSUB) IS EQUAL TO 
              SC-JOI-LINE-C 
           THEN 
              GO TO 4000-GET-DATA-FIELD 
           END-IF 
  
  
00548      GO TO 3350-CHECK-NEXT.                                       DCQRY299
00549 *****************************************************             DCQRY299
00550 *    HAVE FIELD MOVE TO DETAIL PRINT LINE                         DCQRY299
00551 *        IF FIELD THERE PRINT LINE                                DCQRY299
00552 *             IF NOT JUST MOVE FIELD IN                           DCQRY299
00553 *****************************************************             DCQRY299
00554  4000-GET-DATA-FIELD.                                                CL**2
00555      IF DATA-THERE-SWITCH (DSUB) EQUAL "Y"                        DCQRY299
00556          PERFORM 4800-PRINT-LINE THRU 4899-PRINT-LINE-XIT.        DCQRY299
00557      MOVE "Y" TO DATA-THERE-SWITCH (DSUB).                        DCQRY299
00558      MOVE PRT-DET-START (DSUB) TO SUBS.                           DCQRY299
00559      MOVE DATA-FIELD-LENGTH (DSUB) TO SUBL.                          CL**2
00560      MOVE DATA-FIELD-START (DSUB) TO SUBF.                        DCQRY299
00561      IF DATA-FIELD-FORMAT (DSUB) EQUAL TO "N"                     DCQRY299
00562          GO TO 4200-MOVE-NUMERIC-FIELD.                           DCQRY299
00563  4100-MOVE-CHAR-FIELD.                                            DCQRY299
00564      MOVE DETAIL-LINE (SUBF) TO SHOW-LINE (SUBS).                 DCQRY299
00565      SUBTRACT 1 FROM SUBL.                                        DCQRY299
00566      IF SUBL NOT EQUAL 0                                          DCQRY299
00567          ADD 1 TO SUBS                                            DCQRY299
00568          ADD 1 TO SUBF                                            DCQRY299
00569          GO TO 4100-MOVE-CHAR-FIELD.                              DCQRY299
00570      GO TO 3350-CHECK-NEXT.                                          CL**2
00571 *                                                                 DCQRY299
00572 *    DONT MOVE LEADING ZEROES                                     DCQRY299
00573 *                                                                 DCQRY299
00574  4200-MOVE-NUMERIC-FIELD.                                         DCQRY299
00575      IF SUBL EQUAL 1                                              DCQRY299
00576          GO TO 4100-MOVE-CHAR-FIELD.                              DCQRY299
00577      IF DETAIL-LINE (SUBF) NOT EQUAL ZERO                         DCQRY299
00578          GO TO 4100-MOVE-CHAR-FIELD.                              DCQRY299
00579      ADD 1 TO SUBS.                                               DCQRY299
00580      ADD 1 TO SUBF.                                               DCQRY299
00581      SUBTRACT 1 FROM SUBL.                                        DCQRY299
00582      GO TO 4200-MOVE-NUMERIC-FIELD.                               DCQRY299
00583  4900-PRINT-FINAL.                                                   CL**2
00584      MOVE SHOW-FIELD-LINE TO STD-REPORT-REC.                         CL**2
00585      IF STD-REPORT-REC EQUAL SPACE                                   CL**2
00586          GO TO 2010-NEXT-HIT.                                        CL**2
00587      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00588      GO TO 2010-NEXT-HIT.                                            CL**2
00589  4800-PRINT-LINE.                                                    CL**2
00590      MOVE SHOW-FIELD-LINE TO STD-REPORT-REC.                         CL**2
00591      IF STD-REPORT-REC EQUAL SPACE                                   CL**2
00592          GO TO 4899-PRINT-LINE-XIT.                                  CL**2
00593      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00594      MOVE SPACES TO SHOW-FIELD-LINE.                                 CL**2
00595  4899-PRINT-LINE-XIT.                                                CL**2
00596      EXIT.                                                           CL**2
*CALL     DISPLAYLN                                                        CL**2
*CALL     WRITELN                                                          CL**2
00599  USER-ROUTINE.                                                       CL**2
00600      IF FIRST-TIME-SW EQUAL "Y"                                      CL**2
00601          MOVE "N" TO FIRST-TIME-SW                                   CL**2
00602          GO TO USER-ROUTINE-XIT.                                     CL**2
00603      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00604      PERFORM DISPLAY-LINE THRU DISPLAY-LINE-XIT.                     CL**2
00605  USER-ROUTINE-XIT.                                                   CL**2
00606      EXIT.                                                           CL**2
*CALL     MAST1RFC                                                      DCQRY299
*CALL     MAST1RNL                                                      DCQRY299
*CALL     MAST1EXT                                                      DCQRY299
*CALL     MAST1READ                                                     DCQRY299
*CALL     MAST1ALG                                                      DCQRY299
*CALL     MAST3IO1                                                         CL**2
*CALL     MAST1RFL                                                         CL**2
*CALL     MULTLINE                                                         CL**2
