将数据类型从 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 的插入和删除。

下表显示了在导入 COBOL 源代码时 TI 使用的默认值。

违约

从 z/OS COBOL 数据类型 到自动化数据类型 可能的转换错误 必需的属性设置
COMP-1 4 字节 实数(单精度) b,r 没有
COMP-2 8 字节实数 (双精度) b,r 没有
COMP-3 压缩十进制编码 货币 p 交流
COMP-3 压缩十进制编码 十进制 p 交流
日期和时间 日期 没有
仅 TIME 日期 没有
仅 DATE 日期 没有
PIC X 可变长度字符串 m
PIC X 无翻译 1 字节无符号整数 没有 没有
PIC S9(4) COMP (整数 16 位) 2 字节有符号整数 没有 没有
PIC S9(4) COMP (整数 16 位) 布尔型 没有 没有
PIC S9(9) COMP (整数 32 位) 4 字节有符号整数 没有 没有
固定次数发生 数组 没有 没有

注释

从 Packed Decimal 或分布式程序调用 (DPC) 区域十进制数据类型转换小数数字时,应转换为 Visual Basic Decimal 数据类型。

对于 COMP、COMP-3 和 DISPLAY 数值 COBOL 数据类型,默认值基于下表中显示的精度和刻度。 当 COBOL 不使用符号使用 DISPLAY 并将自动化类型更改为 String 时,COBOL 图片将更改为 PIC X,该图片具有相同的内部数据表示形式。 长度保持不变,因此不会影响大型机程序。

z/OS COBOL 的精度和范围 到自动化数据类型
精度 1-4,刻度 0 2 字节有符号整数
精度 5-9,刻度 0 4 字节有符号整数
精度 5-7,刻度 3-7 4 字节实数
精度 8-18,刻度 3-18 8 字节 Real
精度 1-18,刻度 1-2 货币
精度 10-18,刻度 0 十进制

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

在事务集成器中支持

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

注释

从 Packed Decimal 或 DPC Zoned Decimal 数据类型转换小数时,应转换为 Visual Basic Decimal 数据类型。

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

仅受 TI 运行时环境支持

从 z/OS COBOL 数据类型 到自动化数据类型 可能的转换错误 必需的属性设置
显示分区十进制 1 字节无符号整数 没有 交流
显示分区十进制 4 字节有符号整数 没有 交流
显示分区十进制 布尔型 没有 交流

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

另请参阅

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