Procedure specifications are used to define prototyped procedures that are specified after the main source section, otherwise known as subprocedures.
The prototype for the subprocedure may be defined in the main source section of the module containing the subprocedure definition. If the prototype is not specified, the prototype is implicitly defined using the information in the procedure interface. If the procedure interface is also not defined, a default prototype with no return value and no parameters is implicitly defined.
A Begin-Procedure statement.
(Use the DCL-PROC operation code in free-form, or
specify B in position 24 of a fixed-form procedure specification) 
Other definitions including files,
variables, constants and prototypes needed by the subprocedure.
These definitions are local definitions. 
An End-Procedure statement (Use the DCL-PROC
operation code in free-form, or
specify E in position 24 of a fixed-formprocedure specification) 
Except for a procedure-interface definition, which may be placed
anywhere within the other local definitions, a subprocedure must
be coded in the order shown above. 
For an example of a subprocedure, see Figure 1.