Using Channels And Containers - IBM SC34-6814-04 Customization Manual

Cics transaction server for z/os
Table of Contents

Advertisement

v All exit programs that issue EXEC CICS commands must first address the EIB.
Note:
Using EXEC CICS and XPI calls in the same exit program
There are a number of exits where you can use both EXEC CICS commands and
XPI calls, but you should ensure that there is no conflict in the usage of register 13.
To avoid such conflict, use the DATAREG option on the DFHEIENT macro (see
"XPI register usage" on page 312 for information).
For an example of how to use EXEC CICS commands and XPI calls in the same
global user exit program, see Appendix F, "The example program for the XTSEREQ
global user exit, DFH$XTSE," on page 877

Using channels and containers

Global user exit programs can access channels and containers created by
application programs. They can also create their own channels and pass them to
programs which they call.
For information about channels and containers, see the CICS Application
Programming Guide.
An exit program invoked at an exit that does not support the use of EXEC CICS
commands must not call a task-related user exit program (TRUE). Calling a
TRUE is equivalent to issuing an EXEC CICS command. Exceptions to this rule
are programs invoked from the XFCFRIN and XFCFROUT exits, which may call
a TRUE. TRUEs are described in Chapter 2, "Task-related user exit programs,"
on page 267.
Note: In exits which support the use of EXEC CICS file control commands, file
commands that form a related sequence (such as EXEC CICS STARTBR,
EXEC CICS READNEXT, and EXEC CICS ENDBR) must all be issued in the
same invocation of the exit program.
For example, if one invocation of an exit program issues an EXEC CICS
STARTBR command, and the next invocation of the exit program for that
same task issues an EXEC CICS READNEXT command, the READNEXT fails
with an INVREQ condition.
This is not done automatically using the DFHEIENT macro, as is the case with
normal EXEC assembler-language programs. Therefore, the first EXEC
command to be issued from an exit program must be EXEC CICS ADDRESS
EIB (eib-register), where "eib-register" is the default register (R11) or the register
given as a parameter to the DFHEIENT macro.
All exit programs that issue EXEC CICS commands, and that use the DFHEIENT
macro, should use the DFHEIRET macro to set a return code and return to
CICS. See "Returning values to CICS" on page 10.
v If your global user exit program does not contain EXEC CICS commands,
do not use the CICS command-level translator when assembling the
program.
v Do not make non-CICS (for example, RACF
calls from global user exit programs.
v If an operating system request causes a wait, your whole CICS system
will stop until the operating system request has been serviced.
®
or MVS
) system service
Chapter 1. Global user exit programs
5

Advertisement

Table of Contents
loading

Table of Contents