Release Overview
Version 6.0
General Compiler Enhancements
31-digit PIC 9 Support
A new Data Storage option, "-Dd31", causes the compiler to accept as many as 31 "X" (fixed-point numeric literal) or "9" (numeric data item) symbols in a PICTURE clause, instead of the usual 18. Intermediate results are calculated to 33 digits, instead of the usual 20.
Note: The intrinsic functions ACOS, ANNUITY, ASIN, etc., produce results accurate to 17 digits, even when the arguments contain more than 18 digits.
The maximum number of bytes in a COMP-X or COMP-N data item whose picture contains only "X" symbols is 16, instead of the usual 8. The number of bytes in COMP-4, COMP-5, COMP-X, and COMP-N data items with more than 18 digits is shown in the following table:
Note: Where two values are given, the smaller one applies to unsigned data items, and the larger one applies to signed data items.
Ability to Read Remote Files
In addition to being able to write object files on remote systems (introduced in Version 5.2.0), the compiler can now read files located on remote systems, so long as AcuServer or AcuConnect is running on the target systems. Using acurfap syntax (see section 2.1.15.1, "Remote File Name Handling," in Book 1, ACUCOBOL-GT User's Guide), you can direct the compiler to reference a file or directory on the remote system. Remote file name notation can be used with any compiler command line option that takes a filename for an argument.
Enhanced MODIFY Syntax
The MODIFY verb can now be used to disable or enable a window. For example, the following code:
MODIFY window-1, ENABLED = FALSEdisables the window identified by the handle window-1. This is identical to the way in which controls are enabled or disabled and uses the same syntax. A user cannot interact with a disabled window.
NO-CLOSE Window Style Disables the Close Menu
You may now specify the NO-CLOSE style in a Format 11 or 12 DISPLAY statement to cause the window's "Close" menu option to be permanently disabled (Formats 11 and 12 are used to create initial, independent, and floating windows). This option can be applied only when the window is created and its affects cannot be reversed. The NO-CLOSE option takes precedence over other settings, including the setting of the QUIT_MODE configuration variable. (Note that the word "NO-CLOSE" is reserved by the compiler only when it appears in a Format 11 or 12 DISPLAY statement.)
Creating a Declarative with the USE statement
A new format for the USE statement (Format 6) has been added. When placed in the program's Declarative section, a Format 6 USE statement creates a START or END procedure for the program. These declaratives provide a convenient place to do program initialization and cleanup. The syntax is as follows:
USE AT PROGRAM {START} {END }For more information, see the entry for the USE statement in section 6.6, "Procedure Division Statements," in Book 3 of the ACUCOBOL-GT Reference Manual.
Calling COBOL Programs from C
A new function, "cobol_no_stop()", provides a call interface to COBOL from C that always returns to the caller when the COBOL program executes a STOP RUN. Ordinarily when a COBOL program is called via the "cobol()" function and the program executes a STOP RUN, the entire executable halts. The function does not return. (There are two exceptions. The call does return if the COBOL program is called through the Web runtime or the runtime running as an automation server.) The new function, "cobol_no_stop()", can be used whenever you explicitly want the call to return when the COBOL program executes a STOP RUN. "cobol_no_stop()" has the same calling sequence as "cobol()". For more information, see section C.6 in Book 4, ACUCOBOL-GT Appendices.
Support for Matching an Object File with a Specific Runtime
The compiler and runtime have been enhanced with the ability to place and read a unique marker (serial number) in the COBOL object. This allows developers to build ACUCOBOL-GT programs that can be executed only with a runtime that has a matching serial number. For more information, see the entry for "--brand" in section 2.1.13, "Miscellaneous Options," of Book 1, ACUCOBOL-GT User's Guide.
Format of Index Items Changed
Starting with Version 6.0, table indexes and USAGE INDEX data items are created as 32-bit signed native binary data items. In versions prior to 6.0, the default was for indexes to act as 16-bit unsigned portable binary data items.
To use the increased limit, simply compile and run your programs as usual.
In rare cases, the change from 16-bit to 32-bit indexes could cause problems with an existing program. One case where this could be a problem is if you place USAGE INDEX items in a data file. Another case would be if you rely on undefined overflow behavior with arithmetic on 16-bit indexes.
If you need to preserve indexes as 16-bit data items, you can either compile for a pre-6.0 object format or you can specify the compiler option "--nodata32bit". This option inhibits the new data addressing features of Version 6.0 and causes indexes to be generated as 16-bit data items.
Passing a File Handle to a Subroutine
It is now possible to pass the operating system's file handle for an open COBOL file to a subroutine by referring to that file's SELECT name in a CALL statement. The most common reason for doing this is to call an operating system function to allow a file to retrieve some information that is not available through COBOL. See the CALL Statement in section 6.6, "Procedure Division Statements," of Book 3, ACUCOBOL-GT Reference Manual.
Improvement to Help Automation
The algorithm used by help automation to determine which element of the screen has been clicked, and thus what help content to display, has been improved. The new algorithm does a better job of responding with the expected context when the user initiates a request in the region of a control that changes sizes, such as the drop down portion of a combo box.
|
Acucorp, Inc. Voice: (800) 262-6585 (U.S.A. and Canada) Voice: (858) 689-4500 Fax: (858) 689-4550 Please share your comments on this manual or on any Acucorp documentation with the Acucorp Communications Department. |
|
|
| © 1988-2003 Acucorp, Inc. All rights reserved. |