MOVE CONTAINER (CHANNEL)

将容器(及其内容)从一个通道移到另一通道。

语法

MOVE CONTAINER (CHANNEL)

读取语法图跳过可视语法图MOVECONTAINER( data-value)AS( data-value)CHANNEL( data-value)TOCHANNEL( data-value)

条件: CHANNELERR , CONTAINERERR 和 INVREQ

此命令是线程安全的。

NOHANDLERESPRESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.

描述

MOVE CONTAINER (CHANNEL) 将容器从一个通道移至另一个通道。 移动后,源容器不再存在。

源容器和目标容器通过名称以及拥有它们的通道进行标识。 可按如下所示标识拥有源容器的通道:
  • 通过指定 CHANNEL 选项显式地执行。
  • 隐式地,通过省略 CHANNEL 选项。 如果省略此项,那么将隐含当前通道。
同样,拥有目标容器的通道可以标识如下:
  • 通过指定 TOCHANNEL 选项显式地执行此操作。
  • 隐式地,通过省略 TOCHANNEL 选项。 如果省略此项,那么将隐含当前通道。
您可以移动容器:
  • 从一个通道到另一个通道。
  • 在同一通道内-例如,从当前通道到当前通道。 这将对容器进行重命名。
您可以使用 MOVE CONTAINER(而不是 GET CONTAINERPUT CONTAINER) 作为在通道之间传输数据的更有效方法。
注:
  1. 源通道必须在发出 MOVE CONTAINER 命令的程序的作用域内。
  2. 如果目标通道不存在,那么将在发出 MOVE CONTAINER 命令的程序的作用域内创建目标通道。
  3. 如果源容器不存在,那么会发生错误。
  4. 如果目标容器尚不存在,那么将创建该容器。 如果目标容器已存在,那么将覆盖其先前的内容。
  5. 如果尝试使用自身覆盖容器,那么不会发生任何情况。 即,如果为 CONTAINER 和 AS 选项指定相同的值,并且同时省略 CHANNEL 和 TOCHANNEL 选项或为它们指定相同的值,以便指定相同的通道,那么不会更改和删除源容器。 未发生任何错误情况。

选项

AS (数据价值)
指定目标容器的名称 (1-16 个字符)。 如果目标容器已存在,那么将覆盖其内容。

The acceptable characters are A-Z a-z 0-9 $ @ # / % & ? ! : | " = ¬ , ; < > . - and _. Leading and embedded blank characters are not permitted. 如果提供的名称少于 16 个字符,那么将使用最多 16 个字符的尾部空格来填充该名称。

容器名称始终采用 EBCDIC。 上面列出的容器名称所允许的字符集包括在所有 EBCDIC 代码页中不具有相同表示的一些字符。 We therefore recommend that, if containers are to be shipped between regions, the characters used in naming them should be restricted to A-Z 阿兹 0-9 & : = , ; < > . - and _.

CHANNEL (数据值)
指定拥有源容器的通道的名称 (1-16 个字符)。 可以指定通道名称 DFHTRANSACTION 以使用事务通道。 如果未指定此选项,那么暗示当前通道。
CONTAINER (数据值)
指定要移动的源容器的名称 (1-16 个字符)。
TOCHANNEL (数据值)
指定拥有目标容器的通道的名称 (1-16 个字符)。 可接受的字符为 A-Z a-z 0-9 $@ #/%?! : | " = ,; >。 -和 _。不允许使用前导和嵌入的空白字符。 如果提供的名称少于 16 个字符,那么将使用最多 16 个字符的尾部空格来填充该名称。 如果通道不存在,那么将创建该通道。 此新通道将保留在作用域中,直到链接级别发生更改为止。 有关通道作用域的更多信息,请参阅 通道作用域

通道名称始终采用 EBCDIC。 前面列出的通道名称所允许的字符集包含在所有 EBCDIC 代码页中不具有相同表示法的一些字符。 因此,如果要在区域之间运送通道,那么建议将用于将其命名的字符限制为 A-Z a-z 0-9: = ,; >。 -和 _。

可以指定通道名称 DFHTRANSACTION 以使用事务通道。 当链路级别发生更改时,事务通道不会超出作用域; 它在事务中始终可访问。 有关更多信息,请参阅 通道和容器

如果未指定此选项,那么暗示当前通道。

条件

122 CHANNELERR
RESP2 值:
1
TOCHANNEL 选项上指定的名称包含非法字符或字符组合。
2
找不到在 CHANNEL 选项上指定的通道。
3
当前通道或在 CHANNEL 选项上指定的通道是只读的。
110 CONTAINERERR
RESP2 值:
10
找不到 CONTAINER 选项上指定的容器。
18
在 AS 选项上指定的名称包含非法字符或字符组合。
16 INVREQ
RESP2 值:
4
未指定 CHANNEL 和/或 TOCHANNEL 选项,没有当前通道 (因为发出该命令的程序未传递一个) ,并且在当前活动的 BTS 活动范围之外发出了该命令。
30
无法移动 CICS®定义的只读容器。
31 日
不能将容器移动到 (即覆盖) 现有 CICS定义的只读容器。