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.
Related Q&A from Robert Crawford
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
What's the impact on I/O when you run in a CPU-constrained mainframe environment?continue reading
I need to transfer one PS file's data from a mainframe to a Linux server. Are there any JCL scripts that can do this for me?continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.