call "CBL_EXEC_RUN_UNIT" using command-line by value command-line-len by reference run-unit-id by value stack-size by value flags returning status-code
Using call prototype (see Key) | Picture | |
---|---|---|
command-line | pic x(n). | pic x(n). |
command-line-len | cblt-os-size. | pic x(4) comp-5
or pic x(8) comp-5 (64-bit native programs only) |
run-unit-id | cblt-x8-comp5. | pic x(8) comp-5. Must be level 01. |
stack-size | cblt-os-size. | pic x(4) comp-5
or pic x(8) comp-5 (64-bit native programs only) |
flags | cblt-os-flags. | pic x(4) comp-5
or pic x(8) comp-5 (64-bit native programs only) |
status-code | See Library Routines - Key |
0 | The newly created run unit inherits the caller's console for screen I/O. Only one member of the coru should access this console at a time, otherwise unpredictable results may be encountered. |
1 | The newly created run unit has a new console for terminal I/O allocated to it. This console is independent from the parent and can be used for screen I/O. |
Comments:
The run unit that makes the call is known as the parent, while the run unit created is known as the child. When the child is created it inherits certain attributes from its parent. The attributes inherited by the child are copies of the attributes in the parent at the exact time of the call; any changes made to the attributes of the parent after the call are not reflected in the child's attributes. Similarly, any changes made to the child's attributes are not reflected in the parent's attributes.
Bit 1 flag controls which attributes of the parent are inherited by the child.
In the .NET environment, the run unit created by this command does not inherit any COBOL or run-time switches, or environment variables. CBL_EXEC_RUN_UNIT does not open libraries for the run unit it creates.
The set of run units containing the initial run unit and all run units created from it is known as the coru.
You should be aware of the following when using run units: