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


Network services procedure error or Notify

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

As indicated in the preceding section, an NSPE or Notify RU can arrive at an application program when, after having received a positive response to a session-initiation request, the program is awaiting the next event in the session-establishment procedure. Here are some examples of conditions that cause an NSPE or Notify RU to be generated and delivered to an application program:
  • An application program issues REQSESS, and the macroinstruction is completed successfully (indicating that SSCP returned a positive response to the request). The PLU then rejects the resulting CINIT (for example, by issuing CLSDST) which causes an NSPE or Notify RU to be sent to the application program that issued REQSESS.
  • An application program issues REQSESS, and the macroinstruction is completed successfully. The PLU is then abnormally terminated before it can process the CINIT that resulted from the REQSESS. VTAM® sends an NSPE or Notify request unit to the application program that issued REQSESS.
  • An application program issues SIMLOGON for an LU, and the macroinstruction is completed successfully (indicating that a CINIT for a session with the LU is created by VTAM and sent to the application program that issued the macroinstruction). Before the CINIT can be processed, the VTAM operator deactivates the LU. This causes VTAM to send the application program an NSPE or Notify request unit.
  • An application program issues SIMLOGON, and the LOGON exit routine is entered. If CLSDST is issued, an NSPE or Notify results.
  • Application program A issues CLSDST OPTCD=PASS to pass an LU to application program B, and the macroinstruction completes successfully. When application program B processes the resulting CINIT, it either (1) rejects the CINIT by issuing CLSDST or (2) issues OPNDST to the LU, but the LU rejects the BIND request by sending a request-rejected response. In either case, VTAM sends an NSPE or Notify request unit to application program A. The request unit signals application program A that, even though the CLSDST OPTCD=PASS is posted complete, the session that was requested cannot be established.
  • Application program A issues CLSDST OPTCD=PASS to pass an LU to application program B, and specifies PARMS=(THRDPTY=NOTIFY). Application program B issues OPNDST OPTCD=ACCEPT to accept the resulting CINIT and send BIND to the LU; OPNDST is successful. VTAM sends a Notify request unit to application program A to indicate that the session is established successfully.
  • An application program issues OPNDST OPTCD=ACQUIRE. Before the session is completely established, the VTAM operator issues VARY INACT,FORCE for the SLU. NSPE is sent to the application program.

The format of the NSPE request unit is shown in Figure 1. The format of the Notify request is shown in tables from Table 1 to Table 5.

If parallel sessions are initiated, the network-name pair in NSPE and Notify is insufficient to determine which Initiate failed. Notify, however, contains a user request correlation field that is transformed by VTAM into a user correlator, and passed in word 3 of the exit routine parameter list. This can be used to isolate the failing Initiate. NSPE does not contain a user request correlation field. Thus, if it is critical to determine the failing request, SIMLOGON, rather than OPNDST OPTCD=ACQUIRE, should be used by a PLU because Notify cannot be requested for OPNDST, but can be requested for SIMLOGON. For further details, see SIMLOGON macroinstruction.

In general, if an NSPE or Notify is received indicating that VTAM cannot ensure the establishment of a requested session, either the session has not been established or it is in the process of being terminated. Therefore, if the application program issues TERMSESS or CLSDST referencing that session, a return code indicating that the session does not exist is usually (but not always) returned.

In some situations, such as the first two conditions described in the preceding discussion, the application program can issue another session-initiation request immediately, or can wait and issue the request at a later time. Even if no other action is taken, the NSEXIT exit routine should set registers 0 and 15 to 0 before returning control to VTAM.

Figure 1. Format of a Network Services Procedure Error request unit
The diagram shows the format of a Network Services Procedure Error request unit.
Table 1. Format of a Notify request unit (Part 1 of 5)
Byte Contents Description
0-2 X'810620' Network service header (must be checked) for SSCP-LU and for LU-SSCP.
3-n*   One NOTIFY vector described in the following
3 4-n*   Control vector key (must be checked) vector data
 
Note: The body of a NOTIFY Request Unit consists of one of the following NOTIFY vectors.
 
ILU/TLU or third-party SSCP notification NOTIFY vector (X'03').
  • ILU/TLU notification informs the sender of an INIT or TERM request of the status of the session.
  • Third-party notification informs a third-party SSCP (the SSCP whose LU issued an INIT-OTHER) of the status of the setup procedure.
3 X'03' Control vector key (must be checked)
4   Status (must be checked) The following lists the currently supported values.
  X'00' SSCP (OLU) and SSCP (DLU) not logically connected. No session (or session setup path if rerouting is required) exists between them.
  X'01' Session terminated
  X'02' Session set up (In the same-domain case, +RSP (SESSST) has been sent, or, in the cross-domain case, +RSP (CDSESSST) has been sent or received).
  X'03' Procedure error
5-12   PCID, a unique value used as a session identifier
13   Reason (defined for a status field value of X'03' only)
 
Note: The reason byte is coded for two different uses:
  • If bit 4 is 0, the reason byte is coded for a setup procedure error.
  • If bit 4 is 1, the reason byte is coded for a takedown procedure error.
    Setup procedure error
0123  4567
1...  ....
An error occurred sending CINIT to the PLU.
.1..  ....
An error occurred sending BIND to the SLU.
..1.  ....
Session establishment was rejected at the PLU.
...1  ....
Session establishment was rejected at the SLU.
....  0...
A session setup procedure error occurred.
....  .X..
Reserved.
....  ..1.
Session establishment was rejected at the SSCP.
....  ...X
Reserved.
    Takedown procedure error
0123  4567
1...  ....
An error occurred sending CTERM to the PLU.
.1..  ....
An error occurred sending UNBIND to the SLU.
..1.  ....
Session takedown was rejected at the PLU.
...1  ....
Session takedown was rejected at the SLU.
....  1...
A session takedown procedure error occurred.
....  .1..
Session takedown was rejected at the SSCP.
....  ..0.
The bit combination of 11 for bits 4 and 6 is set aside for implementation internal use and is not otherwise defined.
....  ...X
Reserved.
14-17   Sense data (defined for a status value of X'03' only)

The sense data, if applicable, is from the step in the procedure that caused the session setup or takedown failure. For the meaning of the sense data, refer to SNA Formats

*This value represents a variable-length field.
Table 2. Format of a Notify request unit (Part 2 of 5)
Byte Contents Description
18-m   Session key for network name pair (Must be checked if the following field is examined.)
One of the following keys is used:    
  X'06' Network name pair (The first name of the pair is a PLU, OLU, LU1; the second name of the pair is an SLU, DLU, or LU2.)
  X'07' Network address pair (PLU and SLU, respectively)
  X'0C' User request correlation (URC) field
Note: This session key is applicable within a NOTIFY only for SSCP-LU; it is the URC carried in the session key field (rather than the value from the URC field) in TERM, and differs from the URC in bytes m+1 through n below.
  X'15' Network-qualified address pair (PLU and SLU, respectively)
  X'1C' Network-qualified name pair (The first name of the pair is a PLU, OLU, or LU1, the second name of the pair is an SLU, DLU, or LU2.)
m+1-n*   User request correlation (URC) field
m+1   Length, in binary, (number of characters) of the URC name
m+2-n*   URC name The LU-defined identifier specified in an INIT or TERM request (It is used to correlate the NOTIFY to the initiating request.)
Note: The URC length is 0 for SSCP-SSCP.
*This value represents a variable-length field.

Resource available NOTIFY vector (X'06') (replaces NOTIFY vector key X'01'). It is used to inform the current users (LUs) or actively controlling SSCPs of a resource (LU) that another LU wishes to use the resource. It is sent by an SSCP that supports NOTIFY NS key X'06', as specified in the CDRM (X'06') control vector, to an SSCP with the same capabilities or to an LU in its domain.

Table 3. Format of a Notify request unit (Part 3 of 5)
Byte Contents Description
3 X'06' Control vector key (must be checked)
4-n*   Three X'19' control vectors are used to identify the LUs involved in the resource request: X'19' resource identifier control vector identifying the current session partner of the requested LU and the target LU X'19' resource identifier control vector identifying the requested LU X'19' resource identifier control vector identifying the requesting LU.
Note: If the length of one of the resource identifier control vectors is 0, the indicated LU name is unavailable.
*This value represents a variable-length field.

LU-LU session services capabilities NOTIFY vector (X'0C'). It is used to inform the SSCP having an active session with the sending LU of the current LU-LU session services capabilities of that LU.

Table 4. Format of a Notify request unit (Part 4 of 5)
Byte Contents Description
3 X'0C' Control vector key (must be checked)
4   Vector length
5-n*   Vector data
5   Bits 0-3, PLU capability (reserved for Type 2.1 nodes):
0123 4567
 
0000 ....
PLU capability is inhibited. Sessions can be neither queued nor started.
0001 ....
PLU capability is disabled. Sessions can be queued or started.
0010 ....
Reserved.
0011 ....
PLU capability is enabled. Sessions can be queued or started.
    Bits 4-7, SLU capability:
0123 4567
 
.... 0000
SLU capability is inhibited. Sessions can be neither queued nor started.
.... 0001
SLU capability is disabled. Sessions can be queued or started.
.... 0010
Reserved
.... 0011
SLU capability is enabled. Sessions can be queued or started.
6-7   LU-LU session limit (A value of 0 means that no session limit is specified.)
8-9   LU-LU session count: the number of LU-LU sessions for this LU that are not reset, and for which SESSEND is sent to the SSCP
10   Flags
0123 4567
 
1... ....
Parallel sessions capability. Parallel sessions supported
.1.. ....
Retired
..1. ....
SESSST capability in RSP(ACTLU) (reserved in NOTIFY). SESSST RU is sent if for an SLU
...1 ....
XRF session activation (X'27') control vector support in RSP(ACTLU) (reserved in NOTIFY and for peripheral nodes). XRF session activation (X'27') control vector supported on BIND.
.... 1...
Peripheral node extended BIND support indicator (used between a dependent LU and its BF, but otherwise reserved). Dependent LU does support receipt of extended BINDs.
.... .1..
Network-qualified names support indicator in bytes k+2-m and p+2-r. A BIND received by this LU can contain network-qualified LU names in bytes k+2-m and p+2-r.
.... ..1.
Subarea node extended BIND support indicator (used between a subarea LU or BF and its SSCP, but otherwise reserved). Subarea LU or BF(LU) does support sending and receiving extended BIND.
.... ...1
Boundary function (BF) network address pair (X'15') session key support (reserved for peripheral nodes). BF does support session key X'25'.
Note: Boundary function support for session key X'25' cannot be changed after RSP(ACTLU); in NOTIFY, the sender sets bit 7 to 0, which is then ignored by the receiver.
11   Vector extension
12-18   Retired

LU-LU session services capabilities NOTIFY vector (X'0C'). It is used to inform the SSCP having an active session with the sending LU of the current LU-LU session services capabilities of that LU.

Table 5. Format of a Notify request unit (Part 5 of 5)
Byte Contents Description
19   Additional capabilities:
0123 4567
 
1... ....
Receipt of unrecognized control vectors on CINIT supported.
.111 ....
Reserved
.x11 ....
1
..xx xxxx
Reserved

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014