This particular example of the danger of tampering with argument 0 does not apply
to COBOL or C application programs, but nevertheless you should not modify CICS
commands for application programs written in any supported language.
Bypassing commands
An XEIIN or XEISPIN exit program can bypass execution of a command by setting
the UERCBYP return code. If it does this, EDF is not invoked, but XEISPOUT,
XEIOUT, and exit trace are invoked if they are active.
Bypassing an EXEC CICS command allows an exit program to replace the CICS
function with its own processing, for example.
Before setting UERCBYP, your program should check the value pointed to by
UEPPGM, to ensure that it is not bypassing an EXEC CICS command issued by
CICS.
Exit XEIIN
When invoked
Before the execution of any EXEC CICS API or SPI command.
Exit-specific parameters
UEPARG
Address of the EXEC command parameter list.
UEPEXECB
Address of the system EIB.
UEPUSID
Address of the 8-character userid.
UEPPGM
Address of the 8-character application program name.
UEPLOAD
Address of the application program's load-point.
UEPRSA
Address of the application's register save area. This contains the
contents of the registers at the point when the program issued the
EXEC CICS command.
UEP_EI_PBTOK
Address of a 4-byte field containing the z/OS Workload Manager
(WLM) Performance Block Token. An exit program can use this
token to access information (such as the service class token,
SERVCLS) in the WLM Performance Block. To do so, it must use
the WLM EXTRACT macro, IWMMEXTR, passing the Performance
Block Token as the MONTKN input parameter. For more information
about the IWMMEXTR macro, see z/OS MVS Programming:
Workload Management Services.
An exit program must not attempt to modify the Performance Block:
if it does so, the results are unpredictable.
Return codes
UERCNORM
Continue processing.
UERCBYP
Bypass the execution of this command.
Chapter 1. Global user exit programs 69