Cobol DataViewer is 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 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.
Data-Viewer can read a Cobol data file and convert it non-Cobol formats such as CSV, DBF, Oracle, Excel, etc. This is what DataViewer can do:
- Read file with Known Record Layout. Record layout of the data file is known to you. You have an *.FDD file file that contains record layout info and a link to the actual data file. Use “File. Open” command to open the *.FDD file.Data-Viewer recognizes these Cobol data file formats:
* MF: MicroFocus Cobol,
* MFSCO: MicroFocus SCO Cobol,
* MF8: MicroFocus Cobol IDXFORMAT8
* VIS: MicroFocus Visual Cobol,
* RM: RM/RM85 Cobol
* FSC: FSC RMKF Cobol
* ACU: AcuCobol
* ACU: Egan iCobol
* ACU: WANG Cobol
* SEQ: Sequential Cobol data files,
* Your file format: ask us to add your file format, if Data-Viewer does not recognize it. It usually takes 1-2 weeks. - Extract Record Layout from Cobol Program. You can convert Cobol copybook (include file) that contains an FD statement with file`s record layout by using “File. Load Layout from Copybook” command.
- Read file with Unknown Record Layout. You do not know what the record layout of your data file is. Use “File. Open” command to open the data file itself and Data-Viewer will guess the record layout for you.
- Edit Record Layout. You can edit record layout — move, split, merge fields. When you are done, click the Apply button and the new layout will be used to re-read the data file. Guessed layout usually is not fully correct, so use these layoit editing capabilities to improve it.
- Export the data to non-Cobol format. You can export opened data files into:
* Comma-Separated Values (CSV) format,
* dBase DBF format,
* any format supported by ODBC: Excel, SQL Server, Oracle, etc.
Evaluate DataViewer
Trial Version Limitations. These limitations are designed to show you that Data-Viewer can read your data files and “massage” their layout but not let you perform the actual conversion without paying for DataViewer.
- Files cannot be exported.
- Record layouts cannot be saved.
- Record field lengths, offsets, pictures, etc are not shown.
- Some commands that rely on explicit lengths and offsets being known (Split) do not work.