You are on page 1of 3

***************************************************************** * PROJECT NAME ADD RECORD INTO FILE * ***************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. ADD1. DATA DIVISION.

WORKING-STORAGE SECTION. 77 WS-MESSAGE PIC A(46). 77 WS-TIMEST PIC S9(15) COMP-3. 77 WS-DATE PIC X(10). 77 WS-TIME PIC X(10). 77 WS-COMAREA PIC X(4). 77 WS-TEXT PIC X(8) VALUE "THANKS". 01 RETURN-CASE PIC A VALUE 'Y'. 88 RETURN-WITH-ID VALUE 'Y'. 01 SEND-CASE PIC X. 88 SEND-INITIAL VALUE 'I'. 88 SEND-DATA VALUE 'D'. 88 SEND-ALERT VALUE 'A'. 88 SEND-EXIT VALUE 'E'. 01 INFILE. 02 EMPID PIC X(8). 02 FILLER PIC X(7). 02 NAME. 03 FNAME PIC A(10). 03 FILLER PIC X(7). 03 LNAME PIC A(10). 02 FILLER PIC X(7). 02 DEPTNO PIC 9(6). 02 FILLER PIC X(7). 02 PANNO PIC 9(10). 02 FILLER PIC X(8). COPY MAPADD1. COPY DFHBMSCA. COPY DFHAID. 77 WS-RESP PIC S9(8) COMP. LINKAGE SECTION. 01 DFHCOMMAREA PIC X(4). PROCEDURE DIVISION. MAIN-PARA. EVALUATE TRUE WHEN EIBCALEN = 0 MOVE 'I' TO SEND-CASE WHEN EIBAID = DFHPF3 MOVE 'E' TO SEND-CASE MOVE 'N' TO RETURN-CASE WHEN EIBAID = DFHENTER PERFORM RECEIVE-MAP PERFORM VALIDAT-PARA IF SEND-CASE = 'D' PERFORM MOVE-PARA PERFORM WRITE-PARA END-IF WHEN OTHER MOVE 'WRONG KEY PRESSED' TO WS-MESSAGE MOVE 'A' TO SEND-CASE END-EVALUATE PERFORM SEND-PARA PERFORM RETURN-PARA. TIME-PARA.

EXEC CICS ASKTIME ABSTIME(WS-TIMEST) END-EXEC EXEC CICS FORMAT ABSTIME(WS-TIMEST) DDMMYY(WS-DATE) DATESEP('/') END-EXEC EXEC CICS FORMAT ABSTIME(WS-TIMEST) TIME(WS-TIME) TIMESEP(':') END-EXEC MOVE WS-TIME TO TIME1O MOVE WS-DATE TO DATE1O. SEND-PARA. EVALUATE TRUE WHEN SEND-INITIAL MOVE LOW-VALUES TO MAPADD1O PERFORM TIME-PARA MOVE 'SSA1' TO TRANSO EXEC CICS SEND MAP('MAPADD1') MAPSET('MAPADD1') FROM(MAPADD1O) ERASE END-EXEC WHEN SEND-DATA MOVE WS-MESSAGE TO MESG1O PERFORM TIME-PARA EXEC CICS SEND MAP('MAPADD1') MAPSET('MAPADD1') FROM(MAPADD1O) END-EXEC WHEN SEND-ALERT MOVE WS-MESSAGE TO MESG1O PERFORM TIME-PARA EXEC CICS SEND MAP('MAPADD1') MAPSET('MAPADD1') FROM(MAPADD1O) ALARM END-EXEC WHEN SEND-EXIT EXEC CICS SEND TEXT FROM(WS-TEXT) ERASE FREEKB END-EXEC END-EVALUATE. RECEIVE-MAP. MOVE LOW-VALUES TO MAPADD1I EXEC CICS RECEIVE MAP('MAPADD1') MAPSET('MAPADD1') INTO(MAPADD1I) END-EXEC. WRITE-PARA.

EXEC CICS WRITE FILE('EMPFILE') FROM(INFILE) RIDFLD(EMPID) END-EXEC. RETURN-PARA. EVALUATE TRUE WHEN RETURN-WITH-ID EXEC CICS RETURN TRANSID('SSA1') COMMAREA(WS-COMAREA) END-EXEC WHEN OTHER EXEC CICS RETURN END-EXEC END-EVALUATE. VALIDAT-PARA. EVALUATE TRUE WHEN EMP1L > 8 OR EMP1I = SPACE MOVE 'PLEASE ENTER VALID EMPID' TO WS-MESSAGE MOVE 'A' TO SEND-CASE WHEN FNAME1L = 0 OR FNAME1I = SPACE MOVE 'PLEASE ENTER FNAME' TO WS-MESSAGE MOVE 'A' TO SEND-CASE WHEN LNAME1L = 0 OR LNAME1I = SPACE MOVE 'PLEASE ENTER LNAME' TO WS-MESSAGE MOVE 'A' TO SEND-CASE WHEN DEPT1L NOT= 5 OR DEPT1I = SPACE MOVE 'PLEASE ENTER VALID DEPTNO' TO WS-MESSAGE MOVE 'A' TO SEND-CASE WHEN PANNO1L > 10 OR PANNO1I = SPACE MOVE 'PLEASE ENTER PANNO' TO WS-MESSAGE MOVE 'A' TO SEND-CASE WHEN OTHER MOVE 'D' TO SEND-CASE END-EVALUATE. MOVE-PARA. MOVE LOW-VALUES TO INFILE MOVE EMP1I TO EMPID MOVE FNAME1I TO FNAME MOVE LNAME1I TO LNAME MOVE DEPT1I TO DEPTNO MOVE PANNO1I TO PANNO.

You might also like