We need to invoke CICS transaction in mainframe and control the same transaction in JAVA using client server model. The transaction we need to invoke has MAP so to simulate MAP we are using Link3270 bridge.
The step we followed are as below.
• Java program call’s DB2 supplied stored procedure DSANCICS to invoke Link3270 bridge program. DSNACICS uses SYNC OPTION = 1 which means it says to server program that it take control of transaction. Server program should not issue any COMMIT or SYNCPOINT .
• Link3270 simulate 3270 terminal fields and invoke CICS transaction.
• CICS transaction is started and it completed the task and transaction ends.
• Even though there is no explicit COMMIT or SYNCPOINT is specified all data is getting committed and Client(JAVA) is not able to control transaction.
Below system side setup are Done:
a) CICS RRMS is enabled b) DB2 RRSAF is enabled.
• DSNACICS manual says when SYNC OPTION = 1 is specified and if server program issue explicit COMMIT or SYNCPOINT server program should terminate abnormally. But in our testing it is not happening. Once CICS transaction is complete it is taking sync point.
• Link3270 bridge is currently coded in conversational mode where server program is pseudo conversational , does this causing issue?
• Does Link3270 bridge single unit of work?
• Do we need to recompile CICS programs with DSNRLI option, since we are using DB2 RRSAF?