将数据类型从 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 到自动化的其他数据类型转换。