0

我在一个字帖中重新定义了子句,我必须使用发送过来的文件将其加载到 oracle 外部表中。以下是字帖信息。传入文件是位置格式我应该假设在文件中的数据记录中,前 8 个字符是字母数字,接下来的 8 个字符是数字。我只需要知道我是否应该为此考虑总共 16 个字符,因为字帖中在此字段之前和之后还有其他字段。

例如

注册-DT PIC X(08)。ENROLLMENT-DT-N 重新定义 ENROLLMENT-DT PIC 9(08

4

1 回答 1

0

2 个字段总共允许 8 个字节。对于此示例,重新定义表示 2 个字段在记录中占据相同位置。字帖让您可以将字段视为字符串字段或文本字段

另一个重新定义的例子是

 03  Birth-Date         pic 9(8).
 03  redefines Birth-Date.
     05 Birth-year      pic 9(4)
     05 Birth-Month     pic 99.
     05 Birth-Day       pic 99.

这允许您以 YYYYMMDD 格式 + 单独的年/月/日字段访问日期

 Move 20180612          to Birth-Date

然后

 Birth-year = 2018
 Birth-Month = 06
 Birth-Day = 12

同样,如果你这样做

 Move 2020         to Birth-year
 Move 02           to Birth-Month 
 Move 21           to Birth-Day

然后出生日期=20200221


如果文件来自IBM MainframeRecordEditor可以显示 Cobol Copybook 字段的位置/长度

在 RecordEditor 选项实用程序 >>> 显示 Cobol Copybook 中,Cobol Copybook 显示如下:

Cobol 抄写本

最后,cb2xml 会将 Mainframe Cobol copybook 转换为 xml(在 Xml 中具有位置和长度)。

于 2020-04-15T01:49:20.860 回答