Setting DEADQ status time with the DLQT parameter

User control block structures are normally created in several situations.

The situations in which user control block structures are created include:
  • When a terminal is logged on and a user signs on.
  • When the AO exit routine (DFSAEOU0) inserts a message to an LTERM or transaction.
  • When an asynchronous transaction output message is sent, or a terminal message switch or /BROADCAST LTERM command is issued.

Messages might be sent to destinations that are unknown, no longer valid, or nonexistent. IMS sets a status of dead-letter queue (DEADQ) when an ETO user control block structure or its associated message queues have not been accessed within the time limit that is set by the DLQT execution parameter. (For DLQT, although valid values are 1-365 days, a value of 1 is not usually recommended. It can result in many premature and misleading DEADQ status settings during the first checkpoint.) The DEADQ status can be set regardless of whether messages have been queued for the user or whether the user is still allocated to a terminal. The DEADQ status is set during IMS checkpoints, and the MTO is notified with message DFS3643.

If the user has messages queued, remove the DEADQ status by signing on the user or by issuing the /DEQUEUE or /ASSIGN command.

User control block structures without queued messages can result in a DEADQ status. User control blocks are not deleted if a special status is pending. The status might have been set during the prior signon (such as response or conversation mode) or as a result of a command (such as /STOP or /EXCLUSIVE). If the control block remains unused for longer than the time specified for the DLQT execution parameter, IMS assigns the control block a DEADQ status, and the MTO is notified with message DFS3643.

If the user control block has DEADQ status, the status is removed when the user signs on or during the next checkpoint after all messages are dequeued and recoverable status conditions are removed using appropriate commands. In the latter case, the control blocks for the user and associated message queues are also deleted.

User control block structures that have DEADQ status might or might not be allocated to a terminal. In the case of LU type–6, SLU-P, and Finance terminals, the user structure can be allocated to the terminal with no active session. Logoff or other session termination can leave these terminals pending message recovery (SNA STSN). The user remains allocated to the terminal, and messages might or might not be queued. (This combination is not possible for other VTAM® terminal types, because a deallocation of the terminal and user ID is forced at logoff and signoff.)

If the user control block structure is allocated to an LU type–6, SLU-P, or Finance terminal, remove the DEADQ status by logging on and signing on the user, or by using the /DEQUEUE command. For LU type–6 (ISC) terminals use the /DEQUEUE command, or force the LU type–6 session to cold start. A forced-session cold start is a /STO NODE, /ASSIGN (USER TO VTAMPOOL), /STA NODE sequence that is valid only for LU 6. Forced cold start is not possible for SLU-P or Finance terminals. Clearing the allocation of an ETO user to a SLU-P or Finance terminal requires an IMS cold start.

In a shared-queues environment, you can use the /DISPLAY QCNT MSGAGE command to find the age of a queue.