Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Language Reference Manual

SIZE condition

Status
SIZE is disabled throughout the program, except within the scope of the SIZE condition prefix.
Result
The result of the assignment is undefined.
Cause and syntax
The SIZE computational condition is raised only when high-order (that is, leftmost) significant binary or decimal digits are lost in an attempted assignment to a variable or an intermediate result or in an input/output operation. This loss can result from a conversion involving different data types, different bases, different scales, or different precisions. Even if the SIZE condition is disabled, any conversion that is not done inline may cause the condition to be raised.

SIZE is raised when the size of the value being assigned to a data item exceeds the declared (or default) size of the data item, even if this is not the actual size of the storage that the item occupies. For example, a fixed binary item of precision (20) occupies a fullword in storage, but SIZE is raised if a value whose size exceeds FIXED BINARY(20) is assigned to it.

Because checking sizes requires substantial overhead in both storage space and run time, the SIZE condition is primarily used for program testing. It can be removed from production programs. For more information on test and production application programs, refer to the Programming Guide.

The SIZE condition differs from the FIXEDOVERFLOW condition in that FIXEDOVERFLOW is raised when the size of a calculated fixed-point value exceeds the maximum allowed by the implementation. SIZE can be raised on assignment of a value regardless of whether or not FIXEDOVERFLOW was raised in the calculation of that value.

If the SIZE condition is raised and it is disabled, the program is in error.

Read syntax diagramSkip visual syntax diagram>>-SIZE--------------------------------------------------------><
 
Implicit action
A message is printed and the ERROR condition is raised.
Normal return
Control returns to the point immediately following the point at which the condition was raised.
Condition codes
340, 341

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)