Agents › DevTest CICS Agent › CICS Exit Considerations › Coexistence with Other Exits
Coexistence with Other Exits
If any exits of type XPCREQ, XPCREQC, XEIIN, XEIOUT, or XPCABND are already installed, the DevTest exits may be able to coexist with them.
CICS calls the exits in the order in which they are enabled. You can control the order with the placement of the ITKOINST entry in the PLT.
DevTest CICS Agent Exit Behavior Summary
- The DevTest CICS Agent exits can be entered with a previous return code (addressed by UEPCRCA) that is nonzero. In this case, the exit returns with the return code (R15) set to the previous return code (which another exit set). The DevTest exits can coexist with other exits if they are not the first exit that CICS invokes.
- The DevTest CICS LINK exits (XPCREQ and XPCREQC) use the token (UEPPCTOK) passed by CICS to the exits to pass a DevTest control block address. If another XPCREQ or XPCREQC corrupts that address, then an abend can occur, or the DevTest XPCREQC exit can write a one-time message: ITKO0014 - ERROR - Corrupt token in ITKPCRC Exit.
- If the DevTest CICS Agent before exits (XPCREQ and XEIIN) must bypass a command to virtualize it, R15 returns a return code of bypass (UERCBYP). If CICS invokes another exit of the same type after the DevTest exit, the exit should propagate the bypass return code back to CICS. If it does not, the command is not bypassed, and virtualization fails.
- If the recursion indicator (addressed by UEPRECUR) is nonzero, the DevTest XPCREQ and XPCREQC exits return immediately. This return eliminates issues that can arise if another exit of this type uses a CICS LINK command.
- The XPCABND (Transaction ABEND) exit always returns with UEPCRCA in R15, so it should coexist with other XPCABND exits. The only exception to this rule is the event of an XPI function returning task purged (see the following).
- If any of the DevTest CICS Agent exits receive a return code of task purged from the CICS XPI (Exit Programming Interface), it returns with purge (UERCPURG) in R15. The exit overrides the previous return code (addressed by UEPCRCA) with UERCPURG. If CICS invokes another exit of the same type after the DevTest exit, the exit should propagate the purge return code back to CICS.
Copyright © 2014 CA Technologies.
All rights reserved.
|
|