Linear Module
A module which specifies the MAIN or NOMAIN keyword on the Control specification is compiled without incorporating the program cycle.
When the program cycle is not included in the module,
you are restricted in terms of what can be coded in the main source
section. Specifically, you cannot code specifications for:
- Primary and secondary files
- Heading, detail and total output
- Executable calculations, including the *INZSR Initialization subroutine
- *ENTRY PLIST
- Full-procedural files
- Input specifications
- Definition specifications
- Declarative calculations such as DEFINE, KFLD, KLIST, PARM, and PLIST (but not *ENTRY PLIST)
- Exception output
Caution: There is no implicit closing of global files or unlocking of data areas in a linear module. These objects will remain open or locked until they are explicitly closed or unlocked.