将数据类型从 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

From z/OS COBOL 数据类型 To Automation 数据类型 可能的转换错误 必需的属性设置
COMP-1 4 字节实 (单) b,r
COMP-2 8 字节实 (双) b,r
COMP-3 Packed Decimal 货币 p AC
COMP-3 Packed Decimal 小数 p AC
日期和时间 日期 I
仅 TIME 日期 I
仅 DATE 日期 I
PIC X 可变长度字符串 m
PIC X 无翻译 1 字节无符号整数
PIC S9 (4) COMP (整数 16 位) 2 字节有符号整数
PIC S9 (4) COMP (整数 16 位) 布尔
PIC S9 (9) COMP (整数 32 位) 4 字节有符号整数
出现固定时间 Array

注意

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

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

z/OS COBOL 的精度和缩放 To Automation 数据类型
精度 1-4,刻度 0 2 字节有符号整数
精度 5-9,刻度 0 4 字节有符号整数
精度 5-7,刻度 3-7 4 字节 Real
精度 8-18,刻度 3-18 8 字节 Real
精度 1-18,刻度 1-2 货币
精度 10-18,刻度 0 小数

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

事务集成器支持

From z/OS COBOL 数据类型 To Automation 数据类型 可能的转换错误 必需的属性设置
COMP-1 Array
COMP-2 Array
COMP-3 Packed Decimal 2 字节有符号整数 p,r AC
COMP-3 Packed Decimal 4 字节有符号整数 p,r AC
COMP-3 Packed Decimal 4 字节实 (单) p,r AC
COMP-3 Packed Decimal 8 字节实 (双) p C
COMP-3 Packed Decimal 布尔
COMP-3 Packed Decimal 1 字节无符号整数 r
COMP-3 Packed Decimal Array
DISPLAY Zoned Decimal 2 字节有符号整数 p,r AC
DISPLAY Zoned Decimal 4 字节实 (单) p,r AC
DISPLAY Zoned Decimal 8 字节实 (双) p,r AC
DISPLAY Zoned Decimal 货币 p,r AC
DISPLAY Zoned Decimal 小数 p,r AC
日期和时间 Array
仅 TIME Array
仅 DATE Array
PIC X Array
PIC X 无翻译 Array
PIC G 可变长度字符串 m DEGJ
PIC G Array
PIC S9 (4) COMP (整数 16 位) 1 字节无符号整数 r
PIC S9 (4) COMP (整数 16 位) Array
PIC S9 (9) COMP (整数 32 位) 布尔
PIC S9 (9) COMP (整数 32 位) 1 字节无符号整数 r
PIC S9 (9) COMP (整数 32 位) Array
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
发生取决于 Array

注意

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

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

仅 TI 运行时环境支持

From z/OS COBOL 数据类型 To Automation 数据类型 可能的转换错误 必需的属性设置
DISPLAY Zoned Decimal 1 字节无符号整数 AC
DISPLAY Zoned Decimal 4 字节有符号整数 AC
DISPLAY Zoned Decimal 布尔 AC

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

另请参阅

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