mandout2(value),
...
[optout1(value),]
[optout2(value),]
...
RESPONSE,
REASON]
XPI calls follow assembler-language coding conventions:
v The “macro-name” must begin before column 16.
v The continuation lines must begin in column 16.
v There must be no embedded blanks apart from the blank between the
macro-name and the first keyword (usually CALL).
v Entries on lines other than the final line must end with a comma.
v Lines other than the final line must have a continuation character in column 72.
v Parentheses around the input and output values are required—and if you use a
register reference as an input or output value, it must be enclosed in an inner
pair of parentheses, thus: ((R6)).
v For details about how to set the values of the XPI options, refer to “XPI syntax”
on page 319.
There are three uses of these XPI functions. You can:
v Clear the parameter list used by the XPI call
v Set up the input parameters
v Make the call to the CICS function.
You can code all of these individually (see “An example showing how to build a
parameter list incrementally” on page 318), or include them in a single statement.
Some options are common to all uses of the XPI. They are included in all of the
syntax descriptions, but their explanation is given here. The options are CALL,
CLEAR, IN, FUNCTION, OUT, RESPONSE, and REASON.
CALL causes code generation that issues a call to the XPI function. If you specify
CALL, IN, FUNCTION, and OUT, then code is generated to perform the
whole operation of building the parameter list, invoking the function, and
receiving the result. You can omit the CALL, but specify IN to build your
parameter list incrementally; later you can use CALL with that list, coding
CALL, IN, FUNCTION, OUT, and all required options. You can then
represent the values of the preset options by an asterisk (*) to show that
the value is already present in the list.
Note: If you build your parameter list incrementally, do not specify CLEAR
when you finally issue the call, because the CLEAR option sets the
parameter list to zeros, which will cause you to lose the preset
values.
CLEAR
sets the existence bits in the parameter list (both mandatory and optional
parameters) to binary zeros. Each macro has a COPY code, which defines
the parameter list by a DSECT consisting of a header section, followed by a
set of existence bits, and the parameters themselves. For performance
reasons, the header section and the existence bits only are cleared. The
rest of the parameter list is left unchanged.
Chapter 3. The user exit programming interface (XPI) 309