PLT 程序的存储密钥

您需要考虑以下事项 (无论您是否正在使用存储保护设施运行 CICS® ):

  • 在其中调用 PLT 程序的执行密钥
  • 为 PLT 程序获取的数据存储器的存储键

PLT 程序的执行键

CICS 始终在 CICS 键中提供对 PLT 程序的控制。

即使在程序资源定义上指定 EXECKEY (USER) , CICS 也会在将控制权传递给初始化或关闭期间调用的任何 PLT 程序时强制 CICS 键。 但是,如果 PLT 定义的 shutdown 程序本身将控制权传递给另一个程序 (通过链接或传输控制命令) ,那么因此调用的程序将根据其程序资源定义中定义的执行键 (EXECKEY) 执行。

重要信息: 强烈建议您在定义 PLT 程序和 PLT 程序将控制权传递给的程序时指定 EXECKEY (CICS)。

PLT 程序的数据存储密钥

PLT 程序使用的数据存储密钥的内容取决于获取存储器的方式。

可以通过以下方式获取存储器:
  • PLT 程序请求的任何工作存储器都在启动 PLT 程序的事务的 TASKDATAKEY 值所设置的密钥中。 如果 PLT 程序在初始化期间运行 (PLTPI 程序) ,那么该事务始终是内部 CICS 事务,在这种情况下, TASKDATAKEY 值始终是 CICS。 对于在关闭期间运行的程序 (PLTSD 程序) ,该设置取决于用于发出关闭命令的事务。 如果从 CICS Explorer® 区域 操作视图中选择 关闭 选项或发出 CEMT PERFORM SHUTDOWN 命令,那么 TASKDATAKEY 值始终为 CICS。 如果运行用户定义的事务,要启动发出 EXEC CICS PERFORM SHUTDOWN 命令的程序, TASKDATAKEY 可以是 USER 或 CICS。
  • PLT 程序可以通过发出以下命令来使用 EXEC CICS 命令来获取存储器:
    • 显式 EXEC CICS GETMAIN 命令
    • 作为使用 SET 选项的 EXEC CICS 命令的结果的隐式存储请求

    EXEC CICS 命令获取的存储器的缺省存储键由启动 PLT 程序的事务的 TASKDATAKEY 值设置,与工作存储器的描述完全相同。

    例如,考虑使用 TASKDATAKEY (USER) 定义的事务,该事务会导致启动 PLT 关闭程序。 在这种情况下,缺省情况下, PLT 程序使用 EXEC CICS 命令获取的任何隐式或显式存储器都在用户密钥存储器中。 但是,在 EXEC CICS GETMAIN 命令上, PLT 程序可以通过指定 CICSDATAKEY 或 USERDATAKEY 来覆盖 TASKDATAKEY 选项。