I have a batch program running on a VSE machine using EXCI to access a CICS routine. The program does the allocate and open just fine. It does a DPL to the CICS program, and the CICS program runs to completion just find (varified thru XPED), but the batch program hangs after that. The job cannot be cancelled. Only IPL'ing the machine will get rid of it. What's going on?
I am not able to diagnose this problem from the information you have given me. You will need to examine the trace information on both the sending and receiving (CICS) side of the interface. You will need to confirm that the CICS transaction completed and detached. The fact that the program completed does not necessarily mean that CICS completed its work. If you can confirm that the transaction completed and detached without reporting any errors then the problem has to be on the sending side. The CICS External Interfaces Guide describes the debug information available on the calling side of the EXCI interface. The number of the manual for CICS TS V1.1.1 for VSE/ESA is SC33-1669. You can read this manual by going to the CICS Web site at www.ibm.com/software/ts/cics and clicking on "Library" in the navigation pane, selecting CICS TS VSE/ESA from the list of products, and then the CICS External Interfaces Guide from the list of books.
You say the job cannot be cancelled. If the job you refer to is CICS this is to be expected while there is a batch program with an open EXCI pipe into CICS. CICS has no way to clean up on the sending side so must stay up if the sender has an open pipe. This is why it is recommended that the calling program closes the EXCI pipe as soon as it has finished with it.
This was first published in July 2002