*DECK     DCQRY130
00001  IDENTIFICATION DIVISION.                                         07/31/78
       PROGRAM-ID. QRY130.
*CALL COPYRIGHT 
      *    THIS SEGMENT PERFORMS SELECTION PROCESSING FOR THE 
      *    FOLLOWING TYPES OF QUERIES:  
      * 
      *    QRYTYPE                DESCRIPTION 
      * 
      *      40         ENTITY-TYPE USED-BY ENTRY-NAME
      *      45         ENTITY-TYPE WITH ... USED-BY ENTRY-NAME 
      *      46         ENTITY-TYPE HAVING ... USED-BY ENTRY-NAME 
      *      60         ENTITY-TYPE USED-BY ENTITY-TYPE 
      *      65         ENTITY-TYPE WITH ... USED-BY ENTITY-TYPE
      *      66         ENTITY-TYPE HAVING ... USED-BY ENTITY-TYPE
      *      67         ENTITY-TYPE USED-BY ENTITY-TYPE WITH ...
      *      68         ENTITY-TYPE USED-BY ENTITY-TYPE HAVING ...
      * 
00018  ENVIRONMENT DIVISION.                                               CL**2
00019  CONFIGURATION SECTION.                                              CL**2
       SOURCE-COMPUTER. CYBER.
       OBJECT-COMPUTER. CYBER.
00022  INPUT-OUTPUT SECTION.                                               CL**2
00023  FILE-CONTROL.                                                       CL**2
*CALL     SELECTS                                                          CL**5
00025  DATA DIVISION.                                                      CL**2
00026  FILE SECTION.                                                       CL**2
*CALL     MAST1FD                                                          CL**5
*CALL     MAST2FD                                                          CL**5
*CALL     MAST3FD                                                          CL**5
*CALL QRYCS 
*CALL     WRKSTG77                                                         CL**5
00031  77  OPEN-DATA                   PICTURE X.                          CL**2
*CALL     MAST1WS                                                          CL**5
*CALL     TESTWACOM                                                        CL**5
*CALL     WRKSTG01                                                         CL**5
*CALL     MAST3DD1                                                         CL**5
*CALL     CONWORK                                                          CL**5
*CALL     ENTSAVE                                                          CL**5
00038  01  WORK-STORE.                                                     CL**2
*CALL     WITHHIT4                                                         CL**2
*CALL     HITWORK                                                          CL**5
*CALL     MULTSTORE                                                        CL**2
00042                                                                    DCQRY13
00049                                                                    DCQRY13
00050  PROCEDURE DIVISION.                                                 CL**2
00052 **************************************************************       CL**2
00053 *                                                                    CL**2
00054 *    INITIALIZATION                                                  CL**2
00055 *                                                                    CL**2
00056 ************************************************************         CL**2
00057  0000-BEGIN.                                                         CL**2
00058      MOVE SPACES TO DATA-ARG-LIST.                                   CL**2
00059      MOVE SPACES TO DATA-LAST-ENTRY-NAME.                            CL**2
00060      MOVE "Y" TO OPEN-DATA.                                          CL**2
00061      MOVE SPACES TO REL-ARG-LIST.                                    CL**2
00062      MOVE SPACES TO CON-ARG-LIST.                                    CL**2
00063      MOVE SPACES TO HIT-ARG-LIST.                                    CL**2
00064      MOVE SPACES TO HIT-TABLE.                                       CL**2
00065      MOVE SPACES TO WORK-HEADER.                                     CL**2
00066      MOVE ZERO TO HIT-COUNT.                                         CL**2
00067      MOVE "Y" TO 1ST-CHGQRY-SW.                                      CL**2
00068      MOVE "N" TO HIT-SW.                                             CL**2
00069 *                                                                    CL**2
00070 *    GET PRIME NUMBERS FOR DATA AND RELATIONAL FILES                 CL**2
00071 *                                                                    CL**2
00072      OPEN INPUT MAST1.                                               CL**2
00073      PERFORM REL-OPEN THRU REL-OPEN-XIT.                             CL**2
00074      PERFORM CON-OPEN THRU CON-OPEN-XIT.                             CL**2
00079      MOVE "3" TO CON-ENTRY-FUNCTION.                                 CL**2
00080      PERFORM CON-READ THRU CON-READ-XIT.                             CL**2
00081      MOVE 1 TO SUB1.                                                 CL**2
00082      PERFORM CHECK-MULT-STC THRU CHECK-MULT-STC-XIT.                 CL**2
00083 *    DETERMINE TYPE OF QRY AND ENTER APPROPRIATE RT                  CL**2
      *        IF TYPE IS 40, 45 OR 46 (USED-BY ENTRY-NAME) 
00085 *        ONLY DATA FILE IS PROCESSED                                 CL**2
00086 *        IF TYPE IS 60, 65, 66 OR 67 OR 68 (USED-BY ENTRY-TYPE)      CL**2
00087 *            RELATIONAL FILE IS PROCESSED TO FIND APPROPRIATE        CL**2
00088 *            TYPE OF ENTRY- THEN DATA FILE IS PROCESSED              CL**2
00089 *            TO RETRIEVE ITS HIERARCHY.                              CL**2
00090 *                                                                    CL**2
00091      IF QRYTYPE-23 EQUAL TO "40" OR "45" OR "46"                     CL**2
00092          GO TO 0200-RETRIEVE-HIERARCHY.                              CL**2
00093                                                                    DCQRY13
00094 ************************************************************         CL**2
00095 *                                                                    CL**2
00096 *    PROCESS USED-BY ENTRY-TYPE QUERIES (60,65,66,67,68)             CL**2
00097 *        READ RELATIONAL FILE ALL-NAMES RECORD AND                   CL**2
00098 *        RETRIEVE ITS POINTERS SEQUENTIALLY.  WHEN AN ENTRY          CL**2
00099 *        IS FOUND THAT QUALIFIES THEN PROCESS THAT ENTRY             CL**2
00100 *        AS A TYPE 40, 45 OR 46 QUERY TO GET COMPONENTS.             CL**2
00101 *                                                                    CL**2
00102 *******************************************************              CL**2
00103      MOVE ALL-NAMES-LITERAL TO REL-ENTRY-NAME.                       CL**2
00104 *                                                                    CL**2
00105 *    READ RELATIONAL FILE ALL-NAMES RECORD AND GET POINTERS          CL**2
00106 *                                                                    CL**2
00107  0100-REL-READ.                                                      CL**2
00108      MOVE "N" TO REL-ENTRY-FUNCTION.                                 CL**2
00109      PERFORM REL-READ THRU REL-READ-XIT.                             CL**2
00110      IF REL-RETURN-CODE EQUAL TO "0"                                 CL**2
00111          GO TO 0110-MOVE-REL-POINTER.                                CL**2
00112      IF REL-RETURN-CODE EQUAL TO "1"                                 CL**2
00113          GO TO 0900-USEDBY-END.                                      CL**2
00114      MOVE "RR" TO QTBL-HDR-REQTYPE.                                  CL**2
00115      MOVE REL-ENTRY-NAME TO QTBL-SEL2-TOCNAME.                       CL**2
00116      GO TO PROGRAM-END-BAD.                                          CL**2
00117  0110-MOVE-REL-POINTER.                                              CL**2
00118 *                                                                    CL**2
00119 *    PROCESS POINTER TO SEE IF ITS DESIRED TYPE                      CL**2
00120 *                                                                    CL**2
00121      MOVE REL-POINTER-TYPE TO ENTRY-TYPE-2.                          CL**2
00122      MOVE QTBL-SEL2-TOTYPE TO ENTRY-TYPE-1.                          CL**2
00123      PERFORM MATCH-ENTRY-TYPE THRU MATCH-ENTRY-TYPE-XIT.             CL**2
00124      IF ENTRY-TYPE-MATCH EQUAL TO "N"                                CL**2
00125          GO TO 0100-REL-READ.                                        CL**2
00126      IF QRYTYPE-23 EQUAL TO "60" OR "65" OR "66"                     CL**2
00127          GO TO 0160-INIT-START.                                      CL**2
00128 *                                                                    CL**2
00129 *    PROCESS CONDITION CLAUSE (WITH-HAVING)                          CL**2
00130 *         RETRIEVE ENTRY FROM DATA FILE                              CL**2
00131 *                                                                    CL**2
00132  0150-CHECK-PARENT.                                                  CL**2
00133      MOVE REL-POINTER-NAME TO QUERY-NAME.                            CL**2
00134      PERFORM QRY-WITH THRU QRY-HAVE-XIT.                             CL**2
00135      IF HIT-SW EQUAL TO "N"                                          CL**2
00136          GO TO 0100-REL-READ.                                        CL**2
00137  0160-INIT-START.                                                    CL**2
00138      MOVE REL-POINTER-NAME TO QTBL-OPT-CNAME.                        CL**2
00139      MOVE REL-POINTER-TYPE TO QTBL-OPT-ENTTYPE.                      CL**2
00140                                                                    DCQRY13
00141 ******************************************************               CL**2
00142 *                                                                    CL**2
00143 *    RETRIEVE HIERARCHY OF NAMED ENTRY                               CL**2
00144 *        THIS ROUTINE IS COMMON TO ALL USED-BY QUERIES               CL**2
00145 *        IT STARTS AT NAMED ENTRY AND RETRIEVES ALL RELATED          CL**2
00146 *        LOWER LEVEL ENTRIES.                                        CL**2
00147 *                                                                    CL**2
00148 *************************************************************        CL**2
00149  0200-RETRIEVE-HIERARCHY.                                            CL**2
00150      MOVE QTBL-OPT-CNAME TO DATA-ENTRY-NAME.                         CL**2
           IF QTBL-OPT-ENTTYPE IS EQUAL TO "05" 
           THEN 
              MOVE "400" TO DATA-ENTRY-CAT
              GO TO 0201-RETRIEVE-HIE-CONT
           END-IF 
           IF QTBL-OPT-ENTTYPE IS EQUAL TO "13" 
              AND QTBL-SEL1-ENTTYPE IS EQUAL TO "03"
           THEN 
              MOVE "400" TO DATA-ENTRY-CAT
              GO TO 0201-RETRIEVE-HIE-CONT
           END-IF 
           IF QTBL-OPT-ENTTYPE IS EQUAL TO "22" 
              AND QTBL-SEL1-ENTTYPE IS EQUAL TO "03"
           THEN 
              MOVE "400" TO DATA-ENTRY-CAT
              GO TO 0201-RETRIEVE-HIE-CONT
           END-IF 
           IF ( QTBL-OPT-ENTTYPE IS EQUAL TO "22" OR "26" ) 
              AND QTBL-SEL1-ENTTYPE IS EQUAL TO "20"
           THEN 
              MOVE "450" TO DATA-ENTRY-CAT
              GO TO 0201-RETRIEVE-HIE-CONT
           END-IF 
00151      IF QTBL-OPT-ENTTYPE LESS THAN "35"                              CL**2
00152          MOVE "300" TO DATA-ENTRY-CAT                                CL**2
00153      ELSE                                                            CL**2
00154          MOVE "800" TO DATA-ENTRY-CAT.                               CL**2
       0201-RETRIEVE-HIE-CONT.
00155      PERFORM READ-CATEGORY THRU READ-CATEGORY-XIT.                   CL**2
00156      IF DATA-RETURN-CODE EQUAL TO "0"                                CL**2
00157          GO TO 0210-CK-COMMENT.                                      CL**2
00158      IF DATA-RETURN-CODE EQUAL TO "1"                                CL**2
00159          GO TO PROGRAM-END-BAD.                                      CL**2
00160 *    NO RELATIONAL LINES                                             CL**2
00161      IF QRYTYPE-23 GREATER THAN "46"                                 CL**2
00162          GO TO 0100-REL-READ.                                        CL**2
00163      GO TO 0900-USEDBY-END.                                          CL**2
00164  0210-CK-COMMENT.                                                    CL**2
00165 *                                                                    CL**2
00166 *    BYPASS PROCESSING OF LINES WITHOUT STC-CNAME                    CL**2
00169 *                                                                    CL**2
00170      IF CAT-COMMENT EQUAL "*"                                        CL**2
00171          GO TO 0215-BYPASS.                                          CL**2
00172      IF STC-CNAME EQUAL "FILLER "                                    CL**2
00173          GO TO 0215-BYPASS.                                          CL**2
00174      IF STC-CNAME EQUAL SPACES                                       CL**2
00175          GO TO 0215-BYPASS.                                          CL**2
      *    IF THE ENTITY-ID IS FOR GROUP OR RECORD AND
      *    WE ARE CURRENTLY EXAMINING THE STRUCTURE CATEGORY
      *    ONLY CHECK STANDARD STRUCTURE LINE TYPE, 
      *    BYPASS ALL OTHERS. 
  
           IF (( DATA-HDR-ENT-ID IS EQUAL TO "10" OR "13" ) 
              AND ( CAT-CATEGORY IS EQUAL TO "300" )
              AND ( STC-LINE-TYPE IS NOT EQUAL TO "A" ))
           THEN 
              GO TO 0215-BYPASS 
           END-IF.
  
      *    IF THE ENTITY-ID IS FOR AREA AND WE ARE
      *    CURRENTLY EXAMINING THE PROCESS CATEGORY 
      *    ONLY CHECK THE DBP LINE TYPE, BYPASS 
      *    RECORD CODE. 
  
           IF DATA-HDR-ENT-ID IS EQUAL TO "22"
              AND CAT-CATEGORY IS EQUAL TO "400"
              AND STC-LINE-TYPE IS EQUAL TO "R" 
           THEN 
              GO TO 0215-BYPASS 
           END-IF.
  
      *    IF THE DATABASE PROCEDURE USED BY THE AREA 
      *    IS "SYSTEM" BYPASS READING MAST1.
      * 
           IF DATA-HDR-ENT-ID IS EQUAL TO "22"
              AND CAT-CATEGORY IS EQUAL TO "400"
              AND STC-LINE-TYPE IS EQUAL TO "P" 
              AND STC-CNAME IS EQUAL TO "SYSTEM"
           THEN 
              GO TO 0215-BYPASS 
           END-IF 
  
      *    IF THE ENTITY-ID IS FOR SCHEMA AND WE ARE
      *    CURRENTLY EXAMINING THE MDINFO CATEGORY
      *    BYPASS THE SCHEMA LFN LINE TYPE. 
  
           IF DATA-HDR-ENT-ID IS EQUAL TO "26"
              AND CAT-CATEGORY IS EQUAL TO "450"
              AND STC-LINE-TYPE IS EQUAL TO "L" 
           THEN 
              GO TO 0215-BYPASS 
           END-IF.
00191      GO TO 0220-RESET.                                               CL**2
00195  0215-BYPASS.                                                        CL**2
00196      PERFORM READ-NEXT-DATA THRU READ-NEXT-DATA-XIT.                 CL**2
           IF DATA-RETURN-CODE IS EQUAL TO "2"
           THEN 
              GO TO 0100-REL-READ 
           END-IF 
           IF DATA-RETURN-CODE IS EQUAL TO "1"
00198          GO TO 0900-USEDBY-END.                                      CL**2
00199      GO TO 0210-CK-COMMENT.                                          CL**2
00200  0220-RESET.                                                         CL**2
00201      MOVE SPACES TO HOLD-KEY-AREA.                                   CL**2
00202      MOVE ZERO TO KEY-CNT.                                           CL**2
00203 ************************************************************         CL**2
00204 *                                                                    CL**2
00205 *    PROCESS ENTRY FOR QUALIFICATION                                 CL**2
00206 *                                                                    CL**2
00207 *************************************************************        CL**2
00208  0300-CHECK-ENTRY.                                                   CL**2
00209 *                                                                    CL**2
00210 *    RETRIEVE AND TEST COMPONENT ENTRY                               CL**2
00211 *         SAVE CURRENT LOCATION IN DATA FILE                         CL**2
00212 *                                                                    CL**2
00213      MOVE STC-PUSE TO HOLD-PUSE.                                     CL**2
00214      MOVE STC-CNAME TO QUERY-NAME.                                   CL**2
00215      MOVE DATA-ENTRY-NAME TO SAVE-NAME.                              CL**2
00216      MOVE CAT-CATEGORY TO SAVE-CAT.                                  CL**2
00217      MOVE CAT-LINE TO SAVE-LINE-NO.                                  CL**2
00218      MOVE QUERY-NAME TO DATA-ENTRY-NAME.                             CL**2
00219      PERFORM READ-FIRST-DATA THRU READ-FIRST-DATA-XIT.               CL**2
00220      IF DATA-RETURN-CODE EQUAL TO "9"                                CL**2
00221          MOVE "DR" TO QTBL-HDR-REQTYPE                               CL**2
00222          MOVE DATA-ENTRY-NAME TO QTBL-SEL2-TOCNAME                   CL**2
00223          GO TO PROGRAM-END-BAD.                                      CL**2
00224      MOVE DATA-HDR-ENT-ID TO ENTRY-TYPE-2.                           CL**2
00225      MOVE QTBL-SEL1-ENTTYPE TO ENTRY-TYPE-1.                         CL**2
00226      PERFORM MATCH-ENTRY-TYPE THRU MATCH-ENTRY-TYPE-XIT.             CL**2
00227 *                                                                    CL**2
00228 *     MATCH RT MIGHT HAVE CHANGED ENTRY TYPE                         CL**2
00229 *                                                                    CL**2
00230      MOVE DATA-HDR-ENT-ID TO ENTRY-TYPE-2.                           CL**2
00231      IF ENTRY-TYPE-MATCH EQUAL TO "N"                                CL**2
00232          GO TO 0350-RESTORE.                                         CL**2
00233      IF QRYTYPE-23 EQUAL TO "40" OR "60" OR "67" OR "68"             CL**2
00234          MOVE "Y" TO HIT-SW                                          CL**2
00235          GO TO 0350-RESTORE.                                         CL**2
00236      PERFORM QRY-WITH THRU QRY-HAVE-XIT.                             CL**2
00237 *                                                                    CL**2
00238 *    RESTORE LOCATION TO PARENT ENTRIES STC LINE                     CL**2
00239 *                                                                    CL**2
00240  0350-RESTORE.                                                       CL**2
00241      MOVE SAVE-NAME TO DATA-ENTRY-NAME.                              CL**2
00242      MOVE SAVE-CAT TO DATA-ENTRY-CAT.                                CL**2
00243      MOVE SAVE-LINE-NO TO DATA-ENTRY-LINE.                           CL**2
00244      PERFORM RETURN-KEY THRU RETURN-KEY-XIT.                         CL**2
00245      IF HIT-SW EQUAL TO "N"                                          CL**2
00246          GO TO 0500-DOWN-A-LEVEL.                                    CL**2
00247 ***********************************************************          CL**2
00248 *                                                                    CL**2
00249 *    ENTRY QUALIFIES                                                 CL**2
00250 *                                                                    CL**2
00251 *************************************************************        CL**2
00252  0400-ENTRY-QUALIFIES.                                               CL**2
00253      MOVE ENTRY-TYPE-2 TO HIT-ENTRY-TYPE.                            CL**2
00254      MOVE STC-CNAME TO HIT-NAME.                                     CL**2
00255      PERFORM WRITE-HIT THRU WRITE-HIT-XIT.                           CL**2
00256      MOVE "N" TO HIT-SW.                                             CL**2
00257 ************************************************************         CL**2
00258 *                                                                    CL**2
00259 *    RETRIEVE STRUCTURE LINES OF COMPONENT ENTRY                     CL**2
00260 *                                                                    CL**2
00261 *************************************************************        CL**2
00262  0500-DOWN-A-LEVEL.                                                  CL**2
           IF ENTRY-TYPE-2 IS EQUAL TO "03" 
00264          GO TO 0700-READ-STCLINE.                                    CL**2
00265      IF HOLD-PUSE EQUAL TO "Y"                                       CL**2
00266          GO TO 0700-READ-STCLINE.                                    CL**2
00267      ADD 1 TO KEY-CNT.                                               CL**2
00268      IF KEY-CNT GREATER THAN 30                                      CL**2
00269          SUBTRACT 1 FROM KEY-CNT                                     CL**2
00270          GO TO 0700-READ-STCLINE.                                    CL**2
00271 *                                                                    CL**2
00272 *    SAVE CURRENT STRUCTURE LINE LOCATION                            CL**2
00273 *                                                                    CL**2
00274      MOVE DATA-ENTRY-NAME TO  KEY-NAME (KEY-CNT).                    CL**2
00275      MOVE CAT-CATEGORY TO KEY-CATEGORY (KEY-CNT).                    CL**2
00276      MOVE CAT-LINE TO KEY-LINE (KEY-CNT).                            CL**2
00277 *                                                                    CL**2
00278 *    RETRIEVE THE STRUCTURE OR RELATIONAL LINE                       CL**2
00279 *                                                                    CL**2
00280      MOVE STC-CNAME TO DATA-ENTRY-NAME.                              CL**2
00281      MOVE "300" TO DATA-ENTRY-CAT.                                   CL**2
00282      PERFORM READ-CATEGORY THRU READ-CATEGORY-XIT.                   CL**2
00283      IF DATA-RETURN-CODE EQUAL TO "0"                                CL**2
00284          GO TO  0750-CK-COMMENT.                                     CL**2
00285      IF DATA-RETURN-CODE EQUAL TO "1"                                CL**2
00286          MOVE "DR" TO QTBL-HDR-REQTYPE                               CL**2
00287          MOVE DATA-ENTRY-NAME TO QTBL-SEL2-TOCNAME                   CL**2
00288          GO TO PROGRAM-END-BAD.                                      CL**2
           MOVE "400" TO DATA-ENTRY-CAT 
           PERFORM READ-CATEGORY THRU READ-CATEGORY-XIT 
           IF DATA-RETURN-CODE IS EQUAL TO "0"
           THEN 
              GO TO 0750-CK-COMMENT 
           END-IF 
           IF DATA-RETURN-CODE IS EQUAL TO "1"
           THEN 
              MOVE "DR" TO QTBL-HDR-REQTYPE 
              MOVE DATA-ENTRY-NAME TO QTBL-SEL2-TOCNAME 
              GO TO PROGRAM-END-BAD 
           END-IF 
           MOVE "450" TO DATA-ENTRY-CAT 
           PERFORM READ-CATEGORY THRU READ-CATEGORY-XIT 
           IF DATA-RETURN-CODE IS EQUAL TO "0"
           THEN 
              GO TO 0750-CK-COMMENT 
           END-IF 
           IF DATA-RETURN-CODE IS EQUAL TO "1"
           THEN 
              MOVE "DR" TO QTBL-HDR-REQTYPE 
              MOVE DATA-ENTRY-NAME TO QTBL-SEL2-TOCNAME 
              GO TO PROGRAM-END-BAD 
           END-IF 
00289      MOVE "800" TO DATA-ENTRY-CAT.                                   CL**2
00290      PERFORM READ-CATEGORY THRU READ-CATEGORY-XIT.                   CL**2
00291      IF DATA-RETURN-CODE EQUAL TO "2"                                CL**2
00292          GO TO 0600-RETURN-A-LEVEL.                                  CL**2
00293      IF DATA-RETURN-CODE EQUAL TO "1"                                CL**2
00294          MOVE "DR" TO QTBL-HDR-REQTYPE                               CL**2
00295          MOVE DATA-ENTRY-NAME TO QTBL-SEL2-TOCNAME                   CL**2
00296          GO TO PROGRAM-END-BAD.                                      CL**2
00297      GO TO 0750-CK-COMMENT.                                          CL**2
00298 **********************************************************           CL**2
00299 *                                                                    CL**2
00300 *    GO BACK UP TO PREVIOUSLY PROCESSED ENTRY                        CL**2
00301 *                                                                    CL**2
00302 ***************************************************************      CL**2
00303  0600-RETURN-A-LEVEL.                                                CL**2
00304      IF KEY-CNT NOT LESS THAN 01                                     CL**2
00305          GO TO 0610-RESTORE-KEY.                                     CL**2
00306      IF QRYTYPE-23 GREATER THAN "46"                                 CL**2
00307          GO TO 0100-REL-READ                                         CL**2
00308      ELSE                                                            CL**2
00309          GO TO 0900-USEDBY-END.                                      CL**2
00310  0610-RESTORE-KEY.                                                   CL**2
00311      MOVE KEY-NAME (KEY-CNT) TO DATA-ENTRY-NAME.                     CL**2
00312      MOVE KEY-CATEGORY (KEY-CNT) TO DATA-ENTRY-CAT.                  CL**2
00313      MOVE KEY-LINE (KEY-CNT) TO DATA-ENTRY-LINE.                     CL**2
00314      SUBTRACT 1 FROM KEY-CNT.                                        CL**2
00315      PERFORM RETURN-KEY THRU RETURN-KEY-XIT.                         CL**2
00316      IF DATA-RETURN-CODE NOT EQUAL TO "0"                            CL**2
00317          MOVE "DR" TO QTBL-HDR-REQTYPE                               CL**2
00318          MOVE DATA-ENTRY-NAME TO QTBL-SEL2-TOCNAME                   CL**2
00319          GO TO PROGRAM-END-BAD.                                      CL**2
00320 *************************************************************        CL**2
00321 *                                                                    CL**2
00322 *    GET THE NEXT STRUCTURE OR RELATIONAL LINE                       CL**2
00323 *                                                                    CL**2
00324 ***********************************************************          CL**2
00325  0700-READ-STCLINE.                                                  CL**2
00326      PERFORM READ-NEXT-DATA  THRU READ-NEXT-DATA-XIT.                CL**2
00327      IF DATA-RETURN-CODE EQUAL TO "1" OR "2"                         CL**2
00328          GO TO 0600-RETURN-A-LEVEL.                                  CL**2
00329  0750-CK-COMMENT.                                                    CL**2
00330      IF CAT-COMMENT EQUAL TO "*"                                     CL**2
00331          GO TO 0700-READ-STCLINE.                                    CL**2
00335      IF DATA-HDR-ENT-ID EQUAL TO "13" AND                            CL**2
00336          STC-LINE-TYPE EQUAL "B"                                     CL**2
00337          GO TO 0700-READ-STCLINE.                                    CL**2
      *    IF THE ENTITY-ID IS FOR GROUP OR RECORD AND
      *    WE ARE CURRENTLY EXAMINING THE STRUCTURE CATEGORY
      *    ONLY CHECK STANDARD STRUCTURE LINE TYPE, 
      *    BYPASS ALL OTHERS. 
  
           IF (( DATA-HDR-ENT-ID IS EQUAL TO "10" OR "13" ) 
              AND ( CAT-CATEGORY IS EQUAL TO "300" )
              AND ( STC-LINE-TYPE IS NOT EQUAL TO "A" ))
           THEN 
              GO TO 0700-READ-STCLINE 
           END-IF.
      *    IF THE ENTITY-ID IS FOR FILE BYPASS THE
      *    MDINFO CATEGORY. 
  
           IF DATA-HDR-ENT-ID IS EQUAL TO "20"
              AND CAT-CATEGORY IS EQUAL TO "450"
           THEN 
              GO TO 0700-READ-STCLINE 
           END-IF.
00347      IF STC-CNAME EQUAL TO "FILLER "                                 CL**2
00348          GO TO 0700-READ-STCLINE.                                    CL**2
00349      IF STC-CNAME EQUAL TO SPACES                                    CL**2
00350          GO TO 0700-READ-STCLINE.                                    CL**2
00351          GO TO 0300-CHECK-ENTRY.                                     CL**2
00352 *******************************************************              CL**2
00353 *                                                                    CL**2
00354 *    END OF MODULE PROCESSING                                        CL**2
00355 *                                                                    CL**2
00356 **************************************************************       CL**2
00357  0900-USEDBY-END.                                                    CL**2
00358      GO TO QUERY-END.                                                CL**2
00359                                                                    DCQRY13
00360 **************************************************************       CL**2
00361 **************************************************************       CL**2
00362 *                                                                    CL**2
00363 *    S U B R O U T I N E S   F O L L O W                             CL**2
00364 *                                                                    CL**2
00365 **************************************************************       CL**2
00366 **************************************************************       CL**2
*CALL     MULTLINE                                                         CL**2
*CALL     MATCHENT                                                         CL**5
*CALL     PQRYEND2                                                         CL**2
*CALL     QRYWITH4                                                         CL**2
*CALL     MAST1RFL                                                         CL**5
*CALL     MAST1RNL                                                         CL**5
*CALL     MAST1RFC                                                         CL**5
*CALL     MAST1RK                                                          CL**5
*CALL     MAST1EXT                                                         CL**5
*CALL     MAST1READ                                                        CL**5
*CALL     MAST1ALG                                                         CL**5
*CALL     MAST3IO1                                                         CL**5
*CALL     RELCOM                                                           CL**5
*CALL     RELALG                                                           CL**5
