A program unit is a sequence of one or more lines, organized as statements, comments, and directives. A subprogram is either a function or a subroutine and is either an internal, external, or module subprogram.
A program unit is usually a sequence of statements that define the data environment and the steps necessary to perform calculations; it is terminated by an END statement.