Professional Documents
Culture Documents
BMS:- PROG1
-----------------------------------
NOTE:- In order to define color for any we have to def color = default or mapatts = color
COBOL CODING:-
-------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. BMS2COMP.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY YEZDAN.
01 MSG-TXT PIC X(2).
01 MSG-LEN PIC S9(4) COMP.
77 A PIC X(10).
77 B PIC 9(2).
PROCEDURE DIVISION.
MAIN1.
EXEC CICS SEND CONTROL
ERASE
END-EXEC.
EXEC CICS SEND
MAPSET('YEZDAN')
MAP('AMEER')
END-EXEC.
EXEC CICS RECEIVE
MAPSET('YEZDAN')
MAP('AMEER')
END-EXEC.
MOVE ENTNAMEI TO A.
MOVE ENTNOI TO B.
MOVE 'HI' TO MSG-TXT.
MOVE 2 TO MSG-LEN.
MOVE MSG-TXT TO RESO.
EXEC CICS SEND
MAPSET('YEZDAN')
MAP('AMEER')
END-EXEC.
EXEC CICS RETURN
END-EXEC.
-------------------------------------
BMS:- PROG2
--------------------------------------
COBOL CODING:
------------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. BMSCOB1.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY KIRAN.
77 A PIC 9(2).
77 B PIC 9(2).
77 C PIC 9(3).
PROCEDURE DIVISION.
MAIN.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
ERASE
END-EXEC.
EXEC CICS SEND CONTROL ERASE
END-EXEC.
EXEC CICS RECEIVE
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
MOVE ENTERAI TO A.
MOVE ENTERBI TO B.
COMPUTE C = A + B.
MOVE C TO RESULTO.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
EXEC CICS RETURN
END-EXEC.
-------------------------------
PROG1 : - BMS USING HANDLE AID
------------------------------
MAP
----
COBOL PGM
---------------
IDENTIFICATION DIVISION.
PROGRAM-ID. CICCAL.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY CALMAP.
01 N1 PIC 9(3).
01 N2 PIC 9(3).
01 R1 PIC 9(4).
77 WS-LEN PIC S9(4) COMP.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM SEND-PARA.
PERFORM HAND-PARA.
PERFORM RECEIVE-PARA.
PERFORM SEND1-PARA.
PERFORM EXIT-PARA.
SEND-PARA.
EXEC CICS SEND
MAP('CICMAP')
MAPSET('CALMAP')
ERASE
END-EXEC.
RECEIVE-PARA.
EXEC CICS RECEIVE
MAP('CICMAP')
MAPSET('CALMAP')
END-EXEC.
HAND-PARA.
EXEC CICS HANDLE AID
PF1(ADD-PARA)
PF2(SUB-PARA)
PF3(MUL-PARA)
PF4(DIV-PARA)
END-EXEC.
SEND1-PARA.
EXEC CICS SEND
MAP('CICMAP')
MAPSET('CALMAP')
END-EXEC.
GO TO MAIN-PARA.
ADD-PARA.
MOVE NUM1I TO N1.
MOVE NUM2I TO N2.
COMPUTE R1 = N1 + N2.
MOVE R1 TO RESO.
GO TO SEND1-PARA.
DIV-PARA.
MOVE NUM1I TO N1.
MOVE NUM2I TO N2.
COMPUTE R1 = N1 / N2.
MOVE R1 TO RESO.
GO TO SEND1-PARA.
MUL-PARA.
MOVE NUM1I TO N1.
MOVE NUM1I TO N1.
MOVE NUM2I TO N2.
COMPUTE R1 = N1 * N2.
MOVE R1 TO RESO.
GO TO SEND1-PARA.
SUB-PARA.
MOVE NUM1I TO N1.
MOVE NUM2I TO N2.
COMPUTE R1 = N1 - N2.
MOVE R1 TO RESO.
GO TO SEND1-PARA.
EXIT-PARA.
EXEC CICS RETURN
END-EXEC.
---------------------------------------------
LINK AND XCTL USING BMS
----------------------------------------------
XCTL:- MAIN1
--------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. XCTL1.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY KIRAN.
01 WS-COMM.
05 A PIC 9(2).
05 B PIC 99.
05 C PIC 999.
PROCEDURE DIVISION.
MAIN1.
EXEC CICS SEND CONTROL
ERASE
END-EXEC.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
EXEC CICS RECEIVE
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
MOVE ENTERAI TO A.
MOVE ENTERBI TO B.
EXEC CICS XCTL
PROGRAM('XCTLSUB')
COMMAREA(WS-COMM)
END-EXEC.
XCTLSUB:
-------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. XCTLSUB.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY KIRAN.
LINKAGE SECTION.
01 DFHCOMMAREA.
05 X PIC 99.
05 Y PIC 99.
05 Z PIC 9(3).
PROCEDURE DIVISION.
MAIN2.
COMPUTE Z = X + Y.
MOVE Z TO RESULTO.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
EXEC CICS RETURN
END-EXEC.
IDENTIFICATION DIVISION.
PROGRAM-ID. XCTL2.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY YEZDAN.
01 WS-COMMA.
02 A PIC X(10).
02 B PIC 9(8).
02 C PIC X(2).
01 WS-LEN PIC S9(4) COMP.
PROCEDURE DIVISION.
PARA.
EXEC CICS SEND CONTROL
ERASE
END-EXEC.
EXEC CICS SEND
MAPSET('YEZDAN')
MAP('AMEER')
END-EXEC.
EXEC CICS RECEIVE
MAPSET('YEZDAN')
MAP('AMEER')
END-EXEC.
MOVE ENTNAMEI TO A.
MOVE ENTNOI TO B.
MOVE 20 TO WS-LEN.
EXEC CICS LINK
PROGRAM('XCTLSUB1')
COMMAREA(WS-COMMA)
LENGTH(WS-LEN)
END-EXEC.
MOVE C TO RESO.
EXEC CICS SEND
MAPSET('YEZDAN')
MAP('AMEER')
END-EXEC.
EXEC CICS RETURN
END-EXEC.
SUB PGM
--------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. XCTLSUB1.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 NAME PIC X(10).
77 D PIC X(2).
LINKAGE SECTION.
01 DFHCOMMAREA.
02 X PIC X(10).
02 Y PIC 9(8).
02 Z PIC XX.
PROCEDURE DIVISION.
MAIN1.
MOVE X TO NAME.
IF NAME = 'KIRANKUMAR'
MOVE 'HI' TO D
ELSE
MOVE 'NO' TO D.
MOVE D TO Z.
EXEC CICS RETURN
END-EXEC.
----------------------------------------------------------
PSEUDO CONVERSATION TECHNIQUE :-
----------------------------------------------------------
PGM1: -
----------
IDENTIFICATION DIVISION.
PROGRAM-ID. PSEUDO1.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY KIRAN.
PROCEDURE DIVISION.
MAINP.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
EXEC CICS RETURN
TRANSID('TT2')
END-EXEC.
PGM2: -
----------
IDENTIFICATION DIVISION.
PROGRAM-ID. PSEUDO11.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC 9(2).
01 B PIC 9(2).
01 C PIC 9(3).
COPY KIRAN.
PROCEDURE DIVISION.
MAIN1.
EXEC CICS RECEIVE
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
MOVE NUM1I TO A.
MOVE NUM2I TO B.
COMPUTE C = A + B.
MOVE C TO RESO.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
EXEC CICS RETURN
END-EXEC.
IDENTIFICATION DIVISION.
PROGRAM-ID. PSEUDO1.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY KIRAN.
77 A PIC 9(2).
77 B PIC 9(2).
77 C PIC 9(3).
PROCEDURE DIVISION.
MAIN2.
IF EIBTRNID = 'KI1'
PERFORM PARA1.
IF EIBTRNID = 'KI2'
PERFORM PARA2.
PARA1.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
EXEC CICS RETURN
TRANSID('KI2')
END-EXEC.
PARA2.
EXEC CICS RECEIVE
MAP('KUMAR')
MAPSET('KIRAN')
END-EXEC.
MOVE NUM1I TO A.
MOVE NUM2I TO B.
COMPUTE C = A + B.
MOVE C TO RESO.
EXEC CICS SEND
MAP('KUMAR')
MAPSET('KIRAN')
END-EXEC.
EXEC CICS RETURN
END-EXEC.
IDENTIFICATION DIVISION.
PROGRAM-ID. KIRAN.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY KIRAN.
01 WS-COMMAREA.
05 WS-TRANSID PIC X(4).
01 A PIC 9(2).
01 B PIC 9(2).
01 C PIC 9(3).
LINKAGE SECTION.
01 DFHCOMMAREA.
05 DFHTRANSID PIC X(4).
PROCEDURE DIVISION.
MAIN3.
IF EIBCALEN = 0
PERFORM PARA1
ELSE IF EIBCALEN NOT = 0
PERFORM PARA2.
PARA1.
EXEC CICS SEND
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
EXEC CICS RETURN
TRANSID('LL3')
COMMAREA(WS-COMMAREA)
END-EXEC.
PARA2.
EXEC CICS RECEIVE
MAPSET('KIRAN')
MAP('KUMAR')
END-EXEC.
MOVE NUM1I TO A.
MOVE NUM2I TO B.
COMPUTE C = A + B.
MOVE C TO RESO.
EXEC CICS SEND
MAP('KUMAR')
MAPSET('KIRAN')
END-EXEC.
EXEC CICS RETURN
END-EXEC.