On the mainframe, I have a conversational transaction in CICS that is mapped to a program. This program has RECEIVE, SEND and SEND and SEND TEXT CICS commands.
I want to invoke this transaction from Batch via the 3270 bridge and capture all the outputs of SEND CICS commands in my CICS router program and then finally to the Batch program.
I populated three RECEIVE vectors in my CICS router program and invoked 3270 bridge. I am getting output for only the first SEND command -- SEND TEXT -- but not for the other three SEND commands. I expected four BRIV-OUT messages, but I am receiving only one. I am not sure whether the mainframe is executing the other three SEND actions.
It sounds like you stacked a series of input messages into one structure and expected the bridge to process them all at once; unfortunately the 3270 bridge doesn't work that way.
Every terminal I/O in the target transaction requires a call to DFHL3270. In your case, the first call invokes the target transaction, which issues a SEND TEXT command that DFHL3270 returns to your driver. At that point, your driver program can check the output, set flags and prepare the next input message.
Next, your program should LINK to DFHL3270 again until it returns with the output from the SEND command. Repeat this process for every interaction with the conversational transaction.
Remember to check that each output message DFHL3270 returns to your driver to make sure it's what you expected. You should also query flags that represent the target transaction's status. Those flags will tell you if the transaction abended or ran into other trouble.
About the author:
Robert Crawford spent 29 years as a systems programmer, covering CICS technical support, Virtual Storage Access Method, IBM DB2, IBM IMS and other mainframe products. He programmed in Assembler, Rexx, C, C++, PL/1 and COBOL. Crawford is currently an operations architect based in south Texas, establishing mainframe strategy for a large insurance company.
Contact him at firstname.lastname@example.org.
Dig Deeper on IBM system z and mainframe systems
Related Q&A from Robert Crawford
For better mainframe capacity planning, how do I convert CPU hours to MIPS? And is there a way to calculate the relationship between MIPS and MSUs? Continue Reading
I have two years of experience in mainframe technology, currently working as a mainframe developer. I want to change to Java technology. Continue Reading
I want to replicate DB2 from the mainframe to an AIX box since it's cheaper and the copy can be used for testing. Is this possible? Continue Reading