Cobol DataViewer is an ultimate tool for Cobol data files reverse engineering. It reads Cobol data files with known and unknown record layouts, displays them, and converts them to non-Cobol formats. DataViewer recovers valuable data from Cobol files even if you do not have source of the Cobol program that wrote these files.
Cobol Data File Proliferation
A lot of important data collected in the last 40 years by corporations and governments resides in Cobol data files.
Today languages other than Cobol are often used for data processing and programs in these languages need to read legacy Cobol data files. This makes it even more important to be able to convert Cobol data files to modern formats such as CSV, DBF, Excel, Oracle, etc.
Data Readers do just that — they convert Cobol data files to modern formats and make them available to programs in languages such as VB, C++, Java.
Why Reading Cobol Data Is Difficult
Cobol data files do not contain information about their own organization and record structure. That is, if you have just a Cobol data file and you do not have a Cobol program capable of writing or reading this file, you will most likely not be able to interpret the data contained in this file.
For every Cobol data file that you want to be able to read and interpret, you need the following:
- SELECT statement for the file. It comes from the Input-Output Section of Environment Division of the program that wrote the file. This statement tells the system how the file is organized: it contains file organization, file access mode, etc.
- FD statement for the file. It comes from the File Section of Data Division of the program that wrote the file. This statement tells the system how the file record is organized: it contains record field lengths, offsets, usages, pictures, etc.
- The Cobol data file itself.
Even if you have all 3 components as described above, reading and interpreting the data is still difficult:
- You need to extract SELECT and FD statements for the file from the Cobol program. Therefore you need a specialized Cobol parser that does it.
- You need to parse the extracted SELECT and FD statements and get file and record information from these statements. Again you need an FD/SELECT statement parser and record layout builder.
- Finally, once you have all file parameters and record layout, you need to read the actual Cobol data file and convert the record that you read to required non-Cobol format. Since some of Cobol data formats are not used by any other language or database, interpreting Cobol data is far from trivial.