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.
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.