PUT64 CONTAINER

将来自 64 位存储器的数据置于指定的通道容器中。 此命令仅供在非语言环境 (LE) AMODE(64) 汇编语言应用程序中使用。 不支持 CICS ® 业务事务服务 (BTS) 容器。

PUT64 CONTAINER

读取语法图跳过可视语法图PUT64CONTAINER( data-value)CHANNEL( data-value)FROM( data-area64)FLENGTH( data-value)BITDATATYPE( CVDA)CHARFROMCCSID( data-value)FROMCODEPAGE( data-value)APPEND

条件: CCSIDERR , CHANNELERR , CODEPAGEERR , CONTAINERERR , INVREQ 和 LENERR

此命令是线程安全的。

描述

PUT64 CONTAINER 将来自 64 位存储器的数据放入与指定通道关联的容器中。

容器由名称标识。 可以通过指定 CHANNEL 选项来显式地标识拥有容器的通道,也可以通过省略 CHANNEL 选项来隐式地标识该通道。 省略此选项时,将隐含当前通道。

如果指定的容器不存在,那么将创建该容器。 如果指定的容器存在,那么将覆盖其先前的内容,除非您指定 APPEND 选项。 如果指定的通道不存在,那么将创建该通道。

可以与通道关联的容器数量没有限制。 单个容器的大小仅受可用存储量的限制。

注: 请注意,如果创建多个大型容器,那么可能会限制可用于其他应用程序的存储量。

选项

附加
指定将传递到容器的数据附加到容器中的现有数据。 如果未声明此选项,那么容器中的现有数据将被传递到容器的数据覆盖。
CHANNEL (data-value)
指定拥有容器的通道的名称 (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 代码页中不具有相同表示法的一些字符。 Therefore, if channels are to be shipped between regions, it is advisable to restrict the characters that are used to name them to A-Z a-z 0-9 & : = , ; < > . - and _.

如果通道不存在,那么将创建该通道。 此新通道将保留在作用域中,直到链接级别发生更改为止。 有关通道作用域的更多信息,请参阅 通道作用域

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

CONTAINER (data-value)
指定放置数据的容器的名称 (1-16 个字符)。

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

请勿使用以 DFH 开头的容器名称,除非 CICS 请求这样做。

容器名称始终采用 EBCDIC。 如前所述,容器名称的允许字符集包括在所有 EBCDIC 代码页中不具有相同表示的一些字符。 Therefore, if containers are to be shipped between regions, it is advisable to restrict the characters that are used to name them to A-Z 0-9 & : = , ; < > . - and _.

数据类型 (cvda)
指定要放入容器中的数据类型。 此选项仅适用于新容器。 如果容器存在,那么其数据类型是在创建时建立的,无法更改。 CVDA 值如下:
BIT
位数据。 无法转换容器中的数据。 这是缺省值,除非指定了 FROMCCSID。
CHAR
字符数据。 根据 FROMCCSID 或 FROMCODEPAGE 值中的设置,转换要存储在容器中的数据 (如果需要)。 如果未指定 FROMCCSID 和 FROMCODEPAGE 选项,那么假定数据以区域的 CCSID 编码,如 LOCALCCSID 系统初始化参数中所指定。

容器中的所有数据都将转换为单个字符串。 对于 SBCS 代码页,由多个字符字段组成的结构等同于单字节字符串。 但是,对于 DBCS 代码页,情况并非如此。 如果使用 DBCS 代码页,那么必须将每个字符串放入单独的容器中,以确保数据转换正常工作。

FLENGTH (data-value)
以全字二进制值的形式指定从中读取数据的数据区的长度。
FROM (data-area64)
指定对从中将数据写入容器的区域的 64 位数据区引用。 data-area64 是指由 64 位指针引用并且可以位于 64 位 (高于条形) 存储器中的区域。
FROMCCSID (data-value)
指定要作为全字二进制数放入容器中的字符数据的当前编码字符集标识 (CCSID)。 如果您希望为代码页指定 IANA 名称,或者如果您希望将 CCSID 指定为字母数字字符,请改为使用 FROMCODEPAGE 选项。 如果要放置在容器中的数据未按 LOCALCCSID 系统初始化参数中指定的那样以区域的 CCSID 进行编码,请使用此选项。

如果指定 FROMCCSID 选项,那么隐含 DATATYPE (DFHVALUE (CHAR))。

FROMCODEPAGE (data-value)
指定要放入容器中的字符数据的当前代码页的 IANA 注册的字母数字字符集名称或编码字符集标识 (CCSID) ,最多使用 40 个字母数字字符,包括相应的标点符号。 如果您希望使用 HTTP 请求的 Content-Type 头中指定的 IANA 注册字符集名称,请使用此选项而不是 CCSID 选项。 CICS 将 IANA 名称转换为 CCSID ,并且后续数据转换过程完全相同。 如果您更希望以字母数字字符 (而不是全字二进制数) 指定 CCSID ,那么也请使用此选项。

如果指定 FROMCCSID 选项,那么隐含 DATATYPE (DFHVALUE (CHAR))。

条件

123 CCSIDERR
RESP2 值:
1
在 FROMCCSID 选项上指定的 CCSID 超出有效 CCSID 值的范围。
2
在 FROMCCSID 选项上指定的 CCSID 和容器的 CCSID 是不受支持的组合。 容器的 CCSID 是在此容器的第一个 PUT CONTAINER 命令上指定的值或缺省值。 首次使用每个无效组合时, CICS 会发出错误消息 DFHAP0802,其中包含一对 CCSID。
4
无法转换一个或多个字符。 每个未转换的字符都将替换为转换后的数据中的空格。
5
在容器的代码页转换中发生内部错误。 仅当 PUT 的目标是现有 CICS 创建的容器时,才会发生此错误。
122 CHANNELERR
RESP2 值:
1
CHANNEL 选项上指定的名称包含无效字符或字符组合。
3
当前通道或在 CHANNEL 选项上指定的通道是只读的。
125 CODEPAGEERR
RESP2 值:
1
不支持在 FROMCODEPAGE 选项上指定的代码页。
2
在 FROMCODEPAGE 选项上指定的代码页与容器的 CCSID 是不受支持的组合。 容器的 CCSID 是在此容器的第一个 PUT CONTAINER 命令上使用 FROMCODEPAGE 或 FROMCCSID 或缺省值指定的值。 首次使用每个无效组合时, CICS 会发出错误消息 DFHAP0802,其中包含一对 CCSID。
4
无法转换一个或多个字符。 每个未转换的字符都将替换为转换后的数据中的空格。 仅当 PUT 的目标是现有容器时,才会发生此错误。
5
在容器的代码页转换中发生内部错误。 仅当 PUT 的目标是现有 CICS 创建的容器时,才会发生此错误。
110 CONTAINERERR
RESP2 值:
18 日
CONTAINER 选项上指定的名称包含无效字符或字符组合。
16 INVREQ
RESP2 值:
1
指定了 DATATYPE 选项而未指定 CHANNEL 选项,并且没有当前通道 (因为发出该命令的程序未传递一个)。 DATATYPE 仅在指定 (显式或隐式) 通道的 PUT CONTAINER 命令上有效。
2
指定了没有 CHANNEL 选项的 FROMCCSID 选项,并且没有当前通道 (因为发出该命令的程序没有传递一个)。 FROMCCSID 仅在指定 (显式或隐式) 通道的 PUT CONTAINER 命令上有效。
4
未指定 CHANNEL 选项,并且没有当前通道 (因为发出该命令的程序未传递一个)。
30
您尝试写入 CICS 定义的只读容器。
32
为 DATATYPE 指定了不同于 CHAR 或 BIT 的 CVDA 值。
33
尝试更改现有容器的数据类型。
34
数据类型 BIT 与 CCSID 无效。
22 LENGERR
RESP2 值:
1
在 FLENGTH 选项上指定了负数。