Multitasking with PL/I and COBOL

In a multitasking ILC application, the main program, or target program of a CALL statement that creates a subtask, must be PL/I. Subsequent programs invoked from the first program can be COBOL.

COBOL programs can run in more than one PL/I subtask when all the COBOL programs in the application are Enterprise COBOL programs compiled with the THREAD compiler option. If one or more of the COBOL programs is not Enterprise COBOL compiled with the THREAD compiler option, then when a COBOL program has been invoked in a task (either the main task or a subtask), no other COBOL program can execute in any other task until the task used to invoke the COBOL program ends.

To run Enterprise COBOL for z/OS programs compiled THREAD in a PL/I multitasking application:

  1. The COBOL program load modules must be link-edited RENT.
  2. If a COBOL program is going to be FETCHed in a subtask, it must be FETCHed in the main task first (even though it may not be called in the main task).