LUSTATUS protocol
IMS sends and receives LUSTATUS as
summarized in the following table. The DFC bracket, send/receive,
and response requirements illustrated in this figure are subject to
the considerations detailed in the balance of this topic.
Any LUSTATUS sense code not listed
in the following table causes the ISC session to be terminated. An
S in the table indicates the suggested indicator settings for the
given LUSTATUS. An X in the table indicates that IMS also supports the specified indicator settings
for the given LUSTATUS.
| LUSTATUS | VTAM indicators with LUSTATUS | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| RQE1 | RQD1 | RQE2 | RQD2 | ||||||
| EB | CD | -- | CD | EB | CD | -- | CD | EB | |
| Sense Code Received1 : Commit–X'0006' | S | S | X | S | |||||
| Sense Code Received1 : NO-OP–X'0006' | X | S | X | S | |||||
| Sense Code Received1 : Queue Empty–X'0007' | S | X | S | ||||||
| Function Abort–X'0864' | S | S | X | S | |||||
| Function Abort–X'0865' | S | S | X | S | |||||
| Function Abort–X'0866' | X | X | X | X | |||||
| Sense Codes Sent: Commit–X'0006' | |||||||||
| Sense Codes Sent: NO-OP–X'0006' | X | X | |||||||
| Sense Codes Sent: Queue Empty–X'0007' | X | X | |||||||
| Function Abort –X'0865' | X | X | X | ||||||
- While IMS is
waiting for conversational input, it accepts
LUSTATUScarrying EB only. EB causes the conversational output message to be dequeued, conversation mode to be terminated, and the Conversational Abnormal Termination exit routine to be scheduled. The session is terminated if anLUSTATUScarrying any other protocol is received.
LUSTATUS RQD1
or RQD2. IMS requests DR1, DR2,
or exception DR1 or DR2 as indicated in the previous table. The session
is terminated if an exception occurs to LUSTATUS. - LUSTATUS - Queue Empty.
IMS sends and receives
LUSTATUS - queue empty.IMS sendsLUSTATUS - queue empty:- After receiving an asynchronous (ATTACH SCHEDULER) input message and having no output immediately available.
- After sending all available output on a given queue.
RQD1 and end-bracket are indicated on the
LUSTATUSsent when IMS is not in conversation or response mode and has been left in-brackets/SEND, and no output is available to be sent from a component defined asSINGLE1orMULT1. RQE1 and change-direction are indicated on theLUSTATUSsent when IMS is not in conversation or response mode and has been left in-brackets/SEND, and no output is available to be sent from a component defined asSINGLE2orMULT2. LUSTATUS - Function Abort. The supported sense codes are:- X'0864'
- Loop occurs upon re-execution. Sender should not resend the same data.
- X'0865'
- Data sender is responsible for detecting and preventing loop.
- X'0866'
- Data receiver is responsible for detecting and preventing loop.
IMS sendsLUSTATUS - function abortX'0865' only under these conditions:- When an IMS /DEQUEUE command
has been issued by an authorized IMS terminal
operator before the last page of an MFS-demand or autopaged output
message has been sent by IMS.
The DFC bracket and send/receive protocol indicated on the
LUSTATUSis the same as that which would occur with the last chain (page) had the message been successfully sent.
The following occurs when IMS receivesLUSTATUS - function abort:- Except during conversational mode, any function abort received
after an output message (including the last page of MFS demand-paged
or autopaged output) sent RQE/CD causes the output message to be committed
and does not cause session termination.
LUSTATUSthat is processed as a normal flow input before it is processed as anLUSTATUScommand also causes the message to be committed. - Any function abort causes an incomplete input MFS-autopaged message to be discarded.
- Function abort X'0864', received before the last page of an output MFS demand-paged message is sent, causes the message to be dequeued prior to continuing normal input/output operations if the output is conversational and demand-paged. The Conversational Abnormal Termination exit routine is invoked, just as if an /EXIT command had been received on the session.
- Function abort X'0865', received before the last page of an active output MFS demand-paged message is sent, causes the message to be returned to the output message queue and the session to be terminated.
- Function abort X'0866', received before the last page of an active output MFS demand-paged message, causes the message to be returned to the message queue and made available for retransmission before normal input/output operations continue.
- Any function abort resets the ATTACH states to those in effect at the last sync point.
LUSTATUS - function abort might never be sent to IMS in reply to any RU indicating RQD2 or RQE2, or the session is terminated.
- LUSTATUS - Commit
IMS does not send LUSTATUS - commit. IMS receives LUSTATUS - commit as an end-of-message indication immediately following the last page of autopaged input and with EB while awaiting conversational input. This creates a
normal
end of the conversation by invoking the Conversational Abnormal Termination exit routine with a new input vector of X'28'. This allows the exit routine to schedule a transaction to commit pending resources reflected in the scratchpad area (SPA). LUSTATUS - NO-OPIMS sends and receives
LUSTATUS - NO-OP.IMS sendsLUSTATUS - NO-OP:- To allow RQE1 and change-direction (CD) to flow after SIGNAL RCD.
- To end the bracket after receiving a synchronous input message
that generates no output. In IMS,
this only occurs for the
FORMAT,/RDISPLAY, and/DISPLAYcommands when attached synchronously. TheLUSTATUS - NO-OPis sent indicating RQD1 and EB. - To end the bracket at those times when bound in-brackets/
SENDand no synchronous output or restart is possible. That is, IMS is not in conversation or response mode after session restart. TheLUSTATUSis sent, indicating RQD1 and EB. - To allow required input when bound in-brackets/
SENDat session restart and a pending conversational message is dequeued using STSN protocol.LUSTATUSis sent indicating RQE1 and CD. - To end the bracket after receiving exception or ERP FMH7 (without EB) sense code X'0864', following response mode or the last output message of an IMS conversation.
LUSTATUS - NO-OPcan be received during asynchronous or synchronous input processing and might indicate either CD or EB, as necessary. Receipt of LUSTATUS EB during an IMS conversation or response mode or while in test mode causes termination of the IMS conversation, response, or test mode and causes the associated output message to be dequeued. For conversation, the Conversational Abnormal Termination exit routine is invoked just as if an/EXITcommand had been received.When IMS is the secondary half session, it receives a special case of
LUSTATUS BB/EB RQ*1after responding with DR1 to a BID command sent by the primary half session. ThisLUSTATUSremoves IMS (secondary) from a DFC in-brackets/pending state that was set after the aforementioned DR1 was sent and the primary half session has no other message available to be sent. This condition might occur when, for example, the application within the primary half session that caused the BID to be sent might have been abnormally terminated during the time between sending the BID and receiving the BID response.
LUSTATUS-CD should not be followed
by another LUSTATUS-CD. Doing so creates a back-and-forth
effect between the half sessions. IMS always
responds LUSTATUS-EB when receiving LUSTATUS-CD and
no output is available to be sent.