I have a program that uses the CICS WAIT EVENT command. This program is a user program in CWI. It waits for an ECB to be posted by another process before continuing.How can I post the ECB in case the program that posts the ECB does not execute, as in an abend in an earlier program in the process? This is a big concern. Thanks for any help you could provide.
You cannot do this directly. None of the coding techniques for getting an ECB to be posted when the postee never does it are always difficult. You can change the wait into a poll and then if nothing happens in the desired interval, initiate timeout processing. Alternatively, you could start another transaction to post the ECB after the desired timeout interval but then you will have to implement some logic to show that the ECB was posted due to a timeout (as opposed to normal operation) and ensure that when the ECB is validly posted, the waiter cancels this transaction. A better bet is to use CICS' BTS functions to do transaction interlock. Then you can detect failure and cope with it through the standard BTS facilities. Data passing between the two transactions is also a lot easier to boot.
CICS Technical Strategist -- CICS expert at Search390.com
Editor's note: Do you agree with this expert's response? If you have more to share, post it in one of our .VO7aaqqaAFk.0@/search390>discussion forums.
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
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.