This chapter discusses how to convert a program written for Data General ICOBOL to ACUCOBOL-GT. ACUCOBOL-GT provides a great deal of compatibility with ICOBOL, but there are a few differences that you will want to address.
It is important that you use the correct compile-time options to provide the greatest compatibility with your existing ICOBOL programs. The most important option is the "-Ci" option that puts the compiler into its ICOBOL compatibility mode. When you use this option, most ICOBOL syntax will be accepted by ACUCOBOL-GT. In addition, the meaning of certain phrases will be altered to match the ICOBOL usage. When ICOBOL compatibility mode is specified, the "-Zr" compile-time option is automatically implied. This option allows for recursive PERFORM statements.
There are a few other options that you will probably want to use. The "-Vx" option enables the entry of function keys on all ACCEPT statements. If you do not specify this, then only ACCEPT statements with an ON ESCAPE clause will allow the entry of function keys. If you want to use ICOBOL's default handling of high and low intensity, then you should specify "-Vah". This causes all input and update fields to be displayed in high intensity, while all literal and output fields are shown in low intensity.
You may also want to use the "-Dz" compile-time option to modify the way that COMPUTATIONAL data items are handled. Specifying this option causes the runtime system to compute the size error condition based on the physical size of the data item in memory, not on its PICTURE clause. For example, this would allow the value 255 to be placed in a PIC 99 COMP data item. Without this option, the largest value that can be placed in such an item is 99.
Finally, you may need to suppress certain reserved words used by ACUCOBOL-GT. If you want to suppress all of the reserved words not used by ICOBOL, you should specify "-Rarsv". If you plan to use some of the features of ACUCOBOL-GT not found in ICOBOL, then you will probably have to allow for some more reserved words. For details on your choices about reserved words, see Reserved Word List.
When you select ICOBOL compatibility mode, the storage of COMPUTATIONAL items is changed to match that of ICOBOL. You should not specify any of the compile-time options that affect COMPUTATIONAL storage, because they will override the ICOBOL settings. The following table summarizes the storage of COMPUTATIONAL items.
# of 9's | Unsigned | Signed |
---|---|---|
1-2 | 1 | 1 |
3-4 | 2 | 2 |
5-6 | 3 | 3 |
7 | 3 | 4 |
8-9 | 4 | 4 |
10-11 | 5 | 5 |
12 | 5 | 6 |
13-14 | 6 | 6 |
15-16 | 7 | 7 |
17-18 | 8 | 8 |