使用 EXCI 选项表 DFHXCOPT

通过 DFHXCOPT 宏生成的 EXCI 选项表,您可以指定外部 CICS® 接口所需的大量参数。

DFHXCOPT 选项表: 新格式与旧格式

DFHXCOPT 选项表自首次引入以来已更改,现在包含一个版本号,以便为将来的扩展提供更大的灵活性。 例如,如果您计划从 CICS的较早发行版迁移定制的 DFHXCOPT 表,那么您需要了解此更改。

为了区分旧格式和新格式,使用名为 DFHXCOPE的别名对新格式表进行了链接编辑。 以下序列用于装入选项表:
  1. CICS 尝试使用其别名 DFHXCOPE 来装入 DFHXCOPT 表。 如果找到并成功装入名为 DFHXCOPE 的装入模块,那么 CICS 会假定该表采用新格式。
  2. 如果 CICS 找不到名为 DFHXCOPE 的装入模块 (或找到该模块但未能装入该模块) ,那么它会尝试使用其 基本 名称 DFHXCOPT 来装入表。 在这种情况下, CICS 假定表采用较旧的格式。

CICS 提供缺省 DFHXCOPT 表,并在 CICSTS56.CICS.SDFHSAMP 库中提供缺省表的源代码。 缺省 DFHXCOPT 表的装入模块及其别名 DFHXCOPE 位于 CICSTS56.CICS.SDFHEXCI 库中。

创建定制 DFHXCOPT 表

您可以根据自己的需求定制 CICS提供的缺省 DFHXCOPT 表的源代码。

您必须将自定义的 DFHXCOPT 表组装并链接编辑到运行 MVS 客户端程序的作业的 STEPLIB 连接中的合适库中。

重要信息: 如果您创建自己的定制 DFHXCOPT 表,请确保使用 DFHXCOPE 别名对其进行链接编辑。 使用标准 DFHAUPLE 过程可确保发生此情况。 如果在不使用别名的情况下重新组合和链接编辑表,那么 CICS 将装入缺省表 (通过其 DFHXCOPE 别名找到) ,而不是装入定制表。

您可以使用自己版本的 CICS DFHAUPLE 过程来执行此操作。 DFHAUPLE 过程在 CICSTS56.CICS.SDFHINST 中提供。

DFHXCOPT 宏: 格式和参数

与您为 CICS 区域指定的表不同, DFHXCOPT 表不能有后缀。

下表显示了 DFHXCOPT 宏及其参数的格式。

类型 = {CSECT| DSECT}
指示要生成的表的类型。
CSECT
通常使用的常规控制部分。
DSECT
哑元控制部分。
ABENDBKOUT = {NO| YES}
指定在 CICS 服务器中异常终止的任务是否触发全局工作单元的自动回滚。 当 EXCI 客户机程序通过 MVS RRS 控制资源恢复时 (即,在 DPL 请求上 指定 SYNCONRETURN) ,存在全局工作单元。 在这种情况下,您可能很希望在 CICS 服务器程序异常终止时将全局工作单元标记为回滚。
注: 当在 DPL 请求上指定 SYNCONRETURN 时, ABENDBKOUT 无效。
未将全局工作单元标记为回滚。
YES
处理服务器程序的异常终止时, CICS 镜像程序会标记要回退的全局工作单元。
在这两种情况下, EXCI 客户机程序在 EXCI DPL 请求上接收到返回码 422 SERVER_AB报。
CICSSVC = {216|number}
指定用于 MRO 通信的 CICS 类型 3 SVC 编号。 缺省值为 216。

外部 CICS 接口必须使用驻留在运行客户机程序的 MVS 映像中的 CICS MRO 区域正在使用的相同 SVC 编号。

0
指定零以指示外部 CICS 接口将通过 MVS VERIFY 命令从 MVS 获取 CICS SVC 编号。

仅当您确定在 MVS IPL 期间至少有一个 CICS 区域已登录到 DFHIRP 时,才应指定零。

数字
指定用于 CICS 区域间通信的 CICS SVC 编号,范围为 200-255。 这必须是安装在运行客户机程序的 MVS 映像 (本地 MVS) 中的 SVC 编号。

如果在 IPL 期间没有 MRO CICS 区域登录到本地 MVS 中的 DFHIRP ,那么必须指定非零 SVC 编号。 如果指定零,那么外部 CICS 接口将从 MVS 请求 SVC ,如果没有 CICS 区域登录到 DFHIRP ,那么将失败。

在那些未运行任何 CICS 区域的 MVS 映像中需要非零值,并且客户机程序正在向驻留在另一个 MVS 中的服务器 CICS 区域发出 DPL 请求。 在这些情况下,客户机程序使用本地定义的 SVC 登录到本地 DFHIRP ,并使用 XCF/MRO 与远程 CICS 区域进行通信。

注: 在同一 MVS 映像中使用 MRO 的所有 CICS 区域都必须使用最高级别的 DFHIRP 和 CICS SVC DFHCSVC。 如果 MRO CICSplex 由不同发行版级别的 CICS 区域组成,那么 LPA 中安装的 DFHIRP 和 DFHCSVC 必须来自 CICSplex 中 CICS 的最高发行版级别。
CONFDATA = {HIDE| SHOW}
对该参数进行编码,以指示外部 CICS 接口是否禁止 (隐藏) 用户数据,否则这些数据可能会出现在输出到 GTF 的 EXCI 跟踪条目或 EXCI 转储中。 此选项适用于在 EXCI 客户机程序与 CICS 服务器程序之间流动的 COMMIT 或 CONTAINER 数据的跟踪。
HIDE
EXCI 将从跟踪条目中 "隐藏" 用户 COMMIT 或 CONTAINER 数据。 相反,跟踪条目包含一个字符串,表明数据已被禁止。
SHOW
数据禁止未生效。 跟踪用户数据。
DURETRY = {30|number-of-seconds| 0}
指定外部 CICS 接口继续尝试使用 SDUMP 宏获取 MVS 系统转储的总时间 (以秒计)。

DURETRY 允许您控制当外部 CICS 接口发出 SDUMP 请求时,如果同一 MVS 系统中的另一个地址空间已在执行 SDUMP ,那么外部 CICS 接口是否重新发出 SDUMP 以及重新发出 SDUMP 的时间长度。

如果发生 SDUMP 故障,那么外部 CICS 接口将按如下所示进行反应:
  • 如果 MVS 已经将 SDUMP 用于另一个地址空间,并且 DURETRY 参数非零,那么外部 CICS 接口将发出 MVS STIMERM 宏以等待 5 秒,然后再重试 SDUMP 宏。 外部 CICS 接口发出一条消息,表示它将每隔 5 秒重试一次 SDUMP ,直到达到 DURETRY 时间限制为止。
  • 如果 SDUMP 由于以下任何其他原因而失败,那么外部 CICS 接口会发出一条消息,通知您 SDUMP 已失败,并提供原因。
    • 没有 SYS1.DUMP 数据集可用。
    • 存在阻止完成转储的 I/O 错误。
    • DURETRY 限制在重试 SDUMP 时到期。
30
30 秒允许外部 CICS 接口最多重试 6 次 (每 5 秒一次)。
秒数
对希望外部 CICS 接口继续重试 SDUMP 宏的总秒数 (最多 32767 秒) 进行编码。 外部 CICS 接口每隔五秒重试一次 SDUMP ,直到成功或在等于或大于 DURETRY 值的时间段内重试为止。
0
如果您不希望 CICS 重试 SDUMP ,请对零值进行编码。
GTF = {OFF| ON}
指定通常写入外部 CICS 接口跟踪表的所有跟踪条目是否也要写入 MVS 通用跟踪设施 (GTF) 数据集 (如果 GTF 跟踪处于活动状态)。
关闭
如果不将跟踪条目写入 GTF ,请对此进行编码。
ON
如果要将跟踪条目写入 GTF ,请对此进行编码。
LOCALCCSID = {037|CCSID}
指定 EXCI 作业的缺省 CCSID。 CCSID 是最多包含 8 个字符的值。 如果未指定 CCSID 值,那么缺省 LOCALCCSID 设置为 037。 有关有效 CCSID 的列表,请参阅以下信息:
037
LOCALCCSID 的缺省值。
CCSID
表示任何其他有效 EBCDIC CCSID 值。
MSGCASE = {MIXED| UPPER}
指定是以混合大小写还是大写形式发出 DFHEXxxxx 消息。
混合
如果要以混合大小写方式发出消息,请对此进行编码。
UPPER
如果要以大写形式发出消息,请对此进行编码。
TIMEOUT = {0|number}
指定外部 CICS 接口等待 DPL 命令完成的时间间隔 (以百分之一秒为单位)。

DPL 命令可以将一个通道和一组容器传递到 CICS。 传递此信息的命令可能涉及多个数据流,直至 CICS ,以便构造容器数据。 超时时间间隔在最后一个数据流发送到 CICS时开始,这将完成数据并启动 CICS 服务器程序的调用。

0
指定您不希望应用任何时间限制,并且外部 CICS 接口将无限期地等待 DPL 命令完成。
指定外部 CICS 接口等待 DPL 命令完成的时间间隔 (以百分之一秒为单位)。 该数字表示百分之一秒,从 1 到最大值 2 147 483 647。 例如:
6000
表示 1 分钟的超时值。
30,000 美元
表示超时值为 5 分钟。
60000
表示超时值为 10 分钟。
TRACE = {OFF| 1 | 2 | 3}
指定是否要对外部 CICS 接口进行内部跟踪以及在哪个级别进行内部跟踪。
关闭
不需要外部 CICS 接口的内部跟踪。 但是,即使关闭了正常跟踪,异常跟踪条目也始终写入 CICS 区域中的外部 CICS 接口跟踪表。
1
异常和 level-1 跟踪条目将写入外部 CICS 接口跟踪表。
2
异常 level-1和 level-2 跟踪条目将写入外部 CICS 接口跟踪表。
3
异常, level-1, level-2和 level-3 跟踪条目将写入外部 CICS 接口跟踪表。
TRACESZE = {16|千字节数}
指定外部 CICS 接口使用的跟踪表的大小 (以千字节为单位)。 此跟踪表在 CICS 区域中的 31 位存储器 (高于该行) 中进行分配。
16
跟踪表的缺省大小以及最小大小。
千字节数
要为跟踪表分配的存储量的千字节数,范围为 16 KB 到 1 048 576 KB。 子池 1 用于跟踪表存储器,该存储器在作业步骤 TCB 的持续时间内存在。 该表是页面对齐的,占用了整个页面数。 如果指定的值不是页面大小 (4 KB) 的倍数,那么它将向上舍入为 4 KB 的下一个倍数。
TRAP = {OFF| ON}
指定是否使用服务陷阱模块 DFHXCTRA。 DFHXCTRA 作为用户可替换模块提供,其中 IBM® 服务人员可以添加代码以捕获错误。
关闭
如果您不想使用 DFHXCTRA ,请对此进行编码。
ON
如果需要 DFHXCTRA ,请对此进行编码。
XCFGROUP = {DFHIR000|name}
指定要由此客户机程序连接的跨系统耦合设施 (XCF) 组的名称。
注: XCF 组允许同一综合系统中不同 MVS 映像中的 CICS 区域通过多区域操作 (MRO) 连接相互通信。 有关 XCF/MRO 的介绍性信息以及有关如何设置 XCF 组的指示信息,请参阅 跨系统多区域操作 (XCF/MRO)

每个客户机程序最多可以连接一个 XCF 组。

DFHIR000
缺省 XCF 组名。
名称
组名的长度必须为 8 个字符,在右边填充空白 (如果需要)。 有效字符为 A-Z 0-9 以及本地字符 $# 和 @。 为避免将 IBM 使用的名称用于其 XCF 组,请勿以字母 A 到 C , E 到 I 或字符串 SYS开头组名。 此外,请勿使用名称 UNDESIG,该名称保留供安装中的系统程序员使用。

建议您使用以字母 DFHIR开头的组名。