ON OVERFLOW Phrases
- The pointer value (explicit or implicit) is less than 1
- The pointer value (explicit or implicit) exceeds a value equal to the length of the sending field
- All data receiving fields have been acted upon, and the sending field still contains unexamined characters.
- An overflow condition exists, and no more data is transferred
- The UNSTRING operation is terminated
- The NOT ON OVERFLOW phrase, if specified, is ignored
- Control is transferred to the end of the UNSTRING statement or, if the ON OVERFLOW phrase is specified, to imperative-statement-1.
If control is transferred to imperative-statement-1, execution continues according to the rules for each statement specified in imperative-statement-1. If a procedure branching or conditional statement that causes explicit transfer of control is executed, control is transferred according to the rules for that statement; otherwise, upon completion of the execution of imperative-statement-1, control is transferred to the end of the UNSTRING statement.
If conditions that would cause an overflow condition are not encountered, the ON OVERFLOW phrase, if specified, is ignored. If the NOT ON OVERFLOW phrase is specified, control is transferred to imperative-statement-2; otherwise, control is transferred to the end of the UNSTRING statement.
If control is transferred to imperative-statement-2, execution continues according to the rules for each statement specified in imperative-statement-2. If a procedure branching or conditional statement that causes explicit transfer of control is executed, control is transferred according to the rules for that statement. Otherwise, upon completion of the execution of imperative-statement-2, control is transferred to the end of the UNSTRING statement.