Run unit
- The programs operate together as a group. When a hard error occurs and is not handled, all the programs in the run unit are removed from memory.
- The programs share the same runtime properties. The same databases and files are available throughout the run unit, for example, and when you call sqlLib.connect() or vgLib.connectionService() to connect to a database dynamically, the connection is present in any program that receives control in the same run unit.
For implementation specifics, see "Compatibility" in this topic.
Compatibility
| Platform | Issue |
|---|---|
| Java™ generation | When you generate EGL for Java™, the run unit is composed of programs that run in a single thread. A new run unit can start with a main program, as when the user invokes the program. A transfer statement or a show statement with a returning clause also calls a main program but continues the same run unit. In
the following cases, a called program is the initial program of a
run unit:
All programs in a Java™ run unit are affected by the same Java™ runtime properties. |
| CICS® | The CICS® run
unit is composed of EGL and non-EGL programs that run as a single CICS® transaction invocation. This
includes the following:
|
IMS BMP |
The run unit is composed of the programs that run in a single job step, regardless of whether transfers of control occur by way of call statements or transfer statements. All programs in the run unit have access to the same DD statements. For non-EGL programs in the run unit, this includes the use of the CALL statement or an OS XCTL macro. |
| IMS/VS | The IMS/VS run unit is composed of EGL and
non-EGL programs that run as a single IMS™ transaction
invocation. This includes of the following:
|
| iSeries® COBOL | The iSeries® COBOL run unit is composed of the
main program and the programs called (directly or indirectly) from
that program. The run unit ends when a main program ends, as in these
cases:
|