*DECK     DCQRY110
00001  IDENTIFICATION DIVISION.                                         08/07/78
       PROGRAM-ID. QRY110.
*CALL COPYRIGHT 
      *    THIS SEGMENT PERFORMS SELECTION PROCESSING FOR THE 
      *    FOLLOWING TYPES OF QUERIES:  
      * 
      *    QRYTYPE                DESCRIPTION 
      * 
      *      04         SINGLE SELECTION (ENTITY-TYPE OR ENTRY-NAME)
      *      10         ALIASES OF ENTRY-NAME 
      *      15         ALIASES OF ENTRY-NAME WITH
      *      16         ALIASES OF ENTRY-NAME HAVING
      *      20         VERSIONS OF ENTRY-NAME
      *      25         VERSIONS OF ENTRY-NAME WITH 
      *      26         VERSIONS OF ENTRY-NAME HAVING 
      * 
00016  ENVIRONMENT DIVISION.                                               CL**2
00017  CONFIGURATION SECTION.                                              CL**2
       SOURCE-COMPUTER. CYBER.
       OBJECT-COMPUTER. CYBER.
00020  INPUT-OUTPUT SECTION.                                               CL**2
00021  FILE-CONTROL.                                                       CL**2
*CALL     SELECTS                                                          CL**5
00023  DATA DIVISION.                                                      CL**2
00024  FILE SECTION.                                                       CL**2
*CALL     MAST1FD                                                          CL**5
*CALL     MAST2FD                                                          CL**5
*CALL     MAST3FD                                                          CL**5
00028                                                                    DCQRY11
*CALL QRYCS 
*CALL     WRKSTG77                                                         CL**5
00030  77  OPEN-DATA                   PICTURE X       VALUE "N".          CL**2
*CALL     MAST1WS                                                          CL**5
*CALL     TESTWACOM                                                        CL**5
*CALL     WRKSTG01                                                         CL**5
*CALL     MAST3DD1                                                         CL**5
*CALL     CONWORK                                                          CL**5
00036  01  WORK-STORE.                                                     CL**2
*CALL     WITHHIT4                                                         CL**2
*CALL     HITWORK                                                          CL**5
*CALL     MULTSTORE                                                        CL**2
00040                                                                    DCQRY11
00047                                                                    DCQRY11
00048  PROCEDURE DIVISION.                                                 CL**2
00050 *****************************************************                CL**2
00051 *                                                                    CL**2
00052 *    INITIALIZATION                                                  CL**2
00053 *         OPEN CONTROL FILE - RETRIEVE PRIME NUMBERS FOR             CL**2
00054 *        DATA FILE AND REL FILE - OPEN REL FILE -                    CL**2
00055 *        CLEAR TABLES AND WORK AREAS                                 CL**2
00056 *                                                                    CL**2
00057 *******************************************************              CL**2
00058  0000-BEGIN.                                                         CL**2
00059      PERFORM CON-OPEN THRU CON-OPEN-XIT.                             CL**2
00064      MOVE "3" TO CON-ENTRY-FUNCTION.                                 CL**2
00065      PERFORM CON-READ THRU CON-READ-XIT.                             CL**2
00066      MOVE 1 TO SUB1.                                                 CL**2
00067      PERFORM CHECK-MULT-STC THRU CHECK-MULT-STC-XIT.                 CL**2
00068      PERFORM REL-OPEN THRU REL-OPEN-XIT.                             CL**2
00069      MOVE ZERO TO HIT-COUNT.                                         CL**2
00070      MOVE SPACES TO DATA-ARG-LIST.                                   CL**2
00071      MOVE SPACES TO DATA-LAST-ENTRY-NAME.                            CL**2
00072      MOVE SPACES TO WORK-HEADER.                                     CL**2
00073      MOVE SPACES TO HIT-TABLE.                                       CL**2
00074      MOVE "N" TO OPEN-DATA.                                          CL**2
00075 ***********************************************************          CL**2
00076 *                                                                    CL**2
00077 *    PROCESS SHOW OF SINGLE NAMED ENTRY                              CL**2
00078 *                                                                    CL**2
00079 *********************************************************            CL**2
00080      IF QRYTYPE-23 NOT EQUAL TO "04"                                 CL**2
00081          GO TO 0099-INIT-READ.                                       CL**2
00082      MOVE QTBL-OPT-CNAME TO HIT-NAME.                                CL**2
00083      MOVE QTBL-OPT-ENTTYPE TO HIT-ENTRY-TYPE.                        CL**2
00084      PERFORM WRITE-HIT THRU WRITE-HIT-XIT.                           CL**2
00085      GO TO 0900-QRY-ALIAS-END.                                       CL**2
00086  0099-INIT-READ.                                                     CL**2
00087 *******************************************************              CL**2
00088 *                                                                    CL**2
00089 *    RETRIEVE NAMED ENTRY  AND POINTERS FROM REL FILE                CL**2
00090 *                                                                    CL**2
00091 **********************************************************           CL**2
00092      MOVE QTBL-OPT-CNAME TO REL-ENTRY-NAME.                          CL**2
00093  0100-READ-REL-POINTER.                                              CL**2
00094      MOVE "N" TO REL-ENTRY-FUNCTION.                                 CL**2
00095      PERFORM REL-READ THRU REL-READ-XIT.                             CL**2
00096      IF REL-RETURN-CODE EQUAL TO "0"                                 CL**2
00097          GO TO 0110-MOVE-POINTER.                                    CL**2
00098      IF REL-RETURN-CODE EQUAL TO  "1"                                CL**2
00099          GO TO 0900-QRY-ALIAS-END.                                   CL**2
00100      MOVE "RR" TO QTBL-HDR-REQTYPE.                                  CL**2
00101      MOVE REL-ENTRY-NAME TO QTBL-SEL2-TOCNAME.                       CL**2
00102      GO TO PROGRAM-END-BAD.                                          CL**2
00103  0110-MOVE-POINTER.                                                  CL**2
00104 *********************************************************            CL**2
00105 *                                                                    CL**2
00106 *    PROCESS ALIAS POINTER                                           CL**2
00107 *                                                                    CL**2
00108 **************************************************************       CL**2
00109  0200-HAVE-ALIAS.                                                    CL**2
00110      IF REL-POINTER-ALIAS EQUAL "1" OR "2"                           CL**2
00111          GO TO 0210-CHECK-QRY.                                       CL**2
00112      GO TO 0100-READ-REL-POINTER.                                    CL**2
00113  0210-CHECK-QRY.                                                     CL**2
00114      IF QRYTYPE-23 EQUAL TO "10" OR "20"                             CL**2
00115          GO TO 0800-ALIAS-HIT.                                       CL**2
00116 *******************************************************              CL**2
00117 *                                                                    CL**2
00118 *    DATA FILE RECORD MUST BE TESTED                                 CL**2
00119 *                                                                    CL**2
00120 ********************************************************             CL**2
00121  0300-CK-DATA.                                                       CL**2
00122      IF OPEN-DATA EQUAL TO "N"                                       CL**2
00123          MOVE "Y" TO OPEN-DATA                                       CL**2
00124          OPEN INPUT MAST1.                                           CL**2
00125      MOVE REL-POINTER-NAME TO QUERY-NAME.                            CL**2
00126      PERFORM QRY-WITH THRU QRY-HAVE-XIT.                             CL**2
00127      IF HIT-SW EQUAL TO "N"                                          CL**2
00128          GO TO 0100-READ-REL-POINTER.                                CL**2
00129 *********************************************************            CL**2
00130 *                                                                    CL**2
00131 *    ENTRY QUALIFIES- TABLE NAME                                     CL**2
00132 *                                                                    CL**2
00133 *******************************************************              CL**2
00134  0800-ALIAS-HIT.                                                     CL**2
00135      MOVE REL-POINTER-NAME TO HIT-NAME.                              CL**2
00136      MOVE REL-POINTER-TYPE TO HIT-ENTRY-TYPE.                        CL**2
00137      PERFORM WRITE-HIT THRU WRITE-HIT-XIT.                           CL**2
00138      GO TO 0100-READ-REL-POINTER.                                    CL**2
00139 ********************************************************             CL**2
00140 *                                                                    CL**2
00141 *    ALL ALIAS POINTERS PROCESSED                                    CL**2
00142 *                                                                    CL**2
00143 **********************************************************           CL**2
00144  0900-QRY-ALIAS-END.                                                 CL**2
00145      GO TO QUERY-END.                                                CL**2
00146                                                                    DCQRY11
00147 ************************************************************         CL**2
00148 ************************************************************         CL**2
00149 *                                                                    CL**2
00150 *    S U B R O U T I N E S F O L L O W                               CL**2
00151 *                                                                    CL**2
00152 ************************************************************         CL**2
00153 **********************************************************           CL**2
*CALL     MULTLINE                                                         CL**2
*CALL     PQRYEND2                                                         CL**2
*CALL     QRYWITH4                                                         CL**2
*CALL     MAST1RFL                                                         CL**5
*CALL     MAST1RNL                                                         CL**5
*CALL     MAST1RFC                                                         CL**5
*CALL     MAST1EXT                                                         CL**5
*CALL     MAST1READ                                                        CL**5
*CALL     MAST1ALG                                                         CL**5
*CALL     RELCOM                                                           CL**5
*CALL     RELALG                                                           CL**5
*CALL     MAST3IO1                                                         CL**5
