Status-Control Message

Status-Control messages provide access to session control and data flow control protocols on the PLU session using the PLU connection; they are not used on either of the other connections. Status-Control messages map directly to the equivalent SNA session control and data flow control RUs.

All Status-Control messages that correspond to SNA requests on the normal flow with the exception of LUSTAT-sent RQE, and Status-Control messages corresponding to CLEAR and STSN request on the expedited flow, have the ACKRQD (acknowledgment required) field set. Status-Control messages that correspond to SNA requests on the expedited flow (with the exception of CLEAR and STSN) do not have the ACKRQD field set by the local node. However, the application can set ACKRQD when sending these Status-Control messages. The last figure in this topic summarizes which Status-Control requests always have ACKRQD set.

If a Status-Control request has ACKRQD set in the message header, then the recipient must supply a Status-Control response (that is, Acknowledge, Negative-Acknowledge-1 or Negative-Acknowledge-2) before the sender sends further Data messages or further Status-Control requests on the flow; the sender can still send Status-Control responses, Status-Acknowledge, Status-Error, and Status-Resource messages on the flow. This applies to both normal and expedited flows and all request modes (including delayed-request mode). The message key received on the request must be returned on the response (this is to allow multiple RQE LUSTAT messages to be outstanding). The local node increments the message key on Status-Control requests and DATAFMI messages that it sends to the application on the PLU connection.

For the LUA variant of the FMI, the message key field is used in a different way, as follows:

Except in the case of Status-Control(LUSTAT), if a Status-Control request does not have ACKRQD set then the application should not reply, since a positive response has already been sent by the local node.

For example, if the application sends a Status-Control(QC) Request with ACKRQD set (corresponding to an SNA request on the normal flow), this blocks further data and Status-Control requests corresponding to the inbound normal flow until the Status-Control(QC) response is received. It does not block other messages on the normal flow, or messages on the expedited flow; for example, the application could still send Status-Control(SIGNAL).

The receipt of the Status-Control response implies an acknowledgment to all outstanding messages (including Data messages) on the flow.

The use of ACKRQD on Status-Control messages effectively enforces definite-response and immediate request mode. This is appropriate for:

The application can set ACKRQD on Status-Control requests that correspond to SNA requests on the expedited flow, even where ACKRQD is not required. For example, when an application is signaling for direction (for example, a 3270 emulator with a terminal operator repeatedly pressing the ATTN key), it can generate multiple Status-Control(SIGNAL) Request messages, which would adversely affect the performance of other users. The application can set ACKRQD on the first Status-Control(SIGNAL) Request and ignore events that would cause further Status-Control(SIGNAL) Request messages until the Status-Control(SIGNAL) Response is received from the local node.

The message flows in the following six figures show outbound and inbound Status-Control sequences with and without ACKRQD and the corresponding SNA RUs:

In the first illustration, the application sends Status-Control(CHASE).

In the following illustration, the host sends BID request.

In the following illustration, the application sends Status-Control(SHUTC).

In the following illustration, the host sends SNA SIGNAL request.

In the following illustration, the host sends multiple RQE LUSTAT requests; the application rejects the first one.

In the following illustration, the application sends Status-Control(LUSTAT) NOACKRQD.

The following table summarizes the Status-Control requests supported by the local node and SNA session control (SC) and data flow control (DFC) requests. For each Status-Control request, the table gives:

Status-
Control
SNA RQ flow TS
profile
FM
profile
Direction node–appl
ACKRQD

Code
CLEAR SC,Exp 2,3,4 – –> ACKRQD CCLEAR
(0x01)
SDT SC,Exp 3,4 – –> – CSDT
(0x02)
RQR SC,Exp 4 – – CRQR
(0x03)
STSN SC,Exp 4 – –> ACKRQD CSTSN
(0x04)
CANCEL DFC,Norm – 3,4,7 <–> ACKRQD CCANCEL
(0x10)
LUSTAT DFC,Norm – 3,4,7 <–> – CLUSTAT
(0x11)
SIGNAL DFC,Exp – 3,4,7 <–> – CSIGNAL
(0x12)
RSHUTD DFC,Exp – 3,4,7 – CRSHUTD
(0x13)
BID DFC,Norm – 3,4 –> ACKRQD CBID
(0x14)
CHASE DFC,Norm – 3,4 <–> ACKRQD CCHASE
(0x15)
SHUTC DFC,Exp – 3,4 – CSHUTC
(0x16)
SHUTD DFC,Exp – 3,4 –> – CSHUTD
(0x17)
RTR DFC,Norm – 3,4 ACKRQD CRTR
(0x18)
QC DFC,Norm – 4 <–> ACKRQD CQC
(0x20)
QEC DFC,Exp – 4 <–> – CQEC
(0x21)
RELQ DFC,Exp – 4 <–> – CRELQ
(0x22)

The following requests are used only with LUA (see FMI Concepts).

Status-
Control
SNA RQ flow TS
profile
FM
profile
Direction node–appl ACKRQD Code
CRV SC,Exp 3,4 – –> ACKRQD CCRV
(0x05)
BIS DFC,Norm – 18 <–> ACKRQD CBIS
(0x19)
SBI DFC,Exp – 18 <–> ACKRQD CSBI
(0x1A)

The use of particular Status-Control messages is described in following topics of this section, in the context of PLU session protocols such as chaining, brackets, recovery, and so on. See also Status-Control for the formats of Status-Control messages.