Operator control of conversational transactions

The master terminal operator should be aware of the potential use of conversational transactions because their queue characteristics are somewhat different from those of nonconversational transactions. The number of conversational transactions that can be active at one time is 65535 per user or terminal. Also, the same individual transaction can be scheduled many times, but the processing patterns can be quite different among the set.

For example, one conversational transaction could involve an extended search of a database, while another, using multiple-choice menus, might retrieve a single item of data.

Another consideration for conversational transactions is whether the conversations are to be active until they are complete or whether they can be held while the end user is engaged in an offline activity.

Controlling conversational transactions

The following table summarizes the type of information that influences the content of your operational procedures when the online IMS subsystem includes conversational transactions.

Table 1. Operator information for conversational transactions
Transaction attribute Information required Procedure impact
Which transactions are conversational? Summary of purpose and processing characteristics. Multiple messages might need the message format buffer pool and message queues to be monitored.
Any dedicated terminals? What is the maximum number allowed to run? Name LTERM and PTERM. Find maximum storage using DASD and expected loads. Know impact of terminal problem. Advise remote terminal operator of restrictions and status.
Can conversations be held or released? If so, how long? Is operator allowed to terminate? MTO awareness of status. Use of /PSTOP and /EXIT commands. Use of /MODIFY warnings. Use of the ENDCONV= parameter in the DFSOTMA descriptor of the DFSYDTx member of the IMS PROCLIB data set.
What recovery actions are to be taken? At restart. Are abnormal termination exit routines used? Notify remote terminal operator and other recovery personnel of output loss.

Remote terminal operator control for conversational transactions

A remote terminal operator can use a /FORMAT command to begin a conversation. This command formats an MFS-supported terminal screen. Or, the terminal operator can enter the initial transaction. To terminate the conversation before the normal program end, the terminal operator can use the /EXIT command.

The operator can suspend the conversation (if the operator needs to leave the terminal area) by using the /HOLD command. In response, IMS issues message DFS999I, which displays the identification number needed to resume the conversation with the transaction program. The terminal is then available for other transaction activity.

On return to the terminal, the terminal operator can issue the /RELEASE CONVERSATION nnnn command to resume the conversation, where nnnn is the conversation ID from the DFS999I message. As a convenience, IMS re-sends the last output message to the terminal. Or the operator can issue the /EXIT CONVERSATION nnnn command to terminate the conversation.

If the MFS formatting or the output content of the screen is lost during a conversation, enter the /HOLD command followed by the /RELEASE command. These commands resend the first physical page of the current message and restore the format.

MTO control for conversational transactions

The master terminal operator can obtain a status of all conversations, held or active. The following output from the /DISPLAY CONVERSATION command displays the terminal address, the conversation identification number, and status and type of all conversations:
TERMINAL USER    ID STATUS
11-   2          0001 HELD
 4-   2          0002 ACTIVE,SCHEDULED
 4-   1          0011 HELD
VT03             0012 ACTIVE
 

The MTO can terminate a conversation. For example, the /EXIT CONVERSATION 0001 LINE 11 PTERM 2 command terminates the first conversation shown in the command output above. A /START LINE, /START NODE, or /START USER command also terminates the conversation, unless a program is already scheduled to process a portion of the conversation exchange.

Recommendation: Before terminating a conversation, the MTO should broadcast a warning message to that terminal.

Ending idle OTMA conversational transactions using the ENDCONV= parameter of the DFSYDTx member

A timeout value for idle OTMA conversational transactions can be specified in the ENDCONV= parameter, which is in the DFSOTMA descriptor of the DFSYDTx member of the IMS PROCLIB data set. If the conversational transaction remains idle for the specified period after the prior iteration of the conversational transaction completes, OTMA ends the transaction. OTMA also removes from IMS storage the resources that were allocated to the idle conversational transaction.

Exit routines for abnormal termination of conversations

When a conversation terminates abnormally, a termination exit routine named DFSCONE0 can gain control. Its use might be to initiate cleanup activity, or simply to notify the input terminal of the canceled conversation. If the exit routine determines that more elaborate correction is required, it can schedule a transaction. This transaction can include the latest SPA, or a modified version of it, as a message segment. IMS provides a default exit routine (DFSCONE0) which schedules a transaction that includes the old SPA.

You can use the conversational termination exit routine to determine the effect of operator interruption.