LOAD
将程序从 CICS® DFHRPL 或动态 LIBRARY 并置装入主存储器。
语法
条件: INVREQ , LENGERR , NOTAUTH 和 PGMIDERR
此命令是线程安全的。
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
动态事务路由的注意事项: 将 LOAD 与 HOLD 配合使用,或者使用已使用 RELOAD=YES 定义的资源,可能会创建对动态事务路由的使用产生负面影响的事务间亲缘关系。 有关事务亲缘关系的更多信息,请参阅 亲缘关系。
描述
装入使应用程序,表或映射的副本可供调用任务使用。 如果使用 RELOAD=NO 定义程序,那么仅当主存储器中没有副本时,才会从它所在的库并置中访存该程序。 如果使用 RELOAD=YES 定义程序,那么将始终从 LIBRARY 并置访存新副本。 (请参阅 基本映射支持 以获取有关映射的更多详细信息。) 使用 LOAD 可以减少系统开销。
选项
- ENTRY (ptr-ref)
- 指定要设置为已装入的程序中入口点的地址的指针引用。 CICS 程序装入服务根据装入模块的寻址方式设置入口点:
- AMODE (24): 位 0 为 0 ,位 31 为 0。
- AMODE (31): 位 0 是 1 ,位 31 是 0。
- AMODE (64): 位 0 为 0 ,位 31 为 1。
对于没有在 linkedit 定义中定义显式 ENTRY 的汇编程序,返回的入口点取决于是否存在 CICS 存根,以及是否从 PLT 程序发出 LOAD 命令:- 如果存在 CICS 存根,那么此存根的入口点地址将递增,除非在初始化的第一阶段或关闭的最后阶段从运行的 PLT 程序发出 LOAD 命令。
- 如果没有 CICS 存根,那么入口点地址与装入点地址相同。
- FLENGTH (数据区)
- 指定要设置为已装入程序,表或映射的长度的全字二进制区域。 如果装入的程序的长度大于 32 KB ,请使用 FLENGTH。
- 挂起
- 指定在发出 LOAD 命令的任务终止时不释放已装入的程序,表或映射 (如果仍可用); 仅在响应此任务或另一任务的 RELEASE 命令时才释放该程序,表或映射。
如果省略 HOLD ,那么当发出装入的任务终止或发出 RELEASE 命令时,将释放程序,表或映射。
但是,如果使用 RELOAD=YES 来定义程序,那么上述任何一项都不适用。 RELEASE 不起作用,必须发出 FREEMAIN 请求才能除去程序。
- LENGTH (数据区)
- 指定要设置为已装入程序,表或映射的长度的半字二进制值。 要避免提高 LENGERR 条件,如果装入的程序的长度可能大于 32 KB ,请使用 FLENGTH。
- PROGRAM (名称)
- 指定要装入的程序,表或映射的标识 (1-8 个字符)。 指定的名称必须已定义为 CICS的程序,但如果 AUTOINSTALL 处于活动状态,那么将自动安装定义。
- SET (ptr-ref)
- 指定要设置为装入程序,表或映射的地址的指针引用。
条件
- 16 INVREQ
- RESP2 值:
- 30
- 尚未初始化程序管理器域。 这可能是因为在第一阶段 PLT 中发出了装入请求。
缺省操作: 异常终止任务。
- 22 LENGERR
- RESP2 值:
- 19
- 使用 LENGTH 并且装入的程序的长度大于 32 KB。
缺省操作: 异常终止任务。
- 70 NOTAUTH
- RESP2 值:
- 101
- 在 PROGRAM (name) 上进行资源安全性检查失败。
缺省操作: 异常终止任务。
- 27 PGMIDERR
- RESP2 值:
- 1
- 程序,表或映射没有已安装的资源定义,并且程序自动安装已关闭,或者程序自动安装控制程序指示不应自动安装该程序。
- 2
- 已禁用程序。
- 3
- 由于下列其中一个原因,无法装入程序:
- 这是程序的第一次装入,程序装入失败,通常因为找不到装入模块。
- 这是程序的后续装入,但第一次装入失败。
要重置装入状态,装入模块必须位于 DFHRPL 或动态 LIBRARY 并置中,并且将需要 SET PROGRAM NEWCOPY。
- 9
- 已安装的程序定义用于远程程序。
- 21
- 程序自动安装控制程序失败,因为程序自动安装控制程序不正确或定义不正确,或由于程序自动安装控制程序中的异常终止。 已禁用程序自动安装,并将消息 DFHPG0202 或 DFHPG0203 写入 CSPL。
- 22
- 程序自动安装控制程序返回的模型未在 CICS中定义或未启用。
- 23
- 程序自动安装控制程序返回了无效数据。
- 24
- 由于自动安装返回了无效的程序名或定义,因此为程序定义失败。
- 42
- 已尝试装入 JVM 程序。 此操作无效,因为 Java™ 字节代码程序不受 CICS 装入程序管理。
缺省操作: 异常终止任务。
示例
以下示例显示如何装入名为 TB1:
EXEC CICS LOAD PROGRAM('TB1') SET(PTR)