数据表管理出口 XDTRD、XDTAD 和 XDTLC
数据表管理出口适用于 CICS® 共享数据表和 CICS 耦合设施数据表。
XDTRD 和 XDTAD 允许您控制要包含在数据表中的记录的选择, XDTRD 用于在装入期间进行此类选择,以及在随后将记录添加到已装入的数据表 (或不需要装入的 CFDT) 时调用 XDTAD。 XDTRD 还允许在添加用户维护的表或耦合设施数据表中包含的记录的内容之前对其进行修改。
对于 CICS 共享数据表, XDTLC 使您能够根据数据表已完成装入这一事实来执行操作,这可能是为了结束您决定在装入期间对数据表的访问施加的一些限制,或者满足装入未成功完成的情况。
对于耦合设施数据表, XDTLC 允许全局用户出口程序决定是否接受未成功装入的耦合设施数据表。 如果用户出口程序决定接受该表,那么该表将保持打开状态并可供访问,但 CICS 不会将其标记为已完成装入。 如果未启用 XDTLC 出口,那么这也是缺省操作。 这意味着应用程序继续接收任何超出成功装入到表中的记录的键范围的记录的 LOADING 条件。 这可确保应用程序知道并非所有期望的数据都可用。 它还允许您在已更正故障原因时,通过关闭启动装入的文件并将其重新打开来重试装入。 或者,您可以打开另一个引用同一数据表的可装入文件。 如果您的出口程序决定拒绝该表,那么该表将关闭,并且已装入的记录仍保留在该表中。 如果更正了故障原因,那么针对数据表的后续打开将允许完成装入。 不会对未从源数据集装入的耦合设施数据表调用 XDTLC。
请注意,从这些出口点中的任何一个调用的程序都必须声明 DSECT ,该 DSECT 定义由 UEPDTPL 字段指向的数据表用户出口参数列表。 (虽然 UEPDTPL 由 DFHUEXIT 调用定义,但它所寻址的参数列表不是。) 为此,您的程序可以包含副本 DFHXDTDS ,后者定义 DT_UE_PLIST DSECT。
如果任何表指定 OPENTIME=STARTUP 或隐式打开,那么应提供程序列表表初始化后 (PLTPI) 程序以激活用户出口。 否则,数据表可能会在启用出口之前开始装入。 有关 PLTPI 程序的更多详细信息,请参阅 编写初始化和关闭程序。