You are on page 1of 2

IDENTIFICATION DIVISION.

PROGRAM-ID. ZCT00511.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NUM1 PIC 9(2).
01 WS-NUM2 PIC 9(2).
01 WS-RES PIC 9(2).
01 WS-COMMAREA PIC X(10).
COPY ZCT0511.
COPY DFHBMSCA.
LINKAGE SECTION.
01 DFHCOMMAREA PIC X(10).
PROCEDURE DIVISION.
A000-MAIN-PARA.
MOVE DFHCOMMAREA TO WS-COMMAREA
IF EIBCALEN=0 THEN
MOVE LOW-VALUES TO ADDMAPO
MOVE 'FIRST' TO WS-COMMAREA
PERFORM A001-SEND-MAP-PARA
PERFORM A002-RETURN-MAP-PARA
ELSE
PERFORM A003-RECEV-MAP-PARA
PERFORM A004-CALC-MAP-PARA
PERFORM A006-SEND-MAP-PARA
PERFORM A005-EXIT-MAP-PARA
END-IF.

A001-SEND-MAP-PARA.
EXEC CICS SEND
MAP('ADDMAP')
MAPSET('ZCT0511')
FREEKB
ERASE
END-EXEC.
PERFORM CICS-RESPONSE-PARA.

A002-RETURN-MAP-PARA.
EXEC CICS RETURN
TRANSID('ZT51')
COMMAREA(WS-COMMAREA)
LENGTH(10)
END-EXEC.
PERFORM CICS-RESPONSE-PARA.

A003-RECEV-MAP-PARA.
EXEC CICS RECEIVE
MAP('ADDMAP')
MAPSET('ZCT0511')
END-EXEC.
PERFORM CICS-RESPONSE-PARA.

A004-CALC-MAP-PARA.
MOVE NUM1I TO WS-NUM1
MOVE NUM2I TO WS-NUM2
COMPUTE WS-RES = WS-NUM1 + WS-NUM2.
A006-SEND-MAP-PARA.
MOVE WS-RES TO SUMO
MOVE DFHPROTI TO SUMA
MOVE DFHBLUE TO SUMC
MOVE 'RESULT DISPLAYED' TO CHOICEO
EXEC CICS SEND
MAP('ADDMAP')
MAPSET('ZCT0511')
FREEKB
ERASE
END-EXEC.
PERFORM CICS-RESPONSE-PARA.

A005-EXIT-MAP-PARA.
EXEC CICS RETURN
END-EXEC.
PERFORM CICS-RESPONSE-PARA.

CICS-RESPONSE-PARA.

MOVE SPACES TO WS-ERROR-DESC


MOVE 'Y' TO WS-ERR-FLAG
EVALUATE WS-CICS-RESP
WHEN DFHRESP(NORMAL)
MOVE 'N' TO WS-ERR-FLAG
WHEN DFHRESP(FILENOTFOUND)
MOVE 'DATASET ID ERROR' TO WS-ERROR-DESC
WHEN DFHRESP(INVREQ)
MOVE 'INVALID REQUEST ERROR' TO WS-ERROR-DESC
WHEN DFHRESP(IOERR)
MOVE 'IOERROR OCCURED' TO WS-ERROR-DESC
WHEN DFHRESP(LENGERR)
MOVE 'LENGTH ERROR' TO WS-ERROR-DESC
WHEN DFHRESP(NOTAUTH)
MOVE 'NOT AUTHORIZED ERROR' TO WS-ERROR-DESC
WHEN DFHRESP(NOSPACE)
MOVE 'DATASET IS FULL' TO WS-ERROR-DESC
WHEN DFHRESP(NOTFND)
MOVE 'RECORD NOT FOUND' TO WS-ERROR-DESC
WHEN DFHRESP(NOTOPEN)
MOVE 'DATASET IS CLOSED' TO WS-ERROR-DESC
WHEN DFHRESP(QIDERR)
MOVE 'TS QIDERR' TO WS-ERROR-DESC
WHEN OTHER
MOVE 'UNDEFINED CICS ERROR' TO WS-ERROR-DESC
END-EVALUATE
IF WS-ERR-FLAG = 'Y'
MOVE WS-ERROR-DESC TO MSG1O
PERFORM A001-SEND-MAP-PARA.
PERFORM A005-EXIT-MAP-PARA.
END-IF.
CICS-RESPONSE-EXIT.
EXIT.

You might also like