You are on page 1of 2

*

* THIS IS SAMPLE PROGARAM FOR ADDING TWO NUMBER WITH BMS I/O DATA
*
IDENTIFICATION DIVISION.
PROGRAM-ID. ADDPGMC.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-NO1 PIC 9(2) VALUE 0.
77 WS-NO2 PIC 9(2) VALUE 0.
77 WS-RES PIC -Z(3).

77 WS-COMM PIC X(4).


77 WS-LEN PIC S9(4) COMP.

* THIS IS FOR INCLUDE THE SYMBOLIC MAP FROM COPYLIB


*
COPY MAPAC11.
*
*
* THIS IS FOR INCLUDE THE AID KEY'S (EIBAID)
*
COPY DFHAID.
*

*
PROCEDURE DIVISION.
MAIN-PARA.
EXEC CICS HANDLE CONDITION
MAPFAIL(0001-MF-PARA)
ERROR(0002-GERR-PARA)
END-EXEC.
IF EIBCALEN = 0
MOVE LOW-VALUES TO ADDM1O
MOVE 'ENTER NO1, NO2 .....' TO MSGO
PERFORM 1000-SEND-MAP-PARA
ELSE
PERFORM 2000-RECEIVE-MAP-PARA
PERFORM 3000-KEY-CHK-PARA
END-IF.
MOVE 'SUB PGM OVER PRESS <PAUSE> KEY .....' TO MSGO.
PERFORM 4000-SEND-MAP-EXIT-PARA.

1000-SEND-MAP-PARA.
EXEC CICS SEND
MAP('ADDM1')
MAPSET('MAPAC11')
ERASE
END-EXEC.
MOVE 4 TO WS-LEN.
MOVE 'ABCD' TO WS-COMM.
EXEC CICS RETURN
TRANSID('AC13')
COMMAREA(WS-COMM)
LENGTH(WS-LEN)
END-EXEC.
2000-RECEIVE-MAP-PARA.
EXEC CICS RECEIVE
MAP('ADDM1')
MAPSET('MAPAC11')
END-EXEC.
3000-KEY-CHK-PARA.
IF EIBAID = DFHPF10 OR DFHENTER
MOVE NO1I TO WS-NO1
MOVE NO2I TO WS-NO2
COMPUTE WS-RES = WS-NO1 - WS-NO2
MOVE WS-RES TO RESO
MOVE 'SUB OVER... ENTER NEW NO1, NO2 ....' TO MSGO
PERFORM 1000-SEND-MAP-PARA
ELSE IF EIBAID = DFHPF3
MOVE 'SUB PGM OVER PRESS <PAUSE> KEY .....' TO MSGO
PERFORM 4000-SEND-MAP-EXIT-PARA
ELSE
MOVE 'INVALID KEY PRESS <PAUSE> KEY .....' TO MSGO
PERFORM 4000-SEND-MAP-EXIT-PARA
END-IF
END-IF.

0001-MF-PARA.
MOVE 'FIELD VALUES NOT MODIFIED PRESS <PAUSE> KEY '
TO MSGO.
PERFORM 4000-SEND-MAP-EXIT-PARA.
0002-GERR-PARA.
MOVE 'SOME ERROR IN SUB PGM PRESS <PAUSE> KEY '
TO MSGO.
PERFORM 4000-SEND-MAP-EXIT-PARA.
4000-SEND-MAP-EXIT-PARA.
EXEC CICS SEND
MAP('ADDM1')
MAPSET('MAPAC11')
ERASE
END-EXEC.
EXEC CICS RETURN
END-EXEC.

You might also like