An LU 6.2 application can specify itself on the LUNAME
parameter of a CNOS request. This allows transaction programs on the
application to allocate LU=OWN conversations. If VTAM® determines that the target
LU is the same as the source LU for the CNOS request, VTAM accepts the request and manages the CNOS
negotiation as follows:
- Builds source-side LU-mode table entries as needed.
VTAM determines whether an LU-mode
table entry exists for the logon mode being negotiated between the
LU-LU pair. If one does not exist, VTAM builds
and initializes the entry using default defined negotiation limits.
- Builds a CNOS session limits control block, if needed.
If
the application program did not specify a CNOS session limits control
block when it issued the APPCCMD CONTROL=OPRCNTL, QUALIFY=CNOS macroinstruction, VTAM builds one for the application
program, using the defined negotiation limits in the LU-mode table.
This CNOS session limits control block represents the proposed session
limits for the source side.
- Starts SNASVCMG conversation.
The source-side VTAM starts a conversation with the target-side VTAM using the SNASVCMG mode.
Note: The
application program does not have to negotiate CNOS session limits
for the SNASVCMG mode before requesting a CNOS negotiation for another
user logon mode. VTAM defaults
the SNASVCMG mode limits to (2,1,1) automatically when needed.
- Bypasses target side CNOS processing.
Because the source side
LU and the target side LU are the same, the proposed session limits
are not sent to the target side. A separate target side LU-mode entry
is not built. One LU-mode entry suffices for both sides.
- Adjusts proposed session limits.
The proposed session limits
are adjusted as follows:
- The requested SESSLIM value is doubled. This is because each time
a session is used, internal session representations are used two at
a time.
- The number of contention winner sessions is set to the requested
SESSLIM value.
- The number of contention loser sessions is set to the requested
SESSLIM value.
For example, if SESSLIM=10, then VTAM sets the session limits to (20,10,10).
- Updates the LU-mode table.
If the adjusted session limits
are deemed acceptable, then VTAM updates
the session limits in the LU-mode table to reflect the adjusted values.
- Does not schedule the ATTN exit.
Unlike normal CNOS
processing, when an LU requests a session with itself, the ATTN(CNOS)
exit is not scheduled on the target side.
- Initiates session activation or deactivation as needed.
When
the session limit negotiation is successful, VTAM initiates session activation or deactivation
as needed. If AUTOSES is set on, VTAM tries
to match it within the constraints of the session limits and to satisfy
all session activation requests that are waiting.
- Completes the CNOS macroinstruction.
VTAM sets return codes and posts them to the
source application program. If the application program specified a
CNOS session limits control block on the APPCCMD CONTROL=OPRCNTL,
QUALIFY=CNOS macroinstruction, the negotiated session limits are copied
back to the CNOS session limits control block when the macroinstruction
completes.