我正在尝试将excel转换为具有可变长度格式的COBOL数据文件。我能够将excel转换为选项卡格式的文本文件。该数据文件涉及大约400个字段。我喜欢在代码中使用copybook文件将数据转换为可变长度,而不是尝试为每个数据块设置块长度。我想知道是否有任何框架或建议可以实现这一点。
复印本格式的一部分
05 EXTR-PRI-APPLICANT-DATA.
10 EXTR-PRI-SOC-SEC-TAX-ID-NUM PIC X(09).
10 EXTR-PRI-FIRST-NAME PIC X(15).
10 EXTR-PRI-MIDDLE-INITIAL PIC X(01).
10 EXTR-PRI-LAST-NAME PIC X(25).
continues for 400 fields.
哪种Cobol方言????。不同的Cobol编译器的Numeric数据格式不同。还有相关问题或其他问题
无论如何,看看这些java项目:
- J根据RecordEditor的代码录制。该项目可以使用Cobol Copybook读取和写入文件。它还可以处理同一文件中的多种记录格式。如果它只是一个单一的记录格式,那么还有Csv2Cobol实用程序。JRecord非常适合基于Cobol Copybooks的通用实用程序
- 如果文件中有多种记录格式,Cobol2J可能会出现问题
- Cb2xml-此包将读取Cobol副本并将其转换为Xml。Xml包含所有Cobol字段,其中包含起始位置、长度图片定义。最新版本有用于处理Xml的JaXB示例代码Cb2xml由JRecord、Cobol2J以及一些商业软件包使用,例如Stirling Map编辑器、CA DevTest解决方案
- legstar
- 还有其他开源项目,但大多数项目需要比上面更多的工作
- 有几个商业软件包可以转换为Mainframe Cobol文件或从中转换。例如,IBM有可以为Cobol文件生成Java类的软件包。不过大多数都很贵
以上,全部将处理IBM Mainframe Cobol;JRecord对其他Cobol编译器提供了有限的支持。
Bill无疑会提到,如果您选择上述任何一项,您需要满足审计员的要求。也就是说,JRecord、Cb2Xml和Legstar用于商业包或大型开源转换项目。此外,Legstar看起来将成为半商业化的,所以请查看许可证。
披露:我编写了JRecord、RecordEditor,并与Peter和Jean-Francois 一起帮助编写了Cb2Xml