WEB READ FORMFIELD
从 HTML 表单检索字段的值。
语法
条件: INVREQ , LENGERR 和 NOTFND
此命令是线程安全的。
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 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
- 找不到具有给定名称的表单字段。
