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.

Table 1. VTAM indicators sent with 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        
Notes:
  1. While IMS is waiting for conversational input, it accepts LUSTATUS carrying 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 an LUSTATUS carrying any other protocol is received.
IMS responds DR1 or DR2 when receiving 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 sends LUSTATUS - 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 LUSTATUS sent 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 as SINGLE1 or MULT1. RQE1 and change-direction are indicated on the LUSTATUS sent 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 as SINGLE2 or MULT2.

  • 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 sends LUSTATUS - 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 LUSTATUS is the same as that which would occur with the last chain (page) had the message been successfully sent.

    The following occurs when IMS receives LUSTATUS - 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. LUSTATUS that is processed as a normal flow input before it is processed as an LUSTATUS command 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-OP

    IMS sends and receives LUSTATUS - NO-OP.

    IMS sends LUSTATUS - 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 /DISPLAY commands when attached synchronously. The LUSTATUS - NO-OP is sent indicating RQD1 and EB.
    • To end the bracket at those times when bound in-brackets/SEND and no synchronous output or restart is possible. That is, IMS is not in conversation or response mode after session restart. The LUSTATUS is sent, indicating RQD1 and EB.
    • To allow required input when bound in-brackets/SEND at session restart and a pending conversational message is dequeued using STSN protocol. LUSTATUS is 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-OP can 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 /EXIT command had been received.

    When IMS is the secondary half session, it receives a special case of LUSTATUS BB/EB RQ*1 after responding with DR1 to a BID command sent by the primary half session. This LUSTATUS removes 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.