Setting the size of the terminal input and output area

The IOAREALEN attribute of a TYPETERM RDO resource definition specifies the size of the terminal input and output area that is to be passed to a transaction. The size of the TIOA can also be specified by the TIOAL parameter in the DFHTCT TYPE=REMOTE macro, if macro resource definition has been used.

The syntax for the IOAREALEN attribute in a TYPETERM RDO resource definition is ({0|value1},{0|value2}). This setting is used only for the first input message for all transactions. One value defining the minimum size is used for non-SNA devices, while two values specifying both the minimum and maximum size are used for SNA devices.

If you specify ATI(YES), you must specify an IOAREALEN value of at least one byte.

Effects

When value1,0 is specified for IOAREALEN, value1 is the minimum size of the terminal input/output area that is passed to an application program when a RECEIVE command is issued. If the size of the input message exceeds value1, the area passed to the application program is the size of the input message.

When value1, value2 is specified, value1 is the minimum size of the terminal input/output area that is passed to an application program when a RECEIVE command is issued. Whenever the size of the input message exceeds value1, CICS® uses value2. If the input message size exceeds value2, the node abnormal condition program sends an exception response to the terminal.

Limitations

Real storage can be wasted if the IOAREALEN (value1) value, or the value for the TIOAL parameter in the DFHTCT TYPE=REMOTE macro, is too large for most terminal inputs in the network. However, if IOAREALEN (value1) or TIOAL is smaller than most initial terminal inputs, excessive GETMAIN requests can occur, resulting in additional processor requirements, unless IOAREALEN (value1) or TIOAL is zero.

Suggestions

Set IOAREALEN (value1) or TIOAL to a value that is slightly larger than the average input message length for the terminal. The maximum value that can be specified for IOAREALEN or TIOAL is 32767 bytes.

If a value of nonzero is required, specify the most commonly encountered input message size. A multiple of 64 bytes minus 21 allows for SAA requirements and ensures good use of operating system pages.

For the z/OS® Communications Server, you can specify two values if inbound chaining is used. The first value is the length of the normal chain size for the terminal and the second value is the maximum size of the chain. The length of the TIOA presented to the task depends on the message length and the size specified for the TIOA. See the following example:
Figure 1. Message length and terminal input and output area length
Where x is any number of bytes, the following applies.

Without chain assembly:

If the TIOA size is specified as 20x
and the message length is        15x
then the TIOA acquired is        20x

If the TIOA size is specified as 20x
and the message length is        25x
then the TIOA acquired is        25x

With chain assembly:

If Value1 size is                20x
and Value2 size is               25x, then
if the length of a message is    15x
the TIOA acquired is             20x
and if the message length is     22x
the TIOA acquired is             25x

    

Avoid specifying a value1 that is too large, for example, by matching it to the size of the terminal display screen. This area is used only as input. If READ with SET is specified, the same pointer is used by applications for an output area.

Avoid specifying a value1 that is too small, because extra processing time is required for chain assembly, or data is lost if inbound chaining is not used.

In general, a value of zero is best because it causes the optimum use of storage and eliminates the second GETMAIN request. If automatic transaction initiation (ATI) is used for that terminal, a minimum size of one byte is required.

The second value for SNA devices is used to prevent terminal streaming, and so make it slightly larger than the largest possible terminal input in the network. If a message larger than this second value is encountered, a negative response is returned to the terminal, and the terminal message is discarded.

Monitoring

RMF and NetView Performance Monitor (NPM) can be used to show storage usage and message size characteristics in the network.