XPI 概述

用户退出编程接口(XPI)为全局用户退出程序提供了访问 CICS® 服务的权限。 它由一组可在用户出口程序中使用的宏函数调用构成。

XPI 提供了在标准 CICS 系统中提供的设施之外扩展 CICS 功能的机会,但必须谨慎使用。 您编写的使用此接口的任何出口程序都必须使用以下指南进行编写,并且必须仔细测试,以确保它们不会导致系统错误。

用户出口程序必须使用汇编语言; 没有为其他语言提供 XPI。 包含 XPI 调用的程序必须写入 31 位标准,并且必须是可重入的。

启动 XPI 时,必须处于主空间转换方式。 有关翻译模式的信息,请参阅 z/Architecture 操作原理

XPI 函数 (按域)中列出并详细描述了 XPI 函数。

重要说明:
  1. 不能在每个全局用户出口点使用所有 XPI 调用。 这些调用无法使用的情况已在每个函数调用的说明中注明,并在全局用户退出程序的退出点列表中列出。

    XPI 调用用于启动 CICS 服务; 在错误出口中使用这些调用会导致 CICS 系统中发生不可预测的错误。

  2. 在初始化期间,对早期使用 XPI 有限制。 在 PLTPI 的第二阶段之前,请勿启动使用 XPI 函数 INQUIRE_MONITOR_DATA , MONITOR , TRANSACTION_DUMP 和 WRITE_JOURNAL_DATA 的出口程序。 有关 PLTPI 的更多信息,请参阅 《使用初始化和关闭程序进行定制 》。
  3. 这些 XPI 函数可能导致执行用户出口程序的任务在运行 XPI 函数时失去对另一个任务的控制。 因此,必须仔细考虑 XPI 函数的使用,因为中断 CICS 函数的流可能会导致问题 (例如锁定) 发生。
  4. 可以使用来自一个 CICS 发行版的 CICS 库组装全局用户出口或与任务相关的用户出口,并在运行另一个 CICS 发行版的系统上进行 XPI 调用。 在此情况下,是否成功将控制从出口传输到正确的 CICS 模块以处理该 XPI 调用取决于 CICS 发行版的组合,以及 XPI 调用是否为发行版敏感调用。 要使用户出口成功,您还必须检查其他因素,例如是否在发行版之间更改了 XPI 参数。 有关详细信息,请参阅 升级

XPI 副本

对于每个 XPI 函数,副本提供与该函数关联的 DSECT。 这些 DSECT 允许您映射 XPI 调用的参数以及响应和原因码。

您必须在出口程序中包含要使用的每个 XPI 函数的 COPY 语句。 副本名称与宏名称相同,只是最后一个字母 X 变为字母 Y

如果对您正在使用的函数进行跟踪,那么 XPI 调用的跟踪条目将显示这些参数列表。

示例:
要包含 XPI 函数 DFHSMMCX 的副本,必须在出口程序中包含以下语句:
COPY DFHSMMCY