Cobol数据文件

Cobol数据文件,cobol,Cobol,首先,如果数据不完整,我道歉。这不是我懒惰,而是我不知道cobol的细节 我被分配到我的公司,从cobol程序读取的文件中提取我们的旧财务数据,并将它们转换到oracle数据库中的数据库中。我无法将这些文件作为普通文本阅读。我不知道如何把它转换成普通文本 根据cobol源,每行7条记录,每条记录72个字符 这些文件非常大。每一个平均为3 GB。如何将它们作为普通文本打开 这是文件部分 000220 ENVIRONMENT DIVISION. 000230 CONFIGURATION SECTIO

首先,如果数据不完整,我道歉。这不是我懒惰,而是我不知道cobol的细节

我被分配到我的公司,从cobol程序读取的文件中提取我们的旧财务数据,并将它们转换到oracle数据库中的数据库中。我无法将这些文件作为普通文本阅读。我不知道如何把它转换成普通文本

根据cobol源,每行7条记录,每条记录72个字符

这些文件非常大。每一个平均为3 GB。如何将它们作为普通文本打开

这是文件部分

000220 ENVIRONMENT DIVISION.
000230 CONFIGURATION SECTION.
000240 SOURCE-COMPUTER. NCR-3000.
000250 OBJECT-COMPUTER. NCR-3000.
000260 INPUT-OUTPUT SECTION.
000270 FILE-CONTROL.
000280     SELECT DQ-HIMVT-A      ASSIGN TO DISC
000290                            ORGANIZATION INDEXED
000300                            ACCESS MODE DYNAMIC
000310                            RECORD KEY CLE-A.
000320*
000330 DATA DIVISION.
000340 FILE SECTION.
000350 FD  DQ-HIMVT-A             BLOCK CONTAINS 7 RECORDS   
000360                            RECORD CONTAINS 73 CHARACTERS   
000370                            LABEL RECORD STANDARD
000380                            DATA RECORD IS HIMVT-A.   
000390 01  HIMVT-A. 
000400     02  CLE-A.
000410         03  ENT-A       PIC 99.
000420         03  NUCPT-A     PIC 9(13)     COMP-6.
000430         03  DEV-A       PIC XXX.
000440         03  DATOP-A     PIC 9(7)      COMP-6. 
000450         03  SIG-A       PIC 9.  
000460         03  FORC-A      PIC 9.
000470         03  DATVAL-A    PIC 9(7)      COMP-6.
000480         03  NUMOP-A     PIC 9(9)      COMP-6.  
000490         03  MT-A        PIC 9(12)V999 COMP-6. 
000500     02  FILLER          PIC X(8).
000510     02  TYPCPT-A        PIC 9(3)      COMP-6.
000520     02  LIBOP-A         PIC X(15).
000530     02  SOLD-A          PIC S9(12)V999 COMP-3. 
000540     02  DATTRAIT-A      PIC 9(7) COMP-6.
000550     02  FILLER          PIC X.
下面是从记事本打开时的文件示例++ RMKF I I 0**ƒ'*B9*B9''ÿ"c*B9#01埃及镑10%21美元
'10'(@P)€010 0埃及镑$21$
%11$
(EGP$21$
%11$
7EGP$21$
%11$
FEGP$21$
%11$
UEGP$21$
%11$' 第0号

环境科

000220 ENVIRONMENT DIVISION.
000230 CONFIGURATION SECTION.
000240 SOURCE-COMPUTER. NCR-3000.
000250 OBJECT-COMPUTER. NCR-3000.
000260 INPUT-OUTPUT SECTION.
000270 FILE-CONTROL.
000280     SELECT DQ-HIMVT-A      ASSIGN TO DISC
000290                            ORGANIZATION INDEXED
000300                            ACCESS MODE DYNAMIC
000310                            RECORD KEY CLE-A.
我找到了这个文件,他们称之为复印本。不知道它与ois有什么关系

000100*
000200****     CINVDAT - ZONE DE TRAVAIL     ****
000300*******************************************
000400****
000500*
000600 01  INVDATRAV.
000700     03  INVZON1         PIC 99. 
000800     03  INVZON2         PIC 99.
000900     03  INVZON3         PIC 99.
001000 01  INVZONI             PIC 99.
001100 01  INVDATE             PIC 9(6).
001200 01  INVCAL              PIC 9.
001300*

关于

您可能能够找到一项可以为您提取数据的服务。如果您选择此路线,请确保他们拥有您可以提供的所有信息(其中必须包括FD下的数据定义),并同意仅在收到经验证的数据后付款

另一种方法是与Micro Focus讨论COBOL的短期许可证,COBOL(同样必须保证)可以理解索引文件格式。然后,您可以为每个需要提取其数据的文件编写一个简单的程序。这里的优点是,COMP-3和COMP-6所代表的,您不需要知道,是转换为“文本”的数字的生成不需要任何人考虑(在输出定义中,删除对COMP anything的所有引用(如果有,也可以是COMP))

另一种选择是坐下来使用十六进制编辑器,了解数据,并研究如何从数据中提取索引信息(在您的示例中,所有数据记录都是已知的、固定的、长度为73字节的)

然后,使用您的首选语言处理非分隔记录(固定长度)二进制数据,并计算COMP-3、COMP-6和任何其他COMP-(或COMP)字段的含义。它们可能是压缩十进制、二进制编码十进制(BCD)或“某种类型的二进制”,因为标准COBOL具有受十进制值限制的二进制字段(根据图片条款的大小)

在第一种和第二种选择中,人们对提取的可靠性有更高的期望。第三种可能是“最便宜的”,但对完成所需时间的期望更难坚持


在前两种方法中,成本是可能的决定因素(假设您将来不打算使用COBOL)。如果您自己必须编写一些COBOL程序,不要担心,它们非常非常简单,一旦您完成了一个,您只需“克隆”它。

您可以找到一个可以为您提取数据的服务。如果您选择此路线,请确保他们拥有您可以提供的所有信息(必须包括FD下的数据定义),并同意仅在验证收到数据后付款

另一种方法是与Micro Focus讨论COBOL的短期许可证,COBOL(同样必须保证)可以理解索引文件格式。然后,您可以为每个需要提取其数据的文件编写一个简单的程序。这里的优点是,COMP-3和COMP-6所代表的,您不需要知道,是转换为“文本”的数字的生成不需要任何人考虑(在输出定义中,删除对COMP anything的所有引用(如果有,也可以是COMP))

另一种选择是坐下来使用十六进制编辑器,了解数据,并研究如何从数据中提取索引信息(在您的示例中,所有数据记录都是已知的、固定的、长度为73字节的)

然后,使用您的首选语言处理非分隔记录(固定长度)二进制数据,并计算COMP-3、COMP-6和任何其他COMP-(或COMP)字段的含义。它们可能是压缩十进制、二进制编码十进制(BCD)或“某种类型的二进制”,因为标准COBOL具有受十进制值限制的二进制字段(根据图片条款的大小)

在第一种和第二种选择中,人们对提取的可靠性有更高的期望。第三种可能是“最便宜的”,但对完成所需时间的期望更难坚持


在前两种方法中,成本是可能的决定因素(假设您将来不打算使用COBOL)。如果您自己必须编写一些COBOL程序,不要担心,它们非常非常简单,一旦您完成了一个,您只需“克隆”它。

我不确定您使用的是哪个系统。根据我在使用EBCDIC格式的AS400.COBOL数据文件中的经验,它不能直接从文本编辑器打开。它只会显示随机文本。在导出之前,您必须将其转换为ASCII。在AS400中,我使用CHGTOPCD文件/成员名称到目录并导出。然后它将显示正确的文本t文本。不确定此信息是否对您有帮助。

我不确定您使用的是哪个系统。作为我的前任