退出 XDTAD
当向数据表发出写请求时,将调用出口 XDTAD。
对于用户维护的数据表和耦合设施数据表,将在将记录添加到数据表之前调用用户出口一次。 对于 CICS维护的数据表,将在将记录添加到源数据集之前调用用户出口两次,然后在将记录添加到数据表之前再次调用用户出口。
应用程序写入的记录作为参数传递给用户出口程序-请参阅 UEPDTRA 和 UEPDTRL 字段。 出口程序可以选择 (取决于键值,例如,请参阅 UEPDTKA 和 UEPDTKL 字段) 是否将记录包括在数据表中。 此决策通过设置返回码来指示。
XDTAD 出口不得修改记录中的数据。 如果在装入数据表时使用了 XDTRD 来截断数据记录,那么必须对应用程序进行编码,以便它仅尝试为数据表写入格式正确的记录。
样本 XDTAD 出口程序列示在 共享数据表概述中。
- 调用时机
- 在处理对数据表的写请求期间执行一次或多次操作。
- 特定于出口的参数
- UEPDTPL
- 由副本 DFHXDTDS 中的 DSECT DT_UE_PLIST 映射的数据表用户出口参数列表的地址。 数据表用户出口参数列表包含:
- UEPDTNAM
- 8 字符数据表名称。
- 欧 PDTFLG
- 1 字节标志字段。 可能的位设置为:
- UEPDTSDT (X'80 ')
- CICS® 共享数据表支持已调用该出口。
- UEPDTCMT (X'40 ')
- 这是 CICS维护的表。 仅当 UEPDTSDT 处于开启状态时才有意义。
- UEPDTCFT (X'10 ')
- 耦合设施数据表支持已调用出口。
- UEPDTUMT (X'08 ')
- 这是用户维护的表。 仅当 UEPDTSDT 处于开启状态时才有意义。
- UEPDTRA
- 数据记录的地址。
- UEPDTRBL
- 数据表缓冲区的全字长度。
- UEPDTRL
- 数据记录的全字长度。
- UEPDTKA
- 数据表键的地址。
- UEPDTKL
- 数据表键的全字长度。
- UEPDTDSL
- 源数据集名称的全字长度。 仅当 UEPDTSDT 或 UEPDTCFT 处于开启状态时才有意义。
- UEPDTDSN
- 包含源数据集名称的 44 个字符的字段。 仅当 UEPDTSDT 或 UEPDTCFT 处于开启状态时才有意义。
- 返回码
- UERCDTAC
- 将记录添加到数据表。
- UERCDTRJ
- 拒绝记录: 即,不将其添加到表中。
- XPI 调用
- 都可以用。