Introduction
By definition internal sub-routines are part of the program entity both at a source and object level and there are no additional issues to consider.
In this context internal sub-routines are those invoked with BAS/BASR in Assembler or PERFORM in COBOL.
External sub-routines will be invoked by CALL/LINK/XCTL in Assembler or CALL in COBOL.
With external sub-routines there is a choice as to whether to combine them into a single loadable program, which is the responsibility of the Linkage Editor/Program Binder, or
to allow the sub-routines to be loaded independantly which is known as Dynamic Linkage.
Even with the Dynamic Linkage option, the Linkage Editor/Program Binder is still required after the compile stage to ensure that the
machine readable code is executable.
Further reading associated with this module should include:
- " z/OS MVS Program Management: User's Guide and Reference".