将由COBOL生成的顺序文件转换为字母数字,并使用压缩数据

时间:2013-07-04 11:55:51

标签: unicode vbscript cobol sequential

我有一个COBOL程序,它生成一个具有以下结构的顺序文件:

FD ALUMNOS-FILE.
01 ALUMNOS-DATA.
    88 EOF                 VALUE HIGH-VALUES.
    05 STUDENTID           PIC 9(7).
    05 STUDENTNAME         PIC X(10).
    05 FILLER              PIC X(8).
    05 COURSECODE          PIC X(4).
    05 FOO                 PIC S9(7)V USAGE COMP-3.

如果我在Notepad ++中打开文件,我会看到由COMP-3变量导致难以阅读的奇怪的unicode符号。类似于下图的图像(图像来自另一个文件):

enter image description here

有没有办法不使用COBOL 来重写这个顺序文件是否可读?也许使用像VBS这样的脚本语言?任何提示或建议将不胜感激,如果您需要更多信息,请告诉我,我将编辑该帖子。

1 个答案:

答案 0 :(得分:4)

我建议您查看Last Cobol Questions

RecordEditor将允许您使用Cobol Copybook查看/编辑Cobol文件。在RecordEditor中,您可以根据需要将文件导出为Csv,Xml。

正如Last Cobol Questions中所提到的,有几种解决方案可以用Java读取Cobol文件,也可能是其他语言中的一些。


要将Cobol Copybook导入RecordEditor,  选择:记录布局>>> 导入Cobol Copybook

Import_Cobol_Copybook

文件结构控制文件的读取方式。如果所有记录的长度相同(没有carraige返回),请使用固定长度二进制文件结构

支持的其他结构包括

  • 标准文本文件文件结构:** ..Text .. **
  • Cobol可变记录长度文件。这些通常具有记录长度,后跟数据。有大型机版本,Open-Cobol,富士通。
  • 默认文件结构将根据记录定义选择最可能的文件结构。在你的情况下,它应该选择固定长度二进制,因为定义中有一个二进制字段。

注意:从记录编辑器0.94.4开始,固定长度二进制文件结构,您可以编辑固定长度文本文件如果需要,可以使用基本的文本编辑器。

注意:我是RecordEditor的作者

回答更新2017/08/09

转换实用程序

对于简单的Cobol文件,可以使用这些转换实用程序(基于JRecord):

  • [CobolToCsv] [5]
  • [CobolToXml] [6]
  • [Cobol To Json] [7]

RecordEditor

RecordEditor有一个Generate选项,用于生成Java / JRecord代码。 参见[RecordEditor代码生成注释] [8]

enter image description here