编写初始化和关闭程序时的一般注意事项
如果要编写初始化和关闭程序,请考虑这如何影响 PLT , PLTPI 和 PLTSD 程序。
以下信息适用于初始化和关闭程序:
- 使用 EXEC CICS RETURN 命令终止所有 PLT 程序。
- PLT 程序以主空间转换方式接收控制。 有关翻译模式的信息,请参阅 z/Architecture 运行原理。 PLT 程序必须以相同模式将控制权返回 CICS® ,并必须恢复其使用的任何通用寄存器或访问寄存器。
- 所有 PLTPI 程序都在 CICS 内部事务名称 CPLT 下运行。 因此,由于 CICS 内部事务是在 WAIT indoubt 属性设置为 YES 的情况下定义的,因此在 PLTPI 程序运行时发生的不确定故障会导致相关 UOW 被搁置。 PLTPI 程序异常终止 ASP1, CICS 运行 PLTPI 表中定义的下一个程序 (如果有)。
- PLTSD 程序在发出 PERFORM SHUTDOWN 命令的事务下运行。 CEMT 事务是使用 WAIT (YES) 定义的。 因此,如果由于 CEMT PERFORM SHUTDOWN 命令或 CICS Explorer® 区域 操作视图中的 关闭 选项而关闭,那么在 PLTSD 程序运行时发生的不确定故障会导致 UOW 被搁置。 但是,如果由于用户事务发出 EXEC CICS PERFORM SHUTDOWN 命令而关闭,那么不确定故障是导致 UOW 被搁置还是强制决策取决于用户事务的不确定属性。 有关 CEDA DEFINE TRANSACTION 命令的不确定选项的详细信息,请参阅 TRANSACTION resources。
- CEMT 的 TRANSACTION 资源定义指定 TASKDATALOC (ANY)。 因此, CEMT 事务使用高于 16 MB 界线的 31 位存储器。 如果使用 CEMT 来关闭 CICS 并具有 AMODE (24) 的 PLTSD 程序,那么将发生 AEZC 异常终止。 要避免此情况,请修改关闭程序以使其为 AMODE (31) 并更新相应的程序定义。
- 您需要考虑以下事项 (无论您是否正在使用存储保护设施运行 CICS ):
- 在其中调用 PLT 程序的执行密钥
- 为 PLT 程序获取的数据存储器的存储键
有关详细信息,请参阅 PLT 程序的存储密钥。