Allocate_Pipe
Allocate a single session, or pipe, to a CICS® region. This command does not connect the client program to a CICS region; this happens on the Open_Pipe command.
You can allocate up to 250 pipes in an EXCI address space. The default limit is 100 pipes. However, you can increase this using the LOGONLIM parameter when you define CICS as an MVS subsystem. See EXCI pipe allocation.
This limit is set to prevent EXCI clients from monopolizing MRO resources, which could prevent CICS systems from using MRO. The limit is applied in both MRO and cross system MRO (XCF/MRO) environments.
An ALLOCATE_PIPE request results in an MRO LOGON request being issued and there is a limit on the total number of MRO LOGON requests allowed from all address spaces. This is particularly critical when using XCF/MRO, where the limit on the number of members in a XCF group also limits the total number of MRO LOGON requests.
Syntax
CALL DFHXCIS,(version_number,return_area,user_token,call_type,
pipe_token,CICS applid,allocate_opts),VL,MF=(E,(1))
Parameters
- version_number
-
A fullword binary input area indicating the version of the
external
CICS
interface parameter list being
used.
It must be set to 1 in the client program.
The equated value for this parameter in the CICS-supplied copybook DFHXCPL x (where x indicates the language) is VERSION_1. See Table 1 for copybook details.
- return_area
- A 5-word output area to receive response and reason codes, and a message pointer field. For more details, see Return area for the EXCI CALL interface.
- user_token
- The 1-word token returned on the Initialize_User command.
- call_type
-
A 1-word input area indicating the function of the command.
It must be
set to 2 in the client program to indicate that this is an
Allocate_Pipe
command.
The equated value for this call in the CICS-supplied copybook DFHXCPL x (where x indicates the language) is ALLOCATE_PIPE. See Table 1 for copybook details.
- pipe_token
- A 1-word output area. CICS returns a 32-bit token in this area to represent the allocated session. This token must be used on any subsequent command that uses this session.
- CICS_applid (or null_ptr)
-
An 8-byte input area containing the applid of the
CICS
system to which the allocated session is to be connected.
Although an applid is required to complete the Allocate_Pipe function, this parameter is optional on the Allocate_Pipe call. You can specify the applid either on this parameter to the Allocate_Pipe call, or on the URMCICS parameter in the user-replaceable module, DFHXCURM (DFHXCURM is always invoked during Allocate_Pipe processing). You can also use the URMCICS parameter in DFHXCURM to override an applid specified on the Allocate_Pipe call. See The EXCI user-replaceable module for information about the URMCICS parameter.
If you omit the applid from the call, you must ensure that the CALL parameter list contains a null address for CICS_applid . How you do this depends on the language you are using for the non-CICS client program. For an example of a call that omits an optional parameter, see Example of EXCI CALL with null parameters.
- allocate_opts
- A
1-byte input area to represent options specified on this command.
The options specify which
type of session is to be used—specific
or generic.
X'00'
represents a specific
session.
X'80'
represents a generic session.
The equated value for these options in the CICS-supplied copybook DFHXCPL x (where x indicates the language) are SPECIFIC_PIPE and GENERIC_PIPE. See Table 1 for copybook details.
Responses and reason codes
For all non-zero response codes, a unique reason code value identifies the reason for the response.
- Response OK
-
Command executed successfully (RC 0). Reason code:
- 0
- Normal response
- Response USER_ERROR
-
The command failed because of an error in either the client or
the server (RC 12). Reason codes:
- 401
- INVALID_CALL_TYPE
- 402
- INVALID_VERSION_NUMBER
- 404
- INVALID_USER_TOKEN
- 421
- RUNNING_UNDER_AN_IRB
- Response SYSTEM_ERROR
-
The command failed (RC 16). Reason codes:
- 604
- XCPIPE_GETMAIN_ERROR
- 608
- IRC_LOGON_FAILURE
- 622
- ESTAE_SETUP_FAILURE
- 623
- ESTAE_INVOKED
- 628
- IRP_LEVEL_CHECK_FAILURE
For information about response codes, see EXCI call response code values.
For information about the reason codes, see Response and reason codes returned on EXCI calls.