WEB READ FORMFIELD

从 HTML 表单检索字段的值。

语法

WEB READ FORMFIELD

读取语法图跳过可视语法图WEBREADFORMFIELD( data-area)NAMELENGTH( data-value)VALUE( data-area)SET( ptr-引用)VALUELENGTH( data-area) CHARACTERSET( data-value) HOSTCODEPAGE( data-value)

条件: INVREQ , LENGERR 和 NOTFND

此命令是线程安全的。

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

描述

WEB READ FORMFIELD 从 HTML 表单中检索特定字段的值。 表单字段的名称在 FORMFIELD 参数中给出。 表单数据作为 HTTP的一部分发送,由当前 CICS®处理。

使用 GET 方法时, Web 客户机在查询字符串中发送表单数据,使用 POST 方法时,在实体主体中发送表单数据。 CICS 可以从其中任一位置抽取数据。

表单数据以未转义的形式返回 (请参阅 保留和排除的字符 以获取此内容的说明)。

如果接收到的数据表示文件,那么上载的文件 不会 进行代码页转换。

仅当 CICS 作为 HTTP 服务器时, CICS 才读取表单数据。 当 CICS 是 HTTP时,该功能不可用。

选项

CHARACTERSET (名称)
指定对表单数据进行编码所需的字符集的 40–character 名称。 此选项应与相应 HTML 表单所确定的表单编码相匹配 (请参阅 如何确定客户机编码 以获取更多信息)。 CICS 不支持 IANA 指定的所有字符集。 HTML 编码字符集 列出了 CICS 支持用于代码页转换的 IANA 字符集。
CLNTCODEPAGE (名称)
仅出于升级目的支持此选项。 CHARACTERSET 替换了它。 对于这两个关键字, CICS 执行的操作相同。
FORMFIELD(数据区)
指定要抽取的表单字段的名称。 它是包含所请求字段的名称的文本字符串。 提供的文本字符串不区分大小写。
HOSTCODEPAGE(数据值)
指定要将表单数据转换为的应用程序所需的 CICS (主机) 代码页的 8–character 名称。 此代码页通常是 EBCDIC 代码页。

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

如果未指定代码页,那么将以 LOCALCCSID 系统初始化参数 (适用于本地 CICS 区域,缺省值为 037) 指定的 EBCDIC 代码页返回数据,前提是指定的代码页受 CICS Web 界面支持。 如果代码页是 CICS 识别为足够标准的 EBCDIC 代码页列表之一,以允许成功解析 Web 头 (这包括所有 SBCS CECP 和欧元代码页) ,那么支持该代码页。 否则, CICS 将改为返回缺省 EBCDIC 代码页 037 中的数据。

NAMELENGTH(数据值)
指定格式字段名的长度 (作为全字二进制值)。
SET(ptr-ref)
指定要设置为所接收数据的地址的指针引用。 指针引用在任务结束前有效。
VALUE(数据区)
指定要包含指定表单字段的值的缓冲区。 CICS 在将任何转义字符放入缓冲区之前对其取消转义。
VALUELENGTH(数据区)
指定格式字段值的长度 (作为全字二进制值)。 此数据区中返回值的实际长度。 如果指定 VALUE 选项,那么 VALUELENGTH 指定程序接受的数据的最大长度。 如果该值超过缓冲区的长度,那么将截断该值。 如果表单字段值的长度小于缓冲区的大小,那么表单字段值将放在最左边的字节位置。

条件

16 INVREQ
RESP2 值有:
1
该命令在非 CICS Web Support 应用程序中发出。
3
正在为HTTP 请求发出命令。
11
找不到客户机代码页。
12
找不到主机代码页。
13
HTTP中未提供任何表单数据。
14
客户机和服务器的代码页组合无效。
17 日
在输入消息中找到无效的表单数据。
22 LENGERR
RESP2 值有:
1
NAMELENGTH 或 VALUELENGTH 中的长度小于或等于零。
4
由于接收缓冲区太小,因此在读操作期间表单字段名称已被截断。
5
在读操作期间,表单字段值已被截断,因为接收缓冲区太小。
153
表单类型未知。
154
表单数据中需要边界字符串,但找不到该字符串。
13 NOTFND
RESP2 值有:
1
找不到具有给定名称的表单字段。