|
If you have programs containing Report Writer features, Translate/RW can convert this code to native COBOL. Designed for efficiency, accuracy and simplicity, Translate/RW automatically translates the Report Writer features of your old COBOL programs which the newer versions of COBOL do not recognize with code that they do. Your programs are made compatible with the latest COBOL versions without hours of manual translation or the risk of human error.
Two Ways to Use Translate/RW
You can use Translate/RW in either of two ways, whichever best meets your needs:
- To translate your existing COBOL Report Writer programs to native COBOL.
- As a pre-compiler, so you can continue using COBOL Report Writer in your new COBOL environment. (In this capacity, Translate/RW is invoked by a JCL procedure, which executes both Translate/RW and the new COBOL compiler.)
No Run-time Support Libraries Needed
Translate/RW converts all Report Writer code in a simple, one-step procedure. It requires no additional calls to assembler modules and no special run-time library so you save effort, time and money.
The program generated by Translate/RW is independent, stand-alone, native COBOL. The resulting code is structured, affording readability and ease of maintenance.
Following are typical Report Writer features and the corresponding COBOL code that would result from translation:
BEFORE
AFTER
| 1 | The REPORTS ARE clause is removed from report FDs and a record declaration of the correct size is created. |
| 3a | A WORKING-STORAGE record is generated for each report line. VALUE items are represented by FILLERs with the VALUE clause; SOURCE and SUM items are represented by fields with the correct PICTURE clause. |
| 4a | WORKING-STORAGE areas are created to hold the totals for SUM counters. |
| 5a | INITIATE and TERMINATE statements in the PROCEDURE DIVISION are changed to PERFORM statements. |
| 6a | GENERATE statements in the PROCEDURE DIVISION are changed to perform statements. |
| 4b | Logic is generated to increment SUM counters at the appropriate times. |
| 3b | Logic is generated to fill in the SOURCE and SUM fields in the report lines prior to printing the report file. |
| 5b | The generated procedures for INITIATE and TERMINATE handle the housekeeping for the beginning and the end of a report. |
| 6b | The generated procedure for a GENERATE statement checks for control breaks before presenting DETAIL groups. When a control break is found, the proper CONTROL FOOTING and CONTROL HEADING groups are presented. |
| 2 | Logic is generated to place each report group in the correct position on a page. |
|