# External Procedures

External procedures are user-written functions or subroutines. They are located outside of the main program and can't be part of any other program unit.

External procedures can be invoked by the main program or any procedure of an executable program.

External procedures can include internal subprograms (defining internal procedures). Internal subprograms are placed after a CONTAINS statement.

An external procedure can reference itself (directly or indirectly).

The interface of an external procedure is implicit unless an interface block is supplied for the procedure.

Parent topic: Program Units and Procedures

## See Also

Functions, Subroutines, and Statement Functions
Procedure Interfaces