现场解码(功能代码4)

您需要提供字段解码操作所需的输入和输出。

进入时

开始特定程序编程接口信息。登记簿中包含以下信息:
表 1. 入境登记簿的内容
注册 包含
1 现场程序参数列表(FPPL)的地址;请参见图1 的示意图。
2到12 退出时必须恢复的未知值。
13 注册保存区的地址。
14 回邮地址。
15 退出例程的入口地址。

所有其他登记册的内容以及未列出的字段都是不可预测的。

工作区是连续的、未初始化的,其长度由字段定义期间的字段过程指定。

FPIB 有以下信息:
表 2. FPIB的入门内容
字段 包含
FPBFCODE 4、功能代码
FPBWKLN 工作区域的长度
CVD 包含以下信息:
表 3. 入境时填写的CVD内容
字段 包含
FPVDTYPE 列值数据类型的数字代码,如表1 所示。
FPVDVLEN 列值的列长度。
FPVDVALE 列值。 如果该值是一个长度可变的字符串,则第一个半字包含其长度。
FVD 包含以下信息:
表 4. 入境时填写的FVD内容
字段 包含
FPVDTYPE 字段值数据类型的数字代码。
FPVDVLEN 字段值的值的长度。
FPVDVALE 现场价值。 如果该值是一个长度可变的字符串,则第一个半字包含其长度。

提供了在野外定义过程中通过野外程序生成的修改后的 FPPVL。

出口

登记簿中包含以下信息:
表5。 出境登记簿内容
注册 包含
2到12 他们进入时所包含的价值观。
15 如果FVD中描述的列对字段过程有效,则为整数0;否则,该值不能为零。

CVD 必须在FPVDVALE字段中包含已解码的(列)值。 如果该值是一个长度可变的字符串,则前半个单词必须包含其长度。

FPIB 可以包含以下信息:
表6。 FPIB的退出内容
字段 包含
FPBRTNC 可选的2字节字符返回代码,由字段过程定义;如果没有返回代码,则留空。
FPBRSNC 可选的4字节字符原因代码,由字段程序定义;如果没有给出原因代码,则留空。
FPBTOKP 可选地,工作区或现场程序的静态区域中40字节错误消息的地址;如果没有消息,则返回0。

字段程序发出的错误信号导致SQLCODE -681 (SQLSTATE '23507'),该信号在SQL通信区域(SQLCA)中设置。 FPBRTNC和FPBRSNC的内容以及FPBTOKP指向的错误消息也作为字段SQLERRMT放入SQLCA的标记中。 错误消息的含义由字段过程决定。

所有其他字段必须保持与输入时相同。结束特定程序编程接口信息。