*COMDECK  MAST3IO1
00001 ******************************************************************09/12/77
00002 ******************************************************************MAST3IO1
00003 *    THESE ROUTINES HANDLE ALL MAST3 PROCESSING                  *   LV001
00004 ******************************************************************MAST3IO1
00005 ******************************************************************MAST3IO1
00006  CON-OPEN.                                                        MAST3IO1
00007      OPEN I-O MAST3.                                                 CL**2
00008      MOVE SPACES TO CON-ARG-LIST.                                 MAST3IO1
00009  CON-OPEN-XIT.                                                    MAST3IO1
00010      EXIT.                                                        MAST3IO1
00011 *                                                                 MAST3IO1
00012  CON-CLOSE.                                                       MAST3IO1
00013      CLOSE MAST3.                                                 MAST3IO1
00014  CON-CLOSE-XIT.                                                   MAST3IO1
00015      EXIT.                                                        MAST3IO1
00016 ******************************************************************MAST3IO1
00017 ******************************************************************MAST3IO1
00018 *    READ CONTROL FILE AND PERFORM REQUESTED FUNCTION             MAST3IO1
00019 ******************************************************************MAST3IO1
00020 ******************************************************************MAST3IO1
00021  CON-READ.                                                        MAST3IO1
00022      MOVE ZERO TO CON-RETURN-CODE.                                MAST3IO1
00023      IF CON-ENTRY-FUNCTION EQUAL TO "F"                           MAST3IO1
00024          GO TO CF0400-CON-FIRST-FLD.                              MAST3IO1
00025      IF CON-ENTRY-FUNCTION EQUAL TO "N"                           MAST3IO1
00026          GO TO CF0500-CON-NEXT-FLD.                               MAST3IO1
00027      IF CON-ENTRY-FUNCTION EQUAL TO "E" OR "C"                    MAST3IO1
00028          GO TO CF0600-CON-UNIQUE-FLD.                             MAST3IO1
00029      IF CON-ENTRY-FUNCTION EQUAL TO "1"                           MAST3IO1
00030          GO TO CF0100-CON-CLIENT.                                 MAST3IO1
00031      IF CON-ENTRY-FUNCTION EQUAL TO "2"                           MAST3IO1
00032          GO TO CF0200-CON-PW.                                     MAST3IO1
00033      IF CON-ENTRY-FUNCTION EQUAL TO "3"                           MAST3IO1
00034          GO TO CF0250-CON-ENTRY.                                  MAST3IO1
00035      IF CON-ENTRY-FUNCTION EQUAL TO "4"                           MAST3IO1
00036          GO TO CF0300-CON-CAT.                                    MAST3IO1
           MOVE "9" TO CON-RETURN-CODE
00038      GO TO CON-READ-XIT.                                          MAST3IO1
00039 *                                                                 MAST3IO1
00040 *    READ CLIENT RECORD-1ST ON FILE                               MAST3IO1
00041 *                                                                 MAST3IO1
00042  CF0100-CON-CLIENT.                                               MAST3IO1
           MOVE 1 TO CON-KEY. 
00044  CF0150-CON-GET.                                                  MAST3IO1
00045      READ MAST3 INVALID KEY                                       MAST3IO1
00046          GO TO CF0900-CON-BAD.                                    MAST3IO1
00047      GO TO CON-READ-XIT.                                          MAST3IO1
00048 *                                                                 MAST3IO1
00049 *    READ PASSWORD RECORD-2ND ON FILE                             MAST3IO1
00050 *                                                                 MAST3IO1
00051  CF0200-CON-PW.                                                   MAST3IO1
           MOVE 2 TO CON-KEY. 
00053      GO TO CF0150-CON-GET.                                        MAST3IO1
00054 *                                                                 MAST3IO1
00055 *     READ ENTRY DEFINITION RECORD - 3RD OF FILE                  MAST3IO1
00056 *                                                                 MAST3IO1
00057  CF0250-CON-ENTRY.                                                MAST3IO1
           MOVE 3 TO CON-KEY. 
00059      GO TO CF0150-CON-GET.                                        MAST3IO1
00060 *                                                                 MAST3IO1
00061 *    READ CATEGORY RECORD-4TH OF FILE                             MAST3IO1
00062 *                                                                 MAST3IO1
00063  CF0300-CON-CAT.                                                  MAST3IO1
           MOVE 4 TO CON-KEY. 
00065      GO TO CF0150-CON-GET.                                        MAST3IO1
00066 *                                                                 MAST3IO1
00067 *    READ FIRST FIELD DEFINITION RECORD- 5TH OF FILE              MAST3IO1
00068 *                                                                 MAST3IO1
00069  CF0400-CON-FIRST-FLD.                                            MAST3IO1
           MOVE 5 TO CON-KEY. 
00071      READ MAST3  INVALID KEY                                      MAST3IO1
00072          GO TO CF0900-CON-BAD.                                    MAST3IO1
00073      MOVE CON-KEY TO CON-KEY-LAST.                                MAST3IO1
00074      MOVE CTL-FLD-ENTRY-TYPE TO CON-ENTTYPE-LAST.                 MAST3IO1
00075      IF CON-ENTRY-FUNCTION EQUAL TO "E" OR "C"                    MAST3IO1
00076          GO TO CF0610-CON-CKTYPE.                                 MAST3IO1
00077      GO TO CON-READ-XIT.                                          MAST3IO1
00078 *                                                                 MAST3IO1
00079 *    READ NEXT FIELD DEFINITION RECORD-                           MAST3IO1
00080 *                                                                 MAST3IO1
00081  CF0500-CON-NEXT-FLD.                                             MAST3IO1
00082      ADD 1 TO CON-KEY-LAST.                                       MAST3IO1
00083      MOVE CON-KEY-LAST TO CON-KEY.                                MAST3IO1
00084      READ MAST3 INVALID KEY                                       MAST3IO1
00085          GO TO CF0800-NOMORE.                                     MAST3IO1
00086      IF CTL-FLD-ENTRY-TYPE EQUAL TO ZEROES   OR SPACES            MAST3IO1
00087          GO TO CF0800-NOMORE.                                     MAST3IO1
00088      IF CON-ENTRY-FUNCTION EQUAL TO "E" OR "C"                    MAST3IO1
00089          GO TO CF0610-CON-CKTYPE.                                 MAST3IO1
00090      IF CTL-FLD-ENTRY-TYPE EQUAL TO CON-ENTTYPE-LAST              MAST3IO1
00091          GO TO CON-READ-XIT.                                      MAST3IO1
00092      MOVE CTL-FLD-ENTRY-TYPE TO CON-ENTTYPE-LAST.                 MAST3IO1
           MOVE "1" TO CON-RETURN-CODE. 
00094      GO TO CON-READ-XIT.                                          MAST3IO1
00095 *                                                                 MAST3IO1
00096 *   READ UNIQUE FIELD DEF REC (BASED ON ENTRY TYPE AND CATEGORY   MAST3IO1
00097 *                                                                 MAST3IO1
00098   CF0600-CON-UNIQUE-FLD.                                          MAST3IO1
00099      GO TO CF0400-CON-FIRST-FLD.                                  MAST3IO1
00100   CF0610-CON-CKTYPE.                                              MAST3IO1
00101      IF CON-ENTRY-TYPE EQUAL TO CTL-FLD-ENTRY-TYPE                MAST3IO1
00102          GO TO CF0700-CON-CKCAT.                                  MAST3IO1
00103   CF0630-CON-NEXT2.                                               MAST3IO1
00104      GO TO CF0500-CON-NEXT-FLD.                                   MAST3IO1
00105 *   CHECK MATCH ON CATEGORY                                       MAST3IO1
00106   CF0700-CON-CKCAT.                                               MAST3IO1
00107      MOVE CTL-FLD-ENTRY-TYPE TO CON-ENTTYPE-LAST.                 MAST3IO1
00108      IF CON-ENTRY-FUNCTION EQUAL TO "E"                           MAST3IO1
00109          GO TO CON-READ-XIT.                                      MAST3IO1
00110      IF CON-ENTRY-CAT EQUAL TO CTL-FLD-CATEGORY                   MAST3IO1
00111          GO TO CON-READ-XIT.                                      MAST3IO1
00112      GO TO CF0630-CON-NEXT2.                                      MAST3IO1
00113  CF0800-NOMORE.                                                   MAST3IO1
           MOVE "3" TO CON-RETURN-CODE. 
00115      GO TO CON-READ-XIT.                                          MAST3IO1
00116   CF0900-CON-BAD.                                                 MAST3IO1
           MOVE "9" TO CON-RETURN-CODE. 
00118   CON-READ-XIT.                                                   MAST3IO1
00119      EXIT.                                                        MAST3IO1
