This phrase specifies the name of a procedure that is to select or modify
output records from the sorting operation.
- procedure-name-3
- Specifies the first (or only) section or paragraph in the output procedure.
- procedure-name-4
- Identifies the last section or paragraph in the output procedure.
The output procedure may consist of any procedure needed to select, modify,
or copy the records that are made available one at a time by the RETURN statement
in sorted order from file-name-1. The range of the output procedure includes
all statements that are executed as the result of a transfer of control by
CALL, EXIT, GO TO, and PERFORM statements within the output procedure. The
range also includes all statements in declarative procedures that are executed
as a result of the execution of statements in the range of the output procedure.
The range of the output procedure must not include any MERGE, RELEASE, or
SORT statement.
If an output procedure is specified, control passes to it after file-name-1
has been sequenced by the SORT statement. The compiler inserts a return mechanism
after the last statement in the output procedure, and when control passes
that statement, the return mechanism terminates the sort and passes control
to the next executable statement after the SORT statement. Before entering
the output procedure, the sort procedure reaches a point at which it can select
the next record in sorted order when requested. The RETURN statements in the
output procedure are the requests for the next record.
Note: The
INPUT and OUTPUT PROCEDURE phrases are similar to those for a basic PERFORM
statement. For example, if you name a procedure in an OUTPUT PROCEDURE phrase,
that procedure is executed during the sorting operation just as if it were
named in a PERFORM statement.
As with the PERFORM statement, execution of the procedure ends after the
last statement executes. The last statement in an input or output procedure
can be the EXIT statement (see EXIT Statement).
IBM Extension
The SORT-RETURN special register contains a return code
indicating the success (or lack of) of a SORT operation. See SORT-RETURN Special Register for
more information.
End of IBM Extension