If you are updating directly from Version 1.3, then several changes affect you. These changes are the same as those you encounter
when you move from Version 1.3 to Version 1.4, except that the current runtime does not support linked object files produced
by the Version 1.3 compiler.
Compiler Changes
The following changes affect programs when they are re-compiled. You can specify the
-C3 option to suppress these differences. Note that specifying
-C3 also implies the
-C4 flag discussed above. You can also produce Version 1.3 object files with the
-Z3 compile-time option.
- Under Version 1.3, a line sequential file accessed by a program compiled with RM/COBOL compatibility mode automatically has
short records padded with spaces to fill the record area. Beginning with Version 2.0, only line sequential files with automatic
trailing space removal have their records padded with spaces. This change was made to accommodate the behavior of RM/COBOL-85.
- A numeric data item that is the object of a DISPLAY statement with the CONVERT option is left-justified when RM/COBOL compatibility
mode is used under any version since 2.1. In Version 1.3, the data item is right-justified. This change was made to accommodate
the behavior of RM/COBOL-85.
- Under Version 1.3, the default SIZE of an ACCEPT field is always equal to the number of assignable character positions in
the data item, plus 1 if the data item is signed, and plus another 1 if the data item contains digits to the right of the
decimal point. Beginning with Version 2.0, this amount is used only if the destination is numeric or edited and the CONVERT
phrase is used. Otherwise, the default SIZE is the physical size of the receiving field. The difference is subtle and is unlikely
to affect any current programs. This change was made to better simulate the behavior of RM/COBOL.
- In RM/COBOL compatibility mode, a field accepted with the ECHO phrase is redisplayed in a converted form only if the UPDATE
phrase is also used. In Version 1.3, the field is redisplayed in a converted form only if the CONVERT phrase is used. This
change was made to better simulate the behavior of RM/COBOL.
- Certain line sequential files now have automatic trailing-space removal applied to them. This depends on the device type specified
in the file’s ASSIGN clause. This will generally not affect existing programs except that files with automatic trailing space
removal may not be opened for I/O (due to the unpredictable record size). This affects only those programs that do REWRITEs
on sequential files. If you have a program that does REWRITEs on a sequential file, you should check to make sure that the
device type is not one that specifies automatic trailing space removal. See
File-Control Paragraph in the
ACUCOBOL-GT Reference Manual for more information.
Runtime changes
The following changes occur when the latest runtime is installed. These changes can generally be compensated for by various
configuration options.
- Since Version 3.0, the runtime does not support linked object files produced by the Version 1.3 compiler. If you have any
linked object files, then you must convert them to the library format introduced in Version 1.4. Note that the normal object
files produced by the 1.3 compiler are still supported.
- The default keyboard configuration has changed. The new default is very similar to the default RM/COBOL configuration. Also,
the KEY-MAP and EDIT-MODE configuration variables are no longer supported. These have been replaced by the more powerful KEYBOARD
and KEYSTROKE entries. Most users of Version 1.3 ACUCOBOL-85 reconfigured the keyboard with the KEY-MAP variable to simulate
the RM/COBOL keyboard. Most will not need to make any changes since this is the new default.
- Users who used the default ACUCOBOL-85 keyboard under Version 1.3 will have to reconfigure the keyboard to meet the Version
1.3 standard. Other users may need to make minor changes to match their previous configuration. See
Redefining the Keyboard in the
ACUCOBOL-GT User’s Guide for details on the new default configuration and the KEYBOARD and KEYSTROKE variables. Also, see the sample configuration
file supplied with the compiler.
- Under Version 1.3, files opened with the EXTEND phrase are automatically created if they do not exist. Beginning with Version
2.1, they are not. This change was made to match the ANSI standard. You can maintain the Version 1.3 behavior by setting the
configuration variable
EXTEND-CREATES to
1 in the configuration file.
- In VAX COBOL compatibility mode, a missing file opened for I/O is not automatically created. Under Version 1.3, it was. This
change was made because the most recent release of the VAX COBOL compiler was changed this way.
- Several VAX COBOL file status codes have been changed. This change was made to match changes made to the VAX COBOL compiler.
- When you are using the RM/COBOL-85 or RM/COBOL version 2 file status codes, a corrupted indexed file is now returned as file
error
98 instead of file error
30.
- A single DISPLAY may now wrap around more than one screen row. Under Version 1.3, lines are truncated. If the 1.3 behavior
is desired, set the configuration variable
WRAP to the value
0.
- An ACCEPT or DISPLAY statement that references a row past the bottom edge of the window now causes that window to scroll.
Under Version 1.3, the statement is (largely) ignored. You can cause a similar effect by setting the configuration variable
SCROLL to
0.
- The syntax of the COLOR-MAP configuration variable has changed slightly. See
Adding Color in the
ACUCOBOL-GT User’s Guide for more information.
- Object files produced by versions of ACUCOBOL-85 prior to Version 1.3 may not be executed by the latest runtime system. These
programs must be recompiled with a 1.3 (or later) compiler. This change was made to reduce the size of the runtime system
and to improve its performance. You can use the
-info option of
ccbl to locate object files created by a pre-1.3 version of ACUCOBOL-85. These will be object files that contain a
vers value of
2 or less.