gtps2m3h | ACF/SNA Data Communications Reference |
The SNA architecture defines the Data Flow Control (DFC) layer to provide the following services for LU-LU sessions:
Although DFC may provide all of these services for a particular LU-LU session, all may not be supported for that session. The options to be supported (for example BRACKETS) are agreed upon at session establishment time (BIND).
Associated with each RSC defined at TPF SNA generation time, certain services are available and/or precluded depending upon the device type specified. For example, BRACKET and Definite Response protocols are precluded for NPSI (MCH and VC) LUs, but available for 3270s. Thus, TPF supports a specific set of BIND values (images) for each device type and the generation process forces the device definition to conform to one of the supported images for that device.
The TPF SNA DFC layer communicates with the network through the TPF-provided lower level Transmission Control (TC) layer. The TC layer provides the following functions:
The TPF SNA Output Message Transmission (OMT) package, acting as owner and manager of the message queue, provides the DFC services. As an alternative to using OMT, the user is able to define and implement PSV exit routines which own and manage the message queue via Queue Manager, thus assuming the DFC responsibility. Although the user should provide the full complement of DFC functions, only those specified in the associated TPF BIND image can be used for that session. For example, the TPF BIND image for NPSI (MCH and VC) LU resources precludes the support of BRACKET protocols, and any use of BRACKET protocols for that session will cause errors.
The DFC functions are closely related to the Request/Response Header (RH) indicator settings and DFC RU commands of the PIU. Upon receipt of a PIU, the RH and RU dictate which DFC services must be performed; similarly, the DFC functions that are used dictate the RH and RU of the outbound PIU. Because of this interdependence, TPF provides the user DFC with:
The ROUTC user exit and PSV routines provide the user interface to the SNA
DFC layer of TPF SNA. The interface is described in Table 14.
RU Type | AM0SG Fields | RCPL Setting |
---|---|---|
|
|
|
Notes:
An application or PSV (Process Selection Vector) sends output messages using the ROUTC macro. If an output message cannot be delivered to its destination, the originating application/PSV may have requested that:
The user DFC interface (see Table 14) precludes the application/PSV from requesting the message that is queued. Outbound messages across the user DFC interface are to be considered as having been transmitted to the network. Queueing of the message for later transmission is the user DFC's responsibility.
Output messages that cannot be sent, such as when no session exists, are passed to the originator as input. In this situation, the RCPL Returned Message Indicator is set on (RCPL0RET = 1). Applications and PSV exit routines should be designed with the capability of processing returned output messages.
The TPF TC layer enforces the session pacing protocols. When the user provides the DFC layer, the TPF TC layer queues messages when the session is at the pacing limit or if a pacing queue exists. Upon the return from the ROUTC request, the user DFC should consider the message to have been transmitted. Messages stalled by pacing limits are not returned to the originator, but are discarded during session end processing.
Messages being returned by TPF to the application may differ from those sent by the application as the original messages may have been altered by the ROUTC Exit or a PSV routine. Thus, when using these facilities, regardless of the DFC layer implementation and/or use of PSV routines, TPF must return messages to the originator (application/PSV) via the same path (ROUTC Exit / PSV), rather than directly to the application via the RCAT enter expansion.
The user DFC is given all PIU responses (positive or negative) during the session. A TPF sample negative response analysis program per LU type is provided to perform the analysis for each -RSP sense code received:
The PSV may use the TPF sample or a user modified version. The
sample analysis programs are activated via ENTRC using the interface described
in Table 15.
Table 15. Sample Negative Response Handler Interface
Interface | Input | Returned |
---|---|---|
Registers | Irrelevant |
|
ECB Workarea | Irrelevant | Not Changed |
Data Levels | D0 = PIU | Not Changed |
Protect Key | Working Storage | Working Storage |
Upon return from the analysis segment, the user should start the processing corresponding to the action code(s) specified in register 7. See Table 19 for detailed information.
Table 16. LU0 (3600, NPSI) -RSP Analysis
SENSE | Description | User Action |
---|---|---|
X'0802' | Intervention Required | HOLDQ |
X'0813' | Bracket BID Reject - No RTR forthcoming | HOLDQ + WAIT |
X'0814' | Bracket BID Reject - RTR forthcoming | HOLDQ + WAIT |
X'0817' | XIO unsuccessful (GATE/PAD) MCH Inactive | HOLDQ |
X'081B' | Receiver in Transmit | RESYNC |
X'1xxx' | Request Error | TERMINATE |
X'2xxx' | State Error | RESYNC |
X'4xxx' | Request Header (RH) Usage Error | TERMINATE |
X'8xxx' | PATH Error | TERMINATE |
Table 17. 3274/76 (LU1, LU2, LU3) Sense Code Table
SENSE | Description | User Action |
---|---|---|
X'0802' | Intervention Required | HOLDQ + WAIT |
X'0807' | Resource Not Available - LUSTAT Forthcoming | HOLDQ + WAIT |
X'0811' | BREAK | RETRY |
X'0813' | Bracket Bid Reject - No RTR Forthcoming | HOLDQ + WAIT |
X'0814' | Bracket Bid Reject - RTR Forthcoming | HOLDQ + WAIT |
X'081B' | Receiver in Transmit Mode | SIGNAL |
X'0829' | Change Direction Required | RESYNC |
X'082A' | Presentation Space Alteration | REFORMAT |
X'082B' | Presentation Space Integrity Lost | REFORMAT |
X'082D' | LU Busy | HOLDQ + WAIT |
X'082E' | Intervention Required at LU Subsidiary Device | HOLDQ + WAIT |
X'082F' | Permanent Error at LU Subsidiary Device | RETRY |
X'0831' | LU Disconnected | HOLDQ + WAIT |
X'1xxx' | Request Error | TERMINATE |
X'2xxx' | State Error | RESYNC |
X'4xxx' | Request Header (RH) Usage Error | TERMINATE |
X'8xxx' | PATH Error | TERMINATE |
X'FFFF' | DEFAULT | Use actions shown in Table 16 if sense not found here. |
Table 18. 3274/76 (LU1, LU2, LU3) LUSTAT SENSE TABLE
SENSE | Description | User Action |
---|---|---|
X'00010000' | LU Available (T1/T3) | WAKEUP |
X'0001B000' | Printer - Available (T2) | WAKEUP |
X'0001D000' | Display - Available (T2) | WAKEUP |
X'00020000' | No Data to Send | WAKEUP |
X'082B0000' | Available, Presentation Space Integrity Lost, Formatting Required. | REFORMAT |
X'08310000' | Powered Off or Disconnected | HOLDQ + CD |
X'FFFF0000' | DEFAULT | TERMINATE |
Table 19. Negative Response Processing Actions
Action | Value | Processing Description |
---|---|---|
CD | X'00000001' | Yield direction to the remote. Set change direction indicator of the RH (RH0B2CD = 1) in the RCPL GDA for the next ROUTC request. |
HOLDQ | X'00000010' | Suspend processing of messages queued for transmission. Queue all ensuing transmit requests. |
REFORMAT | X'00000020' | Application must format the screen. |
RETRY | X'00000030' | Resend message up to some user defined limit before starting HOLDQ and awaiting LUSTAT with available sense data. |
RESYNC | X'00000040' | Initiate resynchronization process. Using the Session Services Interface request 'RESYNC' activation of this session. |
SIGNAL | X'00000050' | Send SIGNAL DFC request to obtain direction. |
TERMINATE | X'00000060' | No recovery possible for this error. Using the Session Services Interface request 'FORCED' termination of this session. |
WAIT | X'00000002' | Do not initiate any further transmissions. Wait for an indication from the remote resource (that is, LUSTAT or RTR) before resuming transmit processing. |
WAKEUP | X'00000070' | Resource now available. Treat as Session Started Notification. |