偏移方式和指针方式

可以通过两种方式调用 CICS® 业务逻辑接口: 偏移方式和指针方式。

偏移方式
在偏移方式下,存在单个存储区域 ( 图 1 中的存储区域 1) 包含 DFHWBBLI 的 COMMAREA 和 CICS 应用程序的区域。 DFHWBBLI COMMAREA 中的字段 wbbl_indata_offset 包含了以存储器区域开始为起点的应用程序 COMMAREA 的偏移量。 这个存储器区域可以存储的最大数据量为 32K 字节。

在偏移方式中,转换器程序不能更改 DECODE_DATA_PTR 或 ENCODE_DATA_PTR 的值。

指针方式
在指针方式下,有两个独立的存储区域: 一个 ( 图 1 中的存储区域 1 ) 包含 DFHWBBLI 的 COMMAREA ,而另一个 (存储区域 2) 包含 CICS 应用程序的区域。 DFHWBBLI COMMAREA 中的字段 wbbl_indata_ptr 包含了应用程序 COMMAREA 的地址。

在指针方式中,转换器程序可以更改 DECODE_DATA_PTR 或 ENCODE_DATA_PTR 的值。

这两种方式在 图 1中进行了说明。
图 1。 CICS 业务逻辑接口中的偏移量方式和指针方式
此图说明可用于调用 CICS 业务逻辑接口的两种方式 (偏移方式和指针方式)。 文本中描述了这两种方式。
调用 CICS 业务逻辑接口时,必须指定方式:
  • 将 wbbl_mode 设置为“D”以指明偏移方式,wbbl_user_data_offset 所引用的 HTTP 请求的主体采用 ASCII 格式。 如果服务器程序使用任何 FORMFIELD API 命令,将需要此设置。
  • wbbl_mode 设置为“P”时,表示指针方式
在转换器程序中,可以测试 decode_volatileencode_volatile 以确定方式:
  • 0 表示偏移方式
  • 1 表示指针方式

调用 CICS 业务逻辑接口时,来自以下任何源的所有请求都使用偏移方式:
  • 使用 IBM HTTP Server 的 Web 客户机。
  • 使用本地网关功能的 Java™ 应用程序。
  • 使用 CICS Transaction Gateway的 Web 客户机。