定义 Language Environment 的运行时选项

Language Environment® 提供运行时选项来控制程序的处理过程。 在 CICS® 下,具体哪些选项适用于某个程序的执行,不仅取决于该程序本身,还取决于其运行方式。

Java™程序以及从Web启动的程序使用 Language Environment 预初始化模块CEEPIPI。 这具有自己的 CEEDOPT CSECT 版本,此类程序从此 CSECT 获取其运行时选项。

对于常规的 CICS 任务(例如从终端启动的任务),请使用下列任一方法设置 Language Environment 运行时选项。 有关 Language Environment 运行时选项完整优先级顺序的更多信息,请参阅《 z/OS Language Environment 编程指南 》。 这些方法按其处理顺序显示。 每个设置都可以被以下一个设置覆盖。 这实际上是一个相反的优先顺序。
  1. CEECCICS内置的CEEDOPT CSECT包含 IBM® 和 Language Environment 默认运行时选项。 您可以使用位于 SCEESAMP 中的 CEEWCOPT 样本作业来更改这些缺省运行时选项。 此选项受支持,但使用 CEEPRMxx parmlib 成员来指定运行时选项是首选且最简单的方法。
  2. CEEPRMxx参数库成员为CEECOPT选项组提供支持,该组是为 CICS 设置默认 Language Environment 运行时选项的首选方法。
  3. 在区域范围的缺省选项所在的 CEEROPT CSECT 中。 此 CSECT 被链接编辑到同名的装入模块中,并放置在 CICS 作业的 DFHRPL 库并置中的数据集内。
  4. 用户可替换程序 DFHAPXPO (仅适用于 XPLINK 程序)。
  5. 在用户提供的应用程序级别运行时选项所在的 CEEUOPT CSECT 中。 此 CSECT 与应用程序本身链接。
  6. 在使用编程语言选项语句的应用程序源代码中,如下所示:
    • 在 C 程序中,通过程序源中的 #pragma runopts 语句。 例如:
      #pragma runopts(rptstg(on))
    • 在 PL/I 程序中,通过程序内的PLIXOPT声明语句。 例如:
      DECLARE PLIXOPT CHARACTER(18) VARYING STATIC EXTERNAL
      INIT('RPTOPTS(ON) NOSTAE');
    注意: 在 COBOL 程序或C++程序中,不存在允许设置运行时选项的源代码机制。
  7. 在调试配置文件中指定的 Language Environment 选项中。 有关更多信息,请参阅 调试概要文件

在大多数安装中,先前列表中的第一个方法对应用程序员不可用,而第二个方法通常不可用。 但是,应用程序员可以使用方法 4 或方法 5。 仅选择一个方法; 请勿尝试同时使用方法 4 和方法 5。 有关生成 CEEUOPT CSECT 以与应用程序链接的信息,请参阅 z/OS Language Environment Customization

CEEDOPT 和 CEEROPT 都能够设置任何选项,以便以后的规范无法覆盖此选项。

有关如何指定 Language Environment 运行时选项及其含义的更多信息,请参阅《 z/OS Language Environment 编程参考》。

CICS 下忽略的运行时选项

在 CICS 环境下,多数 Language Environment 运行时选项设置会被忽略。 这些是 Fortran 专属选项,外加以下内容:
  • ABPERC
  • AIXBLD
  • CBLOPTS
  • CBLQDA
  • DEBUG
  • 特警
  • 中断
  • LIBRARY
  • MSGFILE
  • 非NIPT堆栈
  • 任务计数
  • POSIX (除非 XPLINK 或 Java 程序)
  • RTEREUS
  • 实时定位系统
  • SIMVRD
  • 线程堆
  • 版本

确定使用了哪些运行时选项

若需了解程序运行时生效的 Language Environment 运行时选项,请指定选项RPTOPTS(ON)。 当程序结束时,将生成使用的所有运行时选项的列表。 该列表将写入 CESE TD 队列。 该列表不仅包含选项的实际设置,还包含它们的来源,即,它们是安装或区域的缺省设置,还是由程序员设置,还是在其中一个出口中设置。

注: 请勿在生产环境中使用 RPTOPTS (ON)。 存在大量开销,这会导致将大量数据写入 CESE 队列。

子相关可调度单元组中的运行时选项: 性能注意事项

在 CICS 中,执行 CICS 的LINK命令会创建 Language Environment 所称的子安全区。 新环境已初始化,子相关可调度单元组将获取其运行时选项。 这些运行时选项与创建相关可调度单元组中存在的选项无关。

频繁使用 EXEC CICS LINK 以及许多运行时选项的单独设置可能会影响性能。 静态或动态调用不会产生这些开销。 如果必须使用 CEEUOPT 来指定选项,那么仅指定那些不同于缺省值的选项可提高性能。

执行 CICS XCTL 命令时发生类似情况。 在这种情况下,我们不会获取子相关可调度单元组,但会终止现有相关可调度单元组,然后使用为新程序确定的运行时选项进行重新初始化。 相同的性能注意事项也适用。