New Components and Features [ Micro Focus COBOL for UNIX, Getting Started ] MPE/iX 5.0 Documentation
Micro Focus COBOL for UNIX, Getting Started
New Components and Features
Compiler (Syntax-check Phase)
* CALL PROTOTYPE syntax now includes a REPEATED phrase so you can
indicate that the last parameter in the CALL statement can be
repeated from 1 to n times.
* You have more control over the messages produced. The number of
messages you can hide using the HIDEMESSAGE directive has
increased. You can re-enable selected messages during compilation
by putting NOHIDEMESSAGE(message-number) in $SET statements. The
new CHANGE-MESSAGE directive enables you to change the severity of
a message to I/W/E/S or R=reset, N=hide, (ALL R)=reset all.
* The FDCLEAR directive can be specified for individual files so
that the record area is cleared (to the DEFAULTBYTE value) after a
WRITE operation. This directive is for mainframe compatibility.
* Support for DB2/6000 SQL on the AIX operating system has been
added. Micro Focus COBOL fully supports embedded SQL with this
database engine.
* The SQLCOMMIT directive gives more control of automatic generation
of SQL COMMIT statements, to give greater database integrity.
* The LINE-COUNT directive makes the Compiler display a count of the
number of source lines compiled and other statistics.
* The output caused by the SETTINGS directive has been redesigned to
be clearer.
* If declaratives are specified for file I/O, they are now invoked
if file errors are detected during sorting.
* You can now use the word LENGTH with an alphanumeric literal to
get the length of the literal. For example:
move length "Hello World" to a
moves 11 to A.
* The Integrated Preprocessor Interface has significantly improved:
* The preprocessor can now query Compiler directives.
* The preprocessor can now handle free-format source.
* IS EXTERNAL BY "literal" is now supported in the Data Division so
references to external symbols can be case sensitive in mixed
language programing.
* The new CMPR2 directive is available for use with VSC2(3),
VSC2(4), and COBOL370 to produce more closely VSC2(2)-compatible
behavior. A few additional ANS85 features are also available with
this directive. This directive is for mainframe compatibility.
* The enhanced FOLDCALLNAME directive helps you transfer COBOL from
your personal computer to UNIX. It makes the Compiler conform to
the ANSI 85 Inter-program Communication module, in which the case
of a program name referenced in a CALL is not significant.
* The new directive BYTE-MODE-MOVE makes the result of forward
overlapping moves give the same result as an IBM mainframe.
* The new directive DIRECTIVES-IN-COMMENTS enables you to put a $SET
statement anywhere in a line or in comment lines. This enables
Compiler directives to be set in source but appear as comments
when the program is uploaded to a mainframe; this eases program
off-loading onto the PC. It also enables copyfiles to be used in
both fixed and free format source files.
* The new directive KEEP-INT controls whether intermediate code is
produced for a program that has serious or unrecoverable errors.
* The new directive COBOLDIR controls whether the cobol.dir
directives file should be used in the compilation. NOCOBOLDIR
prevents it being used. You can specify this directive anywhere
except in a $SET statement.
Compiler (Generate Phase)
There are the following new features on SCO UNIX:
* The new directive LITLINK(2) provides backwards compatibility with
this COBOL system for DOS, Windows, and OS/2. When this directive
is specified, calls of the form CALL "---program-name"
will be resolved to a static linked call to the program
"---program-name".
* Support has been added for a number of new call-conventions:
* call-convention 8 - forces static linking of a call
* call-convention 16 - supports the OS/2 optlink call
convention
* call-convention 32 - supports thunking under OS/2
* call-convention 64 - supports the Windows NT stdcall call
convention
* There are new optimizations targeted at the new Intel Pentium
processor. Some are on by default, while others are controlled by
compile-time switches or the generator control file ncg.ops
Configuring
* The configuration files by which you configure many aspects of
development tools have been greatly simplified. Instead of a
separate .cfg file for each tool, there is one global
configuration file for all tools on a system, and one local
configuration file by which you can override aspects of behavior
for an individual user.
DCE Support
Support for the Distributed Computing Environment (DCE) is now available
for some UNIX environments. To use it you must have DCE already on your
system.
DCE simplifies the development of seamless distributed applications in a
heterogeneous environment such as a network including machines using
different operating systems. DCE is a set of tools and service that have
been defined by the Open Software Foundation (OSF).
File Handling
* There is a new data compression routine CBLDC003. It is a run
length encoding routine tailored to repeating double-byte (DBCS)
characters.
Fileshare Version 2
* Fileshare now includes routines FS_SPLIT_FILENAME and
FS_JOIN_FILENAME for stripping server names from the beginning of
filenames and adding them onto base file-names. The interface to
these routines is the same as for CBL_SPLIT_FILENAME and
CBL_JOIN_FILENAME.
* Fileshare now includes a tutorial. With it you can step through
the use of the main features of Fileshare, including transaction
processing and Fileshare configuration.
Screen Handling
* The LOWLIGHT clause, which was formerly documentary, now dims the
item displayed, provided the terminfo and terminal hardware
support this. You can get the old behavior by setting the COBATTR
environment variable to 4.
* The LINES and COLUMNS environment variables are now supported.
This is for use on windowing environments, where you can change
the size of a window thus making the information in your terminfo
file wrong. The correct size is now picked up from the LINES and
COLUMNS environemtn variables.
Signal Handling
* By default, the signal handling used by the COBOL run-time system
is now the more robust sigaction() interface, in place of the
signal() interface, where it is available.
This will not cause any difference in behavior, unless if you are
setting up your own signal handlers. You can get the old behavior
by using the signal_interface run-time tunable.
MPE/iX 5.0 Documentation