Professional Documents
Culture Documents
PROGAC13
PROGAC13
* 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).
*
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.