0001.00 IDENTIFICATION DIVISION. 0002.00 PROGRAM-ID. CUSMINQY. 0003.00 ENVIRONMENT DIVISION. 0004.00 INPUT-OUTPUT SECTION. 0005.00 FILE-CONTROL. 0006.00 SELECT CUSTOMER-FILE 0007.00 ASSIGN TO DATABASE-CUSMSTP 0008.00 ORGANIZATION IS INDEXED 0009.00 ACCESS MODE IS RANDOM 0010.00 RECORD KEY IS EXTERNALLY-DESCRIBED-KEY 0011.00 FILE STATUS IS WS-CUS-FILE-STATUS. 0012.00 0013.00 SELECT CUSTOMER-SCREEN-FILE 0014.00 ASSIGN TO WORKSTATION-CUSMINQ-SI 0015.00 ORGANIZATION IS TRANSACTION 0015.01 ACCESS IS SEQUENTIAL 0016.00 FILE STATUS IS WS-CUS-SCREEN-FILE-STATUS 0017.00 CONTROL-AREA IS WS-SCREEN-CONTROL-AREA. 0018.00 0019.00 DATA DIVISION. 0020.00 FILE SECTION. 0021.00 FD CUSTOMER-FILE 0022.00 LABEL RECORDS ARE STANDARD. 0023.00 01 CUSTOMER-RECORD. 0024.00 COPY DD-ALL-FORMATS OF CUSMSTP. 0025.00 0026.00 FD CUSTOMER-SCREEN-FILE 0027.00 LABEL RECORDS ARE OMITTED. 0028.00 01 DISPLAY-RECORD. 0029.00 COPY DDS-ALL-FORMATS OF CUSMINQ. 0030.00 0031.00 WORKING-STORAGE SECTION. 0032.00 01 WS-FILE-STATUS. 0033.00 05 WS-CUS-FILE-STATUS PIC X(2) VALUE '00'. 0034.00 05 WS-CUS-SCREEN-FILE-STATUS PIC X(2) VALUE '00'. 0034.01 0035.00 01 WS-SCREEN-CONTROL-AREA. 0036.00 05 WS-KEY-PRESSED PIC X(2). 0039.00 88 FUNCTION-KEY03 VALUE "03". 0039.04 0040.00 01 WS-SCREEN-INDICATORS. 0041.00 05 WS-SCR-INDICATOR PIC 1 OCCURS 99 TIMES INDICATOR 1. 0042.00 88 INDICATOR-OFF VALUE B"0". 0043.00 88 INDICATOR-ON VALUE B"1". 0043.01 0044.00 01 WS-INDICATORS-USED. 0045.00 05 INVALID-CUSNO PIC 9(2) VALUE 21. 0045.01 0047.00 01 WS10-ABEND-VARIABLES. 0048.00 05 WS10-PROGRAM-NAME PIC X(9) VALUE 'CUSMINQY'. 0049.00 05 WS10-FILE-STATUS PIC X(2) VALUE SPACES. 0050.00 05 WS10-ERROR-MESSAGE PIC X(80) VALUE SPACES. 0050.01 0050.02 01 WORK-FIELDS. 0050.03 05 WS-CHECK PIC X(1) VALUE 'N'. 0050.05 0051.00 PROCEDURE DIVISION. 0052.00 0000-START. 0053.00 PERFORM 1000-INITIALISATION. 0054.00 PERFORM 2000-MAIN-PROCESSING 0055.00 UNTIL FUNCTION-KEY03. 0056.00 PERFORM 3000-TERMINATION-PROCESS. 0057.00 0000-EXIT. 0058.00 STOP RUN. 0059.00 *-------------------------------------* 0060.00 1000-INITIALISATION. 0061.00 PERFORM 1100-OPEN-FILE. 0062.00 INITIALIZE WS-SCREEN-INDICATORS. 0063.00 INITIALIZE WS-KEY-PRESSED. 0064.00 INITIALIZE CUSPMT-I. 0065.00 PERFORM 1200-DISPLAY-HEADER. 0066.00 *-------------------------------------------------------------* 0067.00 * THIS SECTION WILL BE USED TO OPEN THE FILES * 0068.00 * USED IN THIS PROGRAM. * 0069.00 *-------------------------------------------------------------* 0070.00 1100-OPEN-FILE. 0071.00 OPEN INPUT CUSTOMER-FILE. 0072.00 EVALUATE WS-CUS-FILE-STATUS 0073.00 WHEN '00' 0074.00 CONTINUE 0075.00 WHEN OTHER 0076.00 MOVE WS-CUS-FILE-STATUS TO WS10-FILE-STATUS 0077.00 MOVE 'ERROR IN OPENING CUS FILE' TO WS10-ERROR-MESSAGE 0078.00 PERFORM Z200-FILE-ABEND-PROCESS 0079.00 END-EVALUATE. 0080.00 0081.00 OPEN I-O CUSTOMER-SCREEN-FILE. 0082.00 EVALUATE WS-CUS-SCREEN-FILE-STATUS 0083.00 WHEN '00' 0084.00 CONTINUE 0085.00 WHEN OTHER 0086.00 MOVE WS-CUS-SCREEN-FILE-STATUS TO WS10-FILE-STATUS 0087.00 MOVE 'ERROR IN OPENING CUS SCREEN FILE' 0088.00 TO WS10-ERROR-MESSAGE 0089.00 PERFORM Z200-FILE-ABEND-PROCESS 0090.00 END-EVALUATE. 0091.00 *--------------------------------------------------------* 0092.00 * THIS SECTION WILL DISPLAY THE EMPLOYEE ADD SCREEN * 0093.00 *--------------------------------------------------------* 0094.00 1200-DISPLAY-HEADER. 0095.00 WRITE DISPLAY-RECORD 0096.00 FORMAT IS "CUSPMT" 0097.00 INDICATORS ARE WS-SCREEN-INDICATORS. 0098.00 READ CUSTOMER-SCREEN-FILE 0098.01 FORMAT IS "CUSPMT" 0099.00 INDICATORS ARE WS-SCREEN-INDICATORS. 0100.00 *--------------------------------------------------------* 0101.00 * DISPLAY THE EMP SCREEN UNTI F03 KEY IS PRESSED * 0102.00 *--------------------------------------------------------* 0103.00 2000-MAIN-PROCESSING. 0103.01 MOVE CUST OF CUSPMT-I TO CUST OF CUSMST. 0103.02 READ CUSTOMER-FILE 0103.03 INVALID KEY 0103.04 SET INDICATOR-ON(INVALID-CUSNO) TO TRUE 0103.05 PERFORM 2200-DISPLAY-HEADER 0103.13 NOT INVALID KEY 0103.14 MOVE 'Y' TO WS-CHECK 0103.15 PERFORM 2100-WRITE-SCREEN-RECORD 0103.21 END-READ. 0120.00 *********************************************************** 0121.00 *---------------------------------------------------------* 0122.00 * THIS WILL CHECK THE EMP NO IS BLANK AND ALSO * 0123.00 * IF THE RECORD ALREADY PRESENT IN DATA BASE * 0124.00 *---------------------------------------------------------* 0124.01 2100-WRITE-SCREEN-RECORD. 0124.03 MOVE NAME OF CUSMST TO NAME OF CUSFLDS-O. 0124.04 MOVE CITY OF CUSMST TO CITY OF CUSFLDS-O. 0124.05 MOVE STATE OF CUSMST TO STATE OF CUSFLDS-O. 0124.06 MOVE ADDR OF CUSMST TO ADDR OF CUSFLDS-O. 0124.07 MOVE CUST OF CUSMST TO CUST OF CUSFLDS-O. 0124.08 WRITE DISPLAY-RECORD 0124.09 FORMAT IS "CUSFLDS" 0124.10 INDICATORS ARE WS-SCREEN-INDICATORS. 0124.11 READ CUSTOMER-SCREEN-FILE. 0135.00 *--------------------------------------------------------* 0135.01 2200-DISPLAY-HEADER. 0135.02 INITIALIZE CUSPMT-I. 0135.04 WRITE DISPLAY-RECORD 0135.05 FORMAT IS "CUSPMT" 0135.06 INDICATORS ARE WS-SCREEN-INDICATORS. 0135.07 READ CUSTOMER-SCREEN-FILE 0135.08 FORMAT IS "CUSPMT". 0136.00 Z200-FILE-ABEND-PROCESS. 0137.00 DISPLAY 'PROGRAM NAME :' WS10-PROGRAM-NAME. 0138.00 DISPLAY 'FILE STATUS :' WS10-FILE-STATUS. 0139.00 DISPLAY 'ERROR MESSAGE :' WS10-ERROR-MESSAGE. 0140.00 3000-TERMINATION-PROCESS. 0141.00 CLOSE CUSTOMER-FILE. 0142.00 CLOSE CUSTOMER-SCREEN-FILE.