Calling Subroutines 

You call subroutines using the statement

PERFORM... [USING   ... <pi>... ]
            [CHANGING... <pi>... ].

Subroutines can call other subroutines (nested calls) and may also call themselves (recursive calls). Once a subroutine has finished running, the calling program carries on processing after the PERFORM statement. You can use the USING and CHANGING additions to supply values to the parameter interface of the subroutine.

Naming Subroutines

Passing Parameters to Subroutines