我在一个字帖中重新定义了子句,我必须使用发送过来的文件将其加载到 oracle 外部表中。以下是字帖信息。传入文件是位置格式我应该假设在文件中的数据记录中,前 8 个字符是字母数字,接下来的 8 个字符是数字。我只需要知道我是否应该为此考虑总共 16 个字符,因为字帖中在此字段之前和之后还有其他字段。
例如
注册-DT PIC X(08)。ENROLLMENT-DT-N 重新定义 ENROLLMENT-DT PIC 9(08
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 Mainframe,RecordEditor可以显示 Cobol Copybook 字段的位置/长度
在 RecordEditor 选项实用程序 >>> 显示 Cobol Copybook 中,Cobol Copybook 显示如下:
最后,cb2xml 会将 Mainframe Cobol copybook 转换为 xml(在 Xml 中具有位置和长度)。