LOAD

将程序从 CICS® DFHRPL 或动态 LIBRARY 并置装入主存储器。

语法

LOAD

读取语法图跳过可视语法图LOADPROGRAM( 名称)SET( ptr-引用)LENGTH( data-area)FLENGTH( data-area)ENTRY( ptr-引用)HOLD

条件: INVREQ , LENGERR , NOTAUTH 和 PGMIDERR

此命令是线程安全的。

NOHANDLERESPRESP2是常用选项,可添加到所有 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)