CSLSCREG: registration request

The Structured Call Interface (SCI) registration request is used to create a connection between an IMSplex member and SCI. Before SCI can be used for communication within the IMSplex, an IMSplex member must issue the CSLSCREG request and receive an SCI token when the request completes in order to be recognized by SCI.

This token is used with all subsequent SCI requests. If SCI terminates while the IMSplex member is active, the member is still registered when SCI becomes active again. The SCI token that the member received on the initial CSLSCREG request is still valid.

Restrictions:
  • CSLSCREG is not supported when the caller's address space has been marked non-swappable by a SYSEVENT DONTSWAP call. Issuing a CSLSCREG in this environment produces unpredictable results. A caller that issued a SYSEVENT DONTSWAP must issue a SYSEVENT OKSWAP before registering with SCI.
  • A single address space may register with SCI more than once. However, all registrations from a single address space must be made in the same PSW key and state (supervisor or problem) as the first active registration.

CSLSCREG syntax

CSLSCREG DSECT syntax

Use the DSECT function of a CSLSCREG request to include equate (EQU) statements in your program for the CSLSCREG parameter list length, the IMSplex types and the CSLSCREG return and reason codes.

Figure 0.
Read syntax diagramSkip visual syntax diagramCSLSCREGFUNC=DSECT

CSLSCREG REGISTER syntax

The CSLSCREG FUNC=REGISTER request establishes a connection between an IMSplex member and SCI. An SCI token is returned on successful completion of this request. This token must be used on all subsequent SCI requests. Until the CSLSCRDY FUNC=READY request is issued, the IMSplex member receives only messages and requests that are routed directly to it (by SCITOKEN or by NAME). Messages and requests that are routed by TYPE are not routed to this member. Messages and requests routed by any method can be sent by this member when the CSLSCREG FUNC=READY request has been successfully completed. The syntax for the REGISTER function of the CSLSCREG request follows.

Figure 0.
Read syntax diagramSkip visual syntax diagramCSLSCREGFUNC=REGISTERPARM= parmIMSPLEX= imsplexMBRNAME= membernameMBRVSN= memberversionTYPE= membertypecodeTYPE= 'AOP'TYPE= 'BATCH'TYPE= 'CQS'TYPE= 'DBRC'TYPE= 'IMS'TYPE= 'IMSCON'TYPE= 'ODBM'TYPE= 'OM'TYPE= 'OTHER'TYPE= 'RM'TYPE= 'SCI'SUBTYPE= subtypeNOTIFYEXIT= notifyexitNOTIFYPARM= notifyparmINPUTEXIT= inputexitINPUTPARM= inputparmSCITOKEN= scitokenSCIVSN= sciversionJOBNAME= jobnameABNDSTAT= NOABNDSTAT= YESTCB= CURRENTTCB= PARENTTCB= JOBSTEPTCB= tcbRETNAME= returnnameRETTOKEN= returntokenRETCODE= returncodeRSNCODE= reasoncode

CSLSCREG parameters

ABNDSTAT=NO
ABNDSTAT=YES
(Optional) - Indicates if SCI is to keep track of the member if the member abnormally terminates. If ABNDSTAT=YES is specified, SCI will retain an entry for the member with a status of ABTERM. If the member normally terminates or if the member abnormally terminates after a successful CSLSCDRG, SCI does not keep a record of the member.

This parameter is ignored for non-authorized IMSplex members.

IMSPLEX=symbol
IMSPLEX=(r2-r12)
(Required) - Specifies the address of a 1- to 5-character IMSplex name. The IMSPlex name identifies the SCI to which this request is directed. If specified as a symbol, the symbol references storage that contains the IMSplex name.
INPUTEXIT=symbol
INPUTEXIT=(r2-r12)
(Optional) - Specifies the address of the SCI input exit routine. The input exit is called each time there is a message or request for the member.
INPUTPARM=symbol
INPUTPARM=(r2-r12)
(Optional) - Specifies the address of an 8-byte area that contains member data. This data is passed to the input exit routine each time it is called. If specified as a symbol, the symbol references storage that contains the member data.
JOBNAME=symbol
JOBNAME=(r2-r12)
(Optional) - Specifies the address of an 8-byte area to receive the SCI jobname.
MBRNAME=symbol
MBRNAME=(r2-r12)
(Required) - Specifies the address of an 8-byte name of the IMSplex member registering with SCI. For an authorized member, this name must be unique within the IMSplex. For a non-authorized member, this name does not need to be unique. If it is specified as a symbol, the symbol refers to storage that contains the IMSplex member name. Valid characters for the name are A-Z, 0-9, and special characters @, #, and $.
MBRVSN=symbol
MBRVSN=(r2-r12)
(Optional) - Specifies the address of a 4-byte version of the IMSplex member registering with SCI. This version number is passed in the parameter list of the SCI Notify exit when this IMSplex member is the subject of the event. It is also passed in the parameter list of the SCI Input exit for messages and requests that originate from this member. If MBRVSN is not specified, the version number in the exit parameter list is set to zeros. If it is specified as a symbol, the symbol references storage that contains the IMSplex member version.

SCI does not validate this field; however, the field can be output on the QRY IMSPLEX command. It is assumed to have the following format: X'00vvrrmm'.

  • 00 - this byte is ignored
  • vv - version number
  • rr - release number
  • mm - modification level or subrelease number
For example, X'00080100' would be output as 8.1.0.
NOTIFYEXIT=symbol
NOTIFYEXIT=(r2-r12)
(Optional) - Specifies the address of the SCI Notify exit routine. The Notify exit is driven whenever there is a change of status of an IMSplex member.
NOTIFYPARM=symbol
NOTIFYPARM=(r2-r12)
(Optional) - Specifies the address of an 8-byte area that contains member data. This data is passed to the Notify exit routine each time it is called. If it is specified as a symbol, the symbol references storage that contains the member data.
PARM=symbol
PARM=(r2-r12)
(Required) - Specifies the address of a parameter list used by the request to pass the parameters to SCI. The length of the storage must be at least equal to the value of SREG_LN.
RETCODE=symbol
RETCODE=(r2-r12)
(Required) - Specifies the address of a 4-byte field to receive the CSLSCREG return code. SCI return codes are defined in CSLSRR. Possible return codes for CSLSCREG are described in the following table.
RETNAME=symbol
RETNAME=(r2-r12)
(Optional) - Specifies the address of an 8-byte field to receive the name of the SCI that processes the registration request.
RETTOKEN=symbol
RETTOKEN=(r2-r12)
(Optional) - Specifies the address of a 16-byte field to receive the SCI token of the SCI that processes the registration request.
RSNCODE=symbol
RSNCODE=(r2-r12)
(Required) - Specifies the address of a 4-byte field to receive the CSLSCREG reason code. SCI reason codes are defined in CSLSRR. Possible reason codes for CSLSCREG are described in the following table.
SCITOKEN=symbol
SCITOKEN=(r2-r12)
(Required) - Specifies a 16-byte field containing the SCI token. This token uniquely identifies this connection to SCI. The SCI token was returned by a successful CSLSCREG FUNC=REGISTER request.
SCIVSN=symbol
SCIVSN=(r2-r12)
(Optional) - Specifies the address of a 4-byte field to receive the SCI version number. The version number has the following format: 00vvrrmm.
00
This byte is reserved for future use. Currently, it is always 00.
vv
Version number.
rr
Release number.
mm
Modification level or subrelease number.

Example: SCI version 1.1.0 is shown as X'00010100'.

SUBTYPE=symbol
SUBTYPE=(r2-r12)
(Optional) - Specifies the address of the 8-byte subtype of the member registering with SCI. The subtype is defined by the user and can be any eight characters. If it is specified as a symbol, the symbol references storage that contains the subtype. If not specified, this parameter is set to blanks. If SUBTYPE is not specified, it will be set to blanks.

The subtype can contain alphanumeric characters (A-Z, 0-9), or printable characters (not case sensitive), with the exception of the characters &, <, and >. OM converts any invalid data placed in this field to periods (.) before sending the XML output to the client.

TCB=CURRENT
TCB=JOBSTEP
TCB=PARENT
TCB=symbol
TCB=(r2-r12)
(Optional) - Specifies the TCB with which the new SCI connection is associated. The SCI connection persists until one of the following occurs:
  • The member deregisters by using CSLSCDRG.
  • The TCB associated with the connection terminates.
All callers of CSLSCREG can specify the following values for the TCB parameter:
CURRENT
Associates the SCI connection with the currently executing TCB. This is the default.
JOBSTEP
Associates the SCI connection with the JOBSTEP TCB of the TCB under which the CSLSCREG request is issued. This TCB is specified by TCBJSTCB.
PARENT
Associates the SCI connection with the TCB that attached the currently-executing TCB.

For non-authorized callers, the indicated TCB must have the same storage key associated with it as the caller's current PSW key (that is, TCBPKF must match the current PSW key).

Authorized callers can, in addition, identify an explicit TCB by specifying a symbol or register. If specified as a symbol, the symbol must be the label on a word of storage containing the address of the TCB. If specified as a register, the register must contain the TCB address.

TYPE=membertypecode
TYPE='AOP'
TYPE='BATCH'
TYPE='CQS'
TYPE='DBRC'
TYPE='IMS'
TYPE='IMSCON'
TYPE='ODBM'
TYPE='OM'
TYPE='OTHER'
TYPE='RM'
TYPE='SCI'
(Required) - Specifies the SCI member type of the address space that is registering with SCI.

If this parameter is passed as a literal, the literal must be enclosed in single quotation marks. If this parameter is passed as a symbol or register, the symbol or register must contain the member type code.

The code for the member type can be obtained by using the CSLSTPIX macro. Member types include:
AOP
This SCI type is an automated operator program. It interacts with OM by sending commands and receiving responses to the commands.
Batch
This SCI type is an IMS batch region. It interacts as an IMS DL/I batch or utility region.
CQS
This SCI type is an IMS Common Queue Server. It provides access to a set of common queues within the IMSplex.
DBRC
This SCI type is an IMS Database Recovery Control Region.
IMS
This SCI type is an IMS region. It can include the database manager, transaction manager, and FDBR (an IMS control region that recovers database resources when an IMS database manager fails). SUBTYPE is used to further qualify a particular control region (for example, DBDC, DBCTL, DCCTL, or FDBR).
IMSCON
This SCI type is a connector to IMS. It acts as an interface between IMS and protocols that are not supported by IMS directly (such as TCP/IP).
ODBM
This SCI type is an IMS Open Database Manager, which is part of the CSL. It receives requests to access and manipulate IMS databases from clients, such as IMS Connect or an ODBA application, and routes the requests to the IMS DB systems in the IMSplex that manage the database. When ODBM is used in support of IMS Connect and the IMS Universal drivers, ODBM translates the incoming database access requests from the low-level DRDA protocol into the DL/I calls used by IMS and back again on output.
OM
This SCI type is an IMS Operations Manager, which is part of the CSL. It receives commands from AOPs, routes the commands to other members of the IMSplex that have registered for the command, consolidates the responses to the command, and sends the output back to the originating AOP.
Other
This SCI type is any other address space that does not fall into one of the defined SCI types.
RM
This SCI type is an IMS Resource Manager, which is part of the CSL. It manages resources within the IMSplex and coordinates IMSplex-wide processes. SUBTYPE is used to further qualify whether there is a single RM in the IMSplex (SNGLRM) or there are multiple RMs in the IMSplex (MULTRM).
SCI
This SCI type is an IMS SCI, which is part of the CSL. It manages communications within the IMSplex.

CSLSCREG return and reason codes

The following table lists the return and reason codes that can be returned on a CSLSCREG macro request. Also included is the meaning of a reason code (that is, what possibly caused it).

Table 1. CSLSCREG return and reason codes
Return code Reason code Meaning
X'00000000' X'00000000' The request completed successfully.
X'01000004' X'00001000' The member is already registered. If the member is authorized, the member name is already registered to this SCI and the SCI token is returned. If the member is not authorized, there are three registrations from the current TCB and no more registrations are allowed. One of the SCI tokens is returned.
X'01000008' X'00002010' An invalid type was passed
  X'00002038' The parameter list version is invalid.
X'01000010' X'00004000' SCI is not active.
  X'00004004' CSLSRG00 could not be loaded.
  X'00004008' The user ID of the member address space is not authorized to register with this SCI.
  X'00004010' The member name, membername, is not unique for the authorized client. The registration is rejected.
  X'00004028' A non-authorized member tried to register as an authorized system SCI type.
  X'0000402C' Either the caller key or state does not match the key or state of the existing registration.
  X'00004FFF' The function is not supported.
X'01000014' X'00005000' An SCI internal error occurred.
  X'00005004' An ESTAE add error occurred.
  X'00005008' A BPE SVC error occurred.
  X'0000500C' A z/OS® Name/Token retrieve error occurred.
  X'00005010' An error occurred while establishing ResMgr.
  X'00005014' An error occurred while obtaining storage.
  X'00005018' An error occurred while obtaining a TTOKEN.
  X'0000501C' An ALESERV error occurred.
  X'00005020' An ENQ resource error occurred.
  X'00005050' A BPECGBET error occurred in CSLSRGS0.
  X'00005054' An ALESERV error occurred in CSLSRGS0.
  X'00005058' A BPEHTADD error occurred in CSLSRGS0.
  X'00005064' A BPEHTFND token error occurred in CSLSRGS0.
  X'00005070' The SCI buffer manager could not be initialized.
  X'00005080' The z/OS cross-system coupling facility join for the member failed.
  X'00005084' A non-authorized member specified an explicit connection TCB.
  X'00005088' The connection TCB key does not match the CSLSCREG caller's key.
  X'0000508C' The TCB type code passed on the CSLSCREG request is invalid.
  X'00005090' Error enqueuing registration AWE. This is an internal error.
  X'00005094' Error scheduling SRB to SCI. This is an internal error.
  X'00005500' An abend occurred during CSLSCREG processing.