z/OS Communications Server: SNA Programming
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


REQSESS macroinstruction

z/OS Communications Server: SNA Programming
SC27-3674-00

The REQSESS macroinstruction initiates a session in which the application program acts as the SLU. (If the PLU is an independent LU, REQSESS cannot be used.) REQSESS sends an Initiate request to the SSCP which, in turn, sends a CINIT request to the desired PLU. If the PLU accepts the session and sends a BIND request, the application program's SCIP exit routine is scheduled with the BIND. The application program can then examine the BIND area and decide whether to establish a session. Before an application program can issue the REQSESS macroinstruction, it must have issued SETLOGON OPTCD=START, or REQSESS fails with (RTNCD,FDB2)=(X'10',X'02').

The REQSESS macroinstruction uses an RPL and an NIB to pass information. The RPL's AREA and RECLEN fields specify up to 255 bytes of user data which are passed in the Initiate request. The data is available to the PLU in the CINIT request. You must specify OPTCD=NQ in the RPL because queuing is not supported for REQSESS. The RPL's NIB field points to the NIB. You should specify LISTEND=YES in the NIB because REQSESS does not support NIB lists. The NIBSYM field contains the name of the PLU with which the application program wants a session. The LOGMODE field in the NIB contains the name of a set of session parameters suggested for use in establishing the session; the logon mode name also implies a particular class of service. This logon mode name applies to the logon mode table associated with the application program issuing the REQSESS macroinstruction. See Establishing parameters for sessions for more information about the REQSESS macroinstruction in relation to session parameters.

If the USERFLD field in the NIB is not 0, it is a correlator for the Initiate procedure, and is passed to the SCIP exit routine when BIND is received. If the procedure fails, the USERFLD field in the NIB is passed to the NSEXIT routine with a Notify request. If the USERFLD field is 0, then a Network Services Procedure Error (NSPE) request is passed to the NSEXIT routine if the procedure fails. The correlator permits the application program to determine whether a BIND or Notify request is caused by a REQSESS and, if so, which REQSESS. If the application program and the PLU both support parallel sessions, multiple concurrent REQSESS requests can be outstanding for the same PLU. In that case, a unique correlator for each REQSESS is needed if the application program wants to match the BIND in the SCIP exit routine or the Notify request in the NSEXIT exit routine with the REQSESS that caused it. This is because the PLU and the SLU names passed to the SCIP and NSEXIT exit routines do not uniquely identify the session-initiation request.

In order for a nonzero user field to be used, both the PLU and its SSCP must support the user-request correlation facility; if they do not, REQSESS is rejected with (RTNCD,FDB2)=(X'10',X'12') and sense code=X'10030000'. REQSESS can be reissued if the NIB's USERFLD is zero; however, this means that an NSPE rather than a Notify request is received if an error occurs, and that the user correlator passed in the SCIP exit routine (if the BIND request is received) is zero.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014