如何将 EEBCDIC 文件格式转换为 csv

How to convert EEBCDIC file format to csv

我有一个 .eic 格式的数据文件,很难将其转换为可读格式,任何输入都会有所帮助。我尝试了一些在线工具,但没有成功。

编辑 - 添加了数据库层次结构,如果这有助于将 1 个 .eic 文件转换为 9 个文件。 R-3 数据集在结构上是分层的。为了保持适当的 parent/child 记录关系,GR-ROOT-KEY 字段被预先附加到所有输出子记录。 GR-CYCLE-KEY 字段附加到 GR-CYCLE-RECORD 父记录的所有子记录。

Database Hirerachy

文件定义

文件似乎是:

  Encoding: Binary Ebcdic (There are Packed-decimal ~ Cobol Comp-3 fields).
  Format: Fixed Length 
  Record Length: 422 bytes
  Multi-Record: Yes - I think there are 10 record types in the file
  Mainframe JCL Definition:  RECFM=FB,LRECL=422,...

文件 - 十六进制视图

文件的十六进制视图(第一行是文本(ebcdic),以下两行是十六进制值)。它基本上是大型机 ISPF 编辑样式十六进制视图。

处理中

要处理,您确实需要 Cobol Copybook(或 pl1 等,具体取决于所使用的语言)。

您的处理选项是

  • Cobol 中的进程/任何大型机上的进程/无论来自何处的 AS400。
  • RecordEditor(最好使用 Cobol Copybook)
  • JRecord, CobolToXml 或其他一些可以处理 Ebcdic Cobol 的 program/project。有一些商业套餐可以。

该文件不适合转换为 Csv(除非您只想要 header 记录)。 可以转换为 Xml/Json。

文件查看

我已经在此处发布了 RecordEditor-Xml 描述:

你最好 获取 Cobol Copybook 并使用它 而不是 !!!

正在全屏查看 RecordEditor 中的文件:

或记录查看:

使用 RecordEditor - 布局向导

对于此文件,导入 Cobol Copybook 会好得多。

RecordEditor中,可以使用Layout Wizard(**记录布局>>> Layout Wizard菜单选项)哟定义文件,很繁琐不过

  • 所以 Select 记录布局 >>> 布局向导 菜单选项并输入 cp037(美国 - EBCDIC,有许多 EBCDIC 变体,例如 cp273 是德语 Ebcdic)

  • 点击屏幕底部的右键,您需要计算出 记录长度 在本例中为 422:

  • 接下来输入记录Select离子字段,在本例中,它从第 1 列开始,长度为 2 个字节:

  • 接下来输入记录Names(可以使用右键>>> Generate Names

  • 接下来 Select 字段,虽然 RecorEditor 将 select 字段,但您确实需要检查字段并在必要时进行调整。单击字段的开头将创建/删除该字段。您将需要 select 每个记录类型的字段

  • 然后您需要输入字段名称(对于每个 RecordType(您可以使用 右键单击 菜单生成名称)。


虽然您可以使用 Layout Wizard 来生成 File Description,但它很乏味,最好使用 Cobol Copybook。