编写全局用户出口程序

您必须使用汇编语言编写全局用户出口程序,并且这些程序必须是拟重入程序。 但是,如果您的用户出口程序调用 XPI,那么它必须是完全可重入的。

请记住: 对重入程序进行编码,以允许多个任务同时使用该程序的一个副本; 它在运行时不会修改自身。 准重入程序可由不同的任务串行复用。 当它接收控制时,它必须处于与它放弃控制时相同的状态。 此类程序可以在运行时修改自身,因此并非完全可重入。 有关拟重入程序的更多信息,请参阅 多线程: 重入程序,拟重入程序和线程安全程序
限制: 使用 LEASM 选项转换的汇编程序不能用作全局用户出口程序。 LEASM 用于生成符合 Language Environment® 规范的汇编语言主程序。 有关 LEASM 转换程序选项的信息,请参阅 转换程序选项

只有某些寄存器值可用于出口程序。 请参阅 可用于出口程序的寄存器 以获取详细信息。 特别是,参数列表的地址将传递到寄存器 1 中的用户出口程序。 该列表包含一些传递到所有全局用户出口程序的标准参数 (请参阅 DFHUEPAR 标准参数) ,并且该列表还可能包含一些特定于出口的参数,这些参数对于正在从中调用出口程序的出口点是唯一的。 有关更多信息,请参阅 传递到全局用户出口程序的参数

全局用户出口程序可以访问应用程序创建的通道和容器。 他们还可以创建自己的通道,并将其传递到他们所调用的程序。 有关通道和容器的信息,请参阅 使用通道在程序之间传输数据

将字段用作编程接口的限制

某些 CICS® 数据区控制块字段定义不得用作 CICS 应用程序编程接口的一部分。 数据区 包含控制块字段的定义,这些控制块字段构成 CICS的产品敏感编程接口和常规使用编程接口的一部分。 在 CICS 数据区 引用中未定义为产品敏感编程接口或常规用途编程接口字段的字段并非供您用作 CICS 编程接口的一部分。

使用 EDF 调试全局用户出口程序的编译注意事项

如果使用执行诊断工具 (EDF) 来调试应用程序,那么在编译发出 EXEC CICS 命令的出口程序时必须小心。

通常,如果出口程序发出 EXEC CICS 命令,那么这些命令由 EDF 显示 (如果 EDF 处于活动状态)。 它们显示在导致驱动出口的命令的 " 命令启动 " 和 " 命令结束 " 屏幕之间。 如果要禁止显示出口程序发出的 EXEC CICS 命令,那么在转换程序时必须指定 NOEDF 选项。 您应该始终为生产环境中的程序指定 NOEDF。

如果在恢复处理期间可能调用的出口程序发出 EXEC CICS 命令,那么必须使用 NOEDF 选项对其进行转换。 未能执行此操作可能会导致 EDF 异常终止。