定义 Language Environment 的运行时选项
Language Environment® 提供了运行时选项来控制程序的处理。 在 CICS® 下,究竟哪些选项适用于某个程序的执行,不仅取决于程序,还取决于程序的运行方式。
Java™ 程序和从 Web 启动的程序使用 Language Environment 预初始化模块 CEEPIPI。 这具有自己的 CEEDOPT CSECT 版本,此类程序从此 CSECT 获取其运行时选项。
- CEECCICS 内置的 CEEDOPT CSECT 包含 IBM® Language Environment 默认运行时选项。 您可以使用位于 SCEESAMP 中的 CEEWCOPT 样本作业来更改这些缺省运行时选项。 此选项受支持,但使用 CEEPRMxx parmlib 成员来指定运行时选项是首选且最简单的方法。
- CEEPRMxx parmlib 成员支持 CEECOPT 选项组,这是设置 Language Environment 默认运行时选项的首选方法,用于 CICS。
- 在区域范围的缺省选项所在的 CEEROPT CSECT 中。 此 CSECT 被链接编辑到同名的装入模块中,并放置在 CICS 作业的 DFHRPL 库并置中的数据集内。
- 用户可替换程序 DFHAPXPO (仅适用于 XPLINK 程序)。
- 在用户提供的应用程序级别运行时选项所在的 CEEUOPT CSECT 中。 此 CSECT 与应用程序本身链接。
- 在使用编程语言选项语句的应用程序源代码中,如下所示:
- 在C程序中,通过程序源代码中的#pragma runopts语句。 例如:
#pragma runopts(rptstg(on)) - 在 PL/I 程序中,通过程序中的 PLIXOPT 声明语句。 例如:
DECLARE PLIXOPT CHARACTER(18) VARYING STATIC EXTERNAL INIT('RPTOPTS(ON) NOSTAE');
注: 没有允许在 COBOL 程序或 C++ 程序中设置运行时选项的源代码机制。 - 在C程序中,通过程序源代码中的#pragma runopts语句。 例如:
- 在调试配置文件中指定的 Language Environment 选项中。 更多信息,请参阅调试配置文件。
在大多数安装中,先前列表中的第一个方法对应用程序员不可用,而第二个方法通常不可用。 但是,应用程序员可以使用方法 4 或方法 5。 仅选择一个方法; 请勿尝试同时使用方法 4 和方法 5。 有关生成与应用程序连接的 CEEUOPT CSECT 的信息,请参阅 z/OS Language Environment Customization。
CEEDOPT 和 CEEROPT 都能够设置任何选项,以便以后的规范无法覆盖此选项。
有关如何指定 Language Environment 运行时选项及其含义的更多信息,请参阅 z/OS Language Environment Programming Reference。
CICS 下忽略的运行时选项
- ABPERC
- AIXBLD
- CBLOPTS
- CBLQDA
- DEBUG
- 特警
- 中断
- LIBRARY
- MSGFILE
- 非 IPTSTACK
- 任务计数
- POSIX (除非 XPLINK 或 Java 程序)
- RTEREUS
- 实时定位系统
- SIMVRD
- 线程堆
- 版本
确定使用了哪些运行时选项
如果想知道程序运行时哪些 Language Environment 运行时选项有效,请指定选项 RPTOPTS(ON)。 当程序结束时,将生成使用的所有运行时选项的列表。 该列表将写入 CESE TD 队列。 该列表不仅包含选项的实际设置,还包含它们的来源,即,它们是安装或区域的缺省设置,还是由程序员设置,还是在其中一个出口中设置。
子相关可调度单元组中的运行时选项: 性能注意事项
在 CICS 下,执行 CICS LINK 命令会创建 Language Environment 所称的子 Enclave。 新环境已初始化,子相关可调度单元组将获取其运行时选项。 这些运行时选项与创建相关可调度单元组中存在的选项无关。
频繁使用 EXEC CICS LINK 以及许多运行时选项的单独设置可能会影响性能。 静态或动态调用不会产生这些开销。 如果必须使用 CEEUOPT 来指定选项,那么仅指定那些不同于缺省值的选项可提高性能。
执行 CICS XCTL 命令时发生类似情况。 在这种情况下,我们不会获取子相关可调度单元组,但会终止现有相关可调度单元组,然后使用为新程序确定的运行时选项进行重新初始化。 相同的性能注意事项也适用。