Raised for allocating a based variable or for performing an area assignment.
Enabled/Disabled status
Always enabled.
Result
Attempted allocations or assignments that raise this condition have no resulting effect.
Raised
When either of the following occurs:
- An attempt is made to allocate a based variable within an area that has too little free storage to accommodate it. The ON-unit for the AREA condition (for example, for a based area) can change the value of the pointer qualifying the area reference
to point to a different area, where the allocation will be attempted again; or it can write out the area and reset it to empty.
- When an area assignment is attempted where the maximum size of the source area exceeds that of the target area.
Other information
- Condition codes
- 360, 361, 362
- Implicit action
- The ERROR condition is raised and a message is printed.
- Normal return
- The action from the ON-unit on normal return can be any of the following:
- The allocation is not attempted again when the condition was raised by an allocation and the ON-unit is a null ON-unit.
- The allocation is attempted again when the condition was raised by an allocation. Before making the attempt, the area reference
is reevaluated. Therefore, if the ON-unit has changed the value of a pointer qualifying the reference to the inadequate area
so that it points to another area, the allocation is attempted again within the new area.
- Execution continues from the point at which the condition was raised when the condition was raised by an area assignment or
by a SIGNAL statement.