Turns on bounds checking for reference modifications, subscripting and indexes.
Note: This directive is supported for native COBOL only.
Syntax:
>>-.---.-.-SSRANGE-.----------.--.-------><
+-/-+ | +-"integer"+ |
+-NOSSRANGE-------------+
Parameter:
-
integer
- The level of SSRANGE support required. The possible values are:
- 1
- At run-time, subscripts and indexes are checked to ensure they are not referencing an area outside the table, and reference modified items are checked for negative or zero value.
- 2
- At both compile time and run-time, subscripts, reference modified items, and indexes are checked to ensure they are not referencing an area outside the table.
Properties:
Default:
|
NOSSRANGE
|
Phase:
|
Syntax check
|
$SET:
|
Initial
|
Dependencies:
Sets BOUND immediately
Comments:
This directive is provided for emulation of the IBM mainframe compiler of the same name; because of this, its scope is limited to the syntax permissible in a mainframe dialect.
If you set SSRANGE without an integer, the behavior is the same as SSRANGE(2).
For unbounded groups or their subordinate items, checking is done only for reference modification expressions. Subscripted or indexed references to tables subordinate to an unbounded group are not checked.