MOVE CONTAINER (BTS)
将 BTS 数据容器(及其内容)从一个活动移到另一活动。
语法
条件: ACTIVITYERR , CONTAINERERR , INVREQ , IOERR 和 LOCKED
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
描述
MOVE CONTAINER (BTS) 将数据容器 (及其内容) 从一个 BTS 活动移至另一个 BTS 活动。 移动后,将销毁源容器。
源容器和目标容器通过名称以及拥有它们的活动进行标识。 可以标识拥有源容器的活动:
- 显式地,通过指定 FROMPROCESS 或 FROMACTIVITY 选项。
- 通过省略 FROMPROCESS 和 FROMACTIVITY 选项来隐式执行此操作。 如果省略这些活动,那么将隐含当前活动。
- 通过指定 TOPROCESS 或 TOACTIVITY 选项显式。
- 隐式地,通过省略 TOPROCESS 和 TOACTIVITY 选项。 如果省略这些活动,那么将隐含当前活动。
您可以移动容器:
- 从当前活动到当前活动的子代
- 从当前活动的子代到当前活动
- 从当前活动到当前活动 (因此重命名容器)
- 从当前活动的一个子代到另一个子代
- 从当前进程到当前 (根) 活动
- 从当前流程到当前活动的子代
- 从当前进程到当前进程 (从而重命名容器)
- 从当前活动到当前流程
- 从当前活动的子代到当前流程
您可以使用 MOVE CONTAINER (而不是 GET CONTAINER 和 PUT CONTAINER) 作为在活动之间传输数据的更有效方法。 有关说明,请参阅 容器命令 。
注:
- 如果源容器不存在,那么会发生错误。
- 如果目标容器尚不存在,那么将创建该容器。 如果目标容器已存在,那么将覆盖其先前的内容。
- 不能将容器从一个进程移动到另一个进程。 源容器和目标容器都必须在当前进程的作用域内。
- 只有根活动可以将 process-container 指定为 MOVE CONTAINER 命令的源或目标。
流程的容器 不 与其根活动的容器相同。
选项
- AS (数据价值)
- 指定目标容器的名称 (1-16 个字符)。 如果目标容器已存在,那么将覆盖其内容。
- CONTAINER (数据值)
- 指定要移动的源容器的名称 (1-16 个字符)。
- FROMACTIVITY (数据值)
- 指定拥有源容器的活动的名称 (1-16 个字符)。 如果指定了此选项,那么该选项必须指定当前活动 (或当前活动本身) 的子代。
- FROMPROCESS
- 指定源容器由当前进程拥有-即,发出命令的程序代表执行的进程。
- TOACTIVITY (数据值)
- 指定拥有目标容器的活动的名称 (1-16 个字符)。 如果指定了此选项,那么该选项必须指定当前活动 (或当前活动本身) 的子代。
- 过程 (TOPROCESS)
- 指定目标容器由当前进程 (即,发出命令的程序代表执行的进程) 拥有。
条件
- 109 个 ACTIVITYERR
- RESP2 值:
- 8
- 找不到 FROMACTIVITY 或 TOACTIVITY 选项上指定的活动。
- 110 CONTAINERERR
- RESP2 值:
- 10
- 找不到 CONTAINER 选项上指定的容器。
- 26 日
- CONTAINER 选项上指定的进程容器是只读的。
- 16 INVREQ
- RESP2 值:
- 4
- 该命令是在当前活动活动的作用域之外发出的。
- 25
- 使用了 FROMPROCESS 或 TOPROCESS 选项,但在当前活动进程的作用域之外发出了该命令。
- 17 IOERR
- RESP2 值:
- 30
- 在存储库文件上发生输入/输出错误。
- 31 日
- 存储库文件上的记录正在使用中。
- 100 个已锁定
- 无法执行请求,因为针对存储库文件上的相关记录存在保留锁定。
