我有一个没有文件扩展名的COBOL数据文件。我需要将它转换为任何类型的现代数据文件,如上所述。 我可以在Windows上使用记事本打开该文件。
以下是
中的代码示例0~ 9401131218264194011312182641 > ֽ ֽ A ֵ @ֽB1993120901758501000232GE93DO 2PECALR 1MF000232Y A10000 @ֽB1993120901758601004407GE93DO % 2PECALR 1MF004407Y A10000 @ֽB1993120901758701005444GE93DO `2PECALR 1MF005444Y A10000 @ֽB1993120901758801000008GE93DO 2PECALR 1MF000008Y A10000 @ֽB1993120901758901001518GE93DO €2PECALR 1MF001518Y A10000 @ֽB1993120901759001000102GE93DO €2PECALR 1MF000102Y A10000 @ֽB1993120901759101001605LA93LA 2 2MF001605N A20000 @ֽB1993120901759201001076GE93DO P 2PECALR 1MF001076Y A10000 @ֽB1993120901759301001608GE93DO % 2PECALR 1MF001608Y A10000 @ֽB1993120901759401007044GE93DO 5 2PECALR 1MF007044Y A10000 @ֽB1993120901759501000329GE93DO P 2PECALR 1MF000329Y A10000 @ֽB1993120901759601000613MM93MS P 2PECALR 1MF000613Y A10000 @ֽB1993120901759701000516MM94MS 2PECALR
我甚至不知道从哪里开始研究如何实现这一目标。 任何帮助将不胜感激。
答案 0 :(得分:3)
你在这里得到的并不是一个真正的COBOL数据文件。它是一个没有强加结构的平面数据文件。它当然可以由COBOL程序编写。
您需要了解的是一本定义各种数据字段甚至是什么的字帖。虽然我不能确定,如果我不得不冒险猜测我会说这是标题材料
0~ 9401131218264194011312182641 > ֽ ֽ A ֵ
然后你有多条记录,每条记录都以@开头。这可能是一个记录:
@ֽB1993120901758501000232GE93DO 2PECALR 1MF000232Y A10000
现在你需要的是结构。您是否可以访问COBOL源代码?没有它(或者是副本的副本)我恐怕没有办法确定这些数据应该表示什么。
答案 1 :(得分:2)
如果你必须反复这样做或文件很长,你可以选择两件事
在cobol中编写一个程序,它将在字段之间添加逗号并创建一个新文件。然后,您可以在Excel中将该文件作为csv打开。
OR
编写一个excel宏。在一张纸中提供结构,即一列中的字段类型和另一列中的长度。宏将读取文件的结构,并根据文本的长度将文本拆分为多个列。您可以查看this link,了解如何编写宏。
答案 2 :(得分:0)
好吧,因为它的COBOL输出每个字段长度从记录到记录都是一致的。
如果这是一次性任务,我只需在excel中打开它并使用文本到列并手动设置分割点以将每个字段放入其自己的单元格中。
如果这不是一次性的,我只需修改产生输出的程序,使输出记录中的每个字段之间都有逗号。
答案 3 :(得分:0)
RecordEditor / JRecord中的文件向导可以搜索文件中的Mainframe Cobol字段。 FileWizard 结果可以存储在Xml文件中以便在其他语言中使用,或者您可以使用复制功能从Ebcdic复制到Ascii固定或CSV格式。
上有一些过时的文档