将cobol COMP数据转换为ASCII

时间:2015-08-10 13:50:16

标签: cobol

我正在使用实用程序vutil:

将一些COBOL dat文件转换为ASCII
vutil -extract input.dat > output.txt

我无法从COMP数据字段中获得人类可读的响应。 这是我的FD文件的一部分

05 FAT-TIPOFT   PIC 9(4).
05 FAT-DINI     PIC 9(8).
05 FAT-DFIN     PIC 9(8).
05 FAT-IMPON    PIC S9(7)V99 COMP.
05 FAT-INPS     PIC 99.
05 FAT-IMPINPS  PIC S9(7)V99 COMP.
05 FAT-IVA      PIC 99.

这里有一个ASCII转换示例:

0107200230062003 ‚p00    20  ³° 6 00     6       

转换仅适用于NON-COMP字段

是否有任何其他命令或替代实用程序或技术来转换COMP字段?

注意我不想进入Cobol世界,我只想转换数据并摆脱它!

1 个答案:

答案 0 :(得分:2)

可能的解决方案:

  1. 你可能不想写一个Cobol程序,对于一个文件,它可能是最快&最便宜的解决方案。

  2. 有各种商业软件包声称可以读取Acu Cobol文件,但可能很贵。

  3. 对于这个文件,您可以查看RecordEditor,稍微弄清楚可能(我的意思是可能)这行得通。对于此Cobol-Copybook,请尝试将其导入为Mainframe或Open-Cobol副本。我怀疑Open-?Cobol Microfocus可能会更好。 (注意:我是RecordEditor的作者)

  4. 我认为数据可能是二进制文件和原始数据,我无法确定。

    提供的数据中的前16个字节看起来像2个日期,所以我已经与FAT-DINI / FAT-DFIN对齐了,这只是猜测:

        0107200230062003  ‚p00    20
    22223333333333333333008733000033
    00000107200230062003002000000020
    
    我得到的recordEditor中的

    enter image description here

    在RecordEditor lib目录中,有一个用于“定义Cobol方言”的JRecord.properties。