DOCUMENT CREATE

创建文档。

DOCUMENT CREATE

读取语法图跳过可视语法图DOCUMENTCREATEDOCTOKEN( data-area)FROM( data-area)TEXT( data-area)BINARY( data-area)LENGTH( data-area)FROMDOC( data-area)TEMPLATE( 名称)SYMBOLLIST( data-area)LISTLENGTH( data-value)DELIMITER( data-value)UNESCAPEDDOCSIZE( data-area)HOSTCODEPAGE( 名称)

条件: INVREQ , REGERR , NOTAUTH , NOTFND , SYMBOL ERR 和 TEMPLATERR

此命令是线程安全的。

 

描述

DOCUMENT CREATE 表示开始文档创建过程。 正在创建的文档可以是空文档,也可以基于应用程序缓冲区中包含的现有文档,模板或数据。

选项

BINARY (数据区)
指定要用作要创建的新文档内容的数据缓冲区。 数据将保持不变地复制到文档内容中,并且不会尝试解析数据以进行符号替换。 BINARY 选项的目的是允许应用程序在发送数据时插入不能转换为客户机代码页的数据块。 使用 LENGTH 选项指定此缓冲区的长度。
DELIMITER (数据值)
指定用于对 SYMBOL 列表缓冲区中的符号名称/值对进行定界的可选 1–byte 值。 If this option is not specified, the value defaults to an ampersand. 不允许使用某些定界符值 (例如,空格字符) ,如果使用了这些值,那么所有这些值都会导致命令上的 INVREQ 条件。 这些规则在 用于指定符号和符号列表的规则中列出。

如果使用此选项,那么应用程序必须确保 DELIMITER 不会出现在符号列表缓冲区中的任何符号值中。 因此,应用程序不应使用字母数字和其他可打印字符作为 DELIMITER 值。

DOCSIZE (数据区)
指定将使用文档的当前大小 (以字节计) 更新的二进制全字区域。 这是发出 RETRIEVE 命令时包含文档副本所需的缓冲区的最大大小。
DOCTOKEN (数据区)
指定要包含文档的二进制令牌的数据区。 该区域的长度必须为 16 个字节,并且将设置为 CICS ® 生成的名称,在以后的命令中可通过该名称引用该文档。
FROM (数据区)
指定将使用应用程序提供的数据来创建新文档的内容。 数据内容可以是已创建和检索的模板或文档。 如果数据是模板,那么符号替换将发生在符号表中存在符号的位置。 如果数据是先前检索的文档,那么将从内容中除去检索期间插入的转换和书签标记,并以 API 命令所需的内部格式进行存储。 请注意,将不会尝试对检索到的文档中包含的任何未解析符号进行符号替换。 使用 LENGTH 选项指定此缓冲区的长度。
FROMDOC (数据区)
指定要将其内容复制到要创建的新文档的文档的二进制令牌 (请参阅 DOCTOKEN 选项)。 所有书签和转换标记都将复制到新文档。 将不会复制符号表。
HOSTCODEPAGE (名称)
指定对要添加的数据进行编码的主机代码页的名称。 此选项仅适用于 TEXT , SYMBOL 和 TEMPLATE 选项。 名称的长度必须为 8 个字符; 如果它短于 8 个字符,那么必须在右边填充空格。

主机代码页名称的标准 CICS 格式由使用 3 到 5 十进制数字编写的代码页号 (或更一般的 CCSID) 组成,必要时使用尾部空格填充到 8 个字符。 对于少于 3 位数字的代码页 37,标准格式是 037。 现在, CICS 还接受范围在 1 到 65535 之间的任何十进制数字 (最多为 8 位) 作为代码页名称,即使它不是标准格式也是如此。

请注意,如果需要任何符号处理,那么 HOSTCODEPAGE 参数必须指定基于 EBCDIC 的代码页,因为用于符号和符号列表处理的定界符假定为 EBCDIC。

LENGTH (数据值)
指定包含 TEXT , BINARY 或 FROM 数据的缓冲区的长度 (作为全字二进制值)。
LISTLENGTH (数据值)
指定符号列表的长度 (作为全字二进制值)。
SYMBOL 列表 (data-area)
指定包含符号列表的缓冲区。 使用 LISTLENGTH 选项来指定此缓冲区的长度。 A symbol list is a character string consisting of one or more symbol definitions separated by ampersands. 每个符号定义都由一个名称,一个等号和一个值组成。 以下是符号列表的示例:
applid=IYCQ&jobname=test
By default, symbols in the symbol list are separated by the & character, but you can override this by using the DELIMITER keyword to specify a different symbol separator. 用于指定符号和符号列表的规则 列出了使用 SYMBOL 列表设置符号时适用的规则。
TEMPLATE (名称)
指定模板的 48 字节名称。 必须使用 RDO 向 CICS 定义模板。 如果名称短于 48 个字节,那么必须在右边用空格填充该名称。
注: 如果在设置模板中包含的符号之前插入模板,那么将永远不会替换这些符号。 如果根据模板创建文档而不指定符号列表,那么可能会发生此情况。
TEXT (数据区)
指定要用作要创建的新文档内容的数据缓冲区。 数据将保持不变地复制到文档内容中,并且不会尝试解析数据以进行符号替换。 发送文档时,数据将标记为需要转换为客户机代码页。 使用 LENGTH 选项来指定此缓冲区的长度。
未转义
阻止 CICS 取消对 SYMBOL 列表缓冲区中包含的符号值进行转义。 如果使用此选项,那么加号不会转换为空格,并且 %2B 之类的序列不会转换为单字节值。

UN转义选项不允许您在符号列表中的符号值内包含已用作符号分隔符的字符。 如果要使用UN转义选项,请选择永远不会在符号值中使用的符号分隔符。

条件

INVREQ
RESP2 值:
1
在 FROM 选项上指定的检索文档不是有效的 RETRIEVE 格式。
LENGERR
RESP2 值:
1
为 LENGTH 指定的值无效。 值为负数。
9
为 LISTLENGTH 指定的值无效。 值必须介于 1 与 (16M -1) 之间。
70 NOTAUTH
该命令未能通过资源安全性检查。 (如果未处理 NOTAUTH 条件,那么接收该条件的应用程序可能会异常终止,代码为 AEY7。)

请注意, EXEC CICS DOCUMENT 命令使用模板的 48 个字符的名称 (如 DOCTEMPLATE 资源的 TEMPLATENAME 属性中所指定) 来引用文档模板。 但是,命令的安全性检查使用与 TEMPLATENAME 属性对应的 DOCTEMPLATE 资源定义的名称。 如果已进行资源安全性检查,那么事务的用户标识必须对此 DOCTEMPLATE 资源定义具有读访问权。

RESP2 值:
101
事务的用户标识对 TEMPLATE 选项指定的文档模板的 DOCTEMPLATE 资源定义没有 READ 访问权。
13 NOTFND
RESP2 值:
2
找不到 FROMDOC 选项上指定的文档,或者未正确命名该文档。
3
找不到在 TEMPLATE 选项上指定的模板,或者未正确命名该模板。
7
在 HOSTCODEPAGE 选项上指定的主机代码页找不到或命名不正确。
8
为 DELIMITER 指定的值无效。
116 符号
符号列表中指定的符号不符合符号的命名规则。 RESP2 包含列表中符号的偏移量。
117 个 TEMPLATERR
在 DOCTEMPLATE 资源上指定的模板不存在,或者在处理提供的模板数据时迂到无效的 #set, #include 或 #echo 命令。 RESP2 包含无效命令的偏移量。