Creating child enclaves

In Language Environment, you can use the following methods to create a child enclave:
  • Under CICS®, the EXEC CICS LINK and EXEC CICS XCTL commands. For more information about these commands, go to the IBM Knowledge Center at http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp.
  • Under z/OS, the SVC LINK macro
  • Under z/OS, the C system() function (see z/OS XL C/C++ Programming Guide for more information about system()).
  • Under z/OS, the PL/I FETCH and CALL to any of the following PL/I routines with PROC OPTIONS(MAIN) specified:
    • Enterprise PL/I for z/OS
    • PL/I for MVS & VM
    • OS PL/I Version 2
    • OS PL/I Version 1 Release 5.1
    • Relinked OS PL/I Version 1 Release 3.0 – 5.1

    Such a routine, called a fetchable main in this section, can only be introduced by a FETCH and CALL from a PL/I routine. COBOL cannot dynamically call a PL/I main and C cannot issue a fetch() against a PL/I main. In addition, a fetchable main cannot be dynamically loaded using the CEELOAD macro.

    The routine performing the FETCH and CALL must be compiled with the Enterprise PL/I for z/OS or the PL/I for MVS & VM compiler, or be a relinked OS PL/I routine.

If the target routine of any of these commands is not written in a Language Environment-conforming HLL or Language Environment-conforming assembler, no nested enclave is created.