将数据类型从自动化转换为 z/OS COBOL

使用本主题中的表作为指南来指定 TI 如何处理从自动化数据类型到 COBOL 数据类型的转换。 有关特定数据类型的详细信息,请参阅 支持的 TI 数据类型

使用以下代码键解释每个表中的 “可能的转换错误”“必需属性设置” 列中的代码。

代码 说明
r 范围错误可能。
b 由于底数 2 到底数 16 的转换,可能导致精度损失。
p 由于图片格式比例规范,可能会丢失精度。
m 映射错误可能。
f yyyyddd 和 hhmmss。
A 必须在属性页的“COBOL 定义”选项卡上的“错误处理”下指定“截断”、“舍入”或“错误”。
C 必须通过填写属性页的“COBOL 定义”选项卡上的“左数字”和“右数字”框来指定精度和小数位数。
D 必须通过填写属性页的“COBOL 定义”选项卡上的“大小”框来指定字符串宽度。
E Unicode 或 EBCDIC 映射信息是必需的,例如代码页。
F 对于长度小于指定最大值的数组,必须在属性页的“COBOL 定义”选项卡上的“尾随填充符”下指定填充符的大小
G 必须指定如何处理字符串。 在属性页的“COBOL 定义”选项卡上,单击“字符串分隔”下的“空格填充”或“Null 终止”。 然后在属性页的“COBOL 定义”选项卡上,单击“错误处理”下的“截断”或“错误”,指定如果字符串太长,TI 应执行的操作。
H 需要最大大小。
I 需要本地化。
J 支持可选的 SO 和 SI 插入和删除。

下表显示了 TI 用于将自动化数据类型转换为 COBOL 数据类型的默认值。

Default

从自动化数据类型 To z/OS COBOL 数据类型 可能的转换错误 必需的属性设置
1 字节无符号整数 PIC X 无翻译
2 字节有符号整数 PIC S9 (4) COMP (整数 16 位)
4 字节有符号整数 PIC S9 (9) COMP (整数 32 位)
4 字节 Real (Single) COMP-1 br
8 字节 Real (Double) COMP-2 br
布尔 PIC S9 (4) COMP (整数 16 位)
可变长度字符串 PIC X m
货币 COMP-3 Packed Decimal pr C
日期 (日期和时间) COMP-3 Packed Decimal pf CI
仅日期 (日期) COMP-3 Packed Decimal pf CI
仅日期 (时间) COMP-3 Packed Decimal pf CI
小数 COMP-3 Packed Decimal pr C
数组 (任何数据类型) 发生固定时间 跳 频

注意

将整数或小数数字从 Visual Basic Single 或 Visual Basic Double 数据类型转换为 Packed Decimal 或分布式程序调用 (DPC) Zoned Decimal 数据类型时,TI 限制为小数点剩余 1 到 18 位数字 (,例如 1.2345678901234567E+17) 。 转换小数打包十进制或 DPC Zoned Decimal 数据类型时,应转换为 Visual Basic Decimal 数据类型。

下表显示了可以在 TI Project 中设置的其他受支持的数据类型映射,以替代上表中显示的默认值。

事务集成器支持

From Automation 数据类型 To z/OS COBOL data type 可能的转换错误 必需的属性设置
1 字节无符号整数 PIC S9 (4) COMP (整数 16 位)
1 字节无符号整数 COMP-3 Packed Decimal C
2 字节有符号整数 COMP-3 Packed Decimal C
2 字节有符号整数 DISPLAY Zoned Decimal C
4 字节有符号整数 COMP-3 Packed Decimal C
4 字节有符号整数 DISPLAY Zoned Decimal C
4 字节实 (单) PIC S9 (4) COMP (整数 16 位) p,r
4 字节实 (单) PIC S9 (9) COMP (整数 32 位) p,r
4 字节实 (单) COMP-3 Packed Decimal p,r C
4 字节实 (单) DISPLAY Zoned Decimal p,r C
8 字节实 (双) PIC S9 (4) COMP (整数 16 位) p,r
8 字节实 (双) PIC S9 (9) COMP (整数 32 位) p,r
8 字节实 (双) COMP-3 Packed Decimal p,r C
8 字节实 (双) DISPLAY Zoned Decimal p,r C
布尔 PIC S9 (9) COMP (整数 32 位)
布尔 COMP-3 Packed Decimal C
可变长度字符串 PIC G m DEGJ
货币 PIC S9 (?) V9 (?) COMP (16 位) pr
货币 PIC S9 (?) V9 (?) COMP (32 位) pr
货币 DISPLAY Zoned Decimal pr C
小数 PIC S9 (?) V9 (?) COMP (16 位) pr
小数 PIC S9 (?) V9 (?) COMP (32 位) pr
小数 DISPLAY Zoned Decimal pr C
数组 (任何数据类型) 发生取决于 跳 频

注意

将整数或小数从 Visual Basic Single 或 Visual Basic Double 数据类型转换为 Packed Decimal 或 DPC Zoned Decimal 数据类型时,TI 限制为小数 (点剩余 1 到 18 位数字,例如 1.2345678901234567E+17) 。

下表显示了 TI 运行时环境支持的其他受支持的数据类型映射。

仅受 TI 运行时环境支持

从自动化数据类型 To z/OS COBOL 数据类型 可能的转换错误 必需的属性设置
1 字节无符号整数 PIC S9 (9) COMP (整数 32 位)
1 字节无符号整数 DISPLAY Zoned Decimal C
布尔 DISPLAY Zoned Decimal C

目前,TI 不支持从自动化到 COBOL 的其他数据类型转换。

注意

当 COBOL 用法为 DISPLAY(不带符号)并且将自动化类型更改为 String 时,COBOL 图片将更改为 PIC X,该图片具有相同的内部数据表示形式。 长度保持不变,因此不会影响大型机程序。

另请参阅

支持的 TI 数据类型
将数据类型从 z/OS COBOL 转换为自动化
数据类型转换