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

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

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

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

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

违约

从自动化数据类型 到 z/OS COBOL 数据类型 可能的转换错误 必需的属性设置
1 字节无符号整数 PIC X 无翻译 没有 没有
2 字节有符号整数 PIC S9(4) COMP (整数 16 位) 没有 没有
4 字节有符号整数 PIC S9(9) COMP (整数 32 位) 没有 没有
4 字节 实数(单精度) COMP-1 br 没有
8 字节实数 (双精度) COMP-2 br 没有
布尔型 PIC S9(4) COMP (整数 16 位) 没有 没有
可变长度字符串 PIC X m
货币 COMP-3 压缩十进制编码 PR C
日期(日期和时间) COMP-3 打包的十进制数 pf 持续集成
日期(仅日期) COMP-3 打包的十进制数 pf 持续集成
日期(仅限时间) COMP-3 打包的十进制数 pf 持续集成
十进制 COMP-3 打包的十进制数 PR C
数组(任何数据类型) 固定次数发生 没有 FH

注释

在将 Visual Basic Single 或 Visual Basic Double 数据类型中的整数或分数转换为打包十进制或分布式程序调用(DPC)区段十进制数据类型时,TI 被限制为小数点左侧最多 18 位的精度(例如 1.2345678901234567E+17)。 转换小数压缩十进制或 DPC 分区十进制数据类型时,应转换为 Visual Basic 十进制数据类型。

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

在事务集成器中支持

从自动化数据类型 到 z/OS COBOL 数据类型 可能的转换错误 必需的属性设置
1 字节无符号整数 PIC S9(4) COMP (整数 16 位) 没有 没有
1 字节无符号整数 COMP-3 压缩十进制数 没有 C
2 字节有符号整数 COMP-3 打包的十进制数 没有 C
2 字节有符号整数 显示分区十进制 没有 C
4 字节有符号整数 COMP-3 打包的十进制数 没有 C
4 字节有符号整数 显示区分十进制 没有 C
4 字节 实数(单精度) PIC S9(4) COMP (整数 16 位) p,r 没有
4 字节 实数(单精度) PIC S9(9) COMP (整数 32 位) p,r 没有
4 字节 实数(单精度) COMP-3 打包的十进制数 p,r C
4 字节 实数(单精度) 显示区分十进制 p,r C
8 字节实数 (双精度) PIC S9(4) COMP (整数 16 位) p,r 没有
8 字节实数 (双精度) PIC S9(9) COMP (整数 32 位) p,r
8 字节实数 (双精度) COMP-3 打包的十进制数 p,r C
8 字节实数 (双精度) 显示区分十进制 p,r C
布尔型 PIC S9(9) COMP (整数 32 位) 没有 没有
布尔型 COMP-3 打包的十进制数 没有 C
可变长度字符串 PIC G m DEGJ
货币 PIC S9(?)V9(?)COMP (16 位) PR 没有
货币 PIC S9(?)V9(?)COMP (32 位) PR 没有
货币 显示区分十进制 PR C
十进制 PIC S9(?)V9(?)COMP (16 位) PR 没有
十进制 PIC S9(?)V9(?)COMP (32 位) PR 没有
十进制 显示区分十进制 PR C
数组(任何数据类型) 视情况发生 没有 FH

注释

将整数或小数从 Visual Basic Single 或 Visual Basic Double 数据类型转换为打包十进制或 DPC 分区十进制数据类型时,TI 的精度在小数点前限于 1 到 18 位(例如 1.2345678901234567E+17)。

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

仅受 TI 运行时环境支持

从自动化数据类型 到 z/OS COBOL 数据类型 可能的转换错误 必需的属性设置
1 字节无符号整数 PIC S9(9) COMP (整数 32 位) 没有 没有
1 字节无符号整数 显示区域十进制 没有 C
布尔型 显示分区十进制 没有 C

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

注释

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

另请参阅

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