耦合设施数据表

耦合设施数据表支持提供使用 CICS® 文件控制的文件数据共享方法,无需文件拥有区域,也无需 VSAM RLS 支持。 数据保存在耦合设施列表结构中,在许多方面与共享用户维护的数据表相似的表中。

与用户维护的数据表不同,耦合设施数据表不必从源数据集预装入。 装入耦合设施数据表由文件资源定义的 DSNAME 和 LOAD 属性控制,这允许通过指定 LOAD (NO) 来使用 CFDT 的应用程序完全填充 CFDT。

使用 LOAD (YES) 和 DSNAME 属性的方式允许您以各种方式控制 CFDT 的装入,例如:
  1. 任何 CICS 区域都可以装入耦合设施数据表。 为 CFDT 打开的第一个文件将装入该文件,而不管哪个 CICS 区域发出该文件。 通过装入 CICS以只读方式打开数据集。 表的所有文件定义指定源数据集的 LOAD (YES) 和 DSNAME。 如果使用此方法,请确保在每个文件定义上指定相同的数据集,否则第一个要打开的数据集是装入到 CFDT 中的数据集。 CICS 不会验证引用同一 CFDT 的所有文件的 DSNAME 是否相同。
  2. 可以使一个 CICS 区域负责装入耦合设施数据表。 装入区域包含 CFDT 的文件定义,该文件定义指定数据集的 LOAD (YES) 和 DSNAME (通过装入 CICS以只读方式打开)。 其他 CICS 区域不需要访问源数据集,但在装入区域将其打开之前,它们无法打开 CFDT。 非装入区域中 CFDT 的文件定义还必须指定 LOAD (YES) ,但省略 DSNAME。
    您可以限制对耦合设施数据表的访问,直到使用引用同一耦合设施数据表的两个 (或更多) 文件名装入该数据表为止。 要以此方式控制访问权,请执行以下操作:
    • 通过指定 LOAD (YES) 和 DSNAME (datasetname) ,仅将一个文件名定义为能够装入数据表。不要从应用程序引用此文件名。
    • 定义另一个文件 (或多个文件) 供应用程序使用,确保此文件定义无法启动表装入。 指定 LOAD (YES) ,但请确保未在 DSNAME 属性上指定数据集名称,并且没有针对此文件的 DD 语句。
    • 确保在任何应用程序可能需要访问数据表之前打开可装入文件。 例如,使用 OPENTIME (STARTUP) 定义表装入文件名,以确保文件在 CICS 初始化结束时自动打开。
    • 确保应用程序通过引用未装入数据的文件名来访问数据表。
  3. 可以使用前两种方法中的某些混合方法,其中某些 CICS 区域可以装入表,而其他区域需要代表它们装入表。