TECHNICAL ARTICLES [ COMMUNICATOR 3000/XL ] MPE/iX Communicators
COMMUNICATOR 3000/XL
Chapter 7 TECHNICAL ARTICLES
COBOL II/XL
by Shailesh Patel--Information Technology Group
The following should be taken into consideration when using COBOL II/XL
compiler version A.00.13 and later.
* The operating system has changed the intrinsics declarations for
SORT, MERGE and intrinsics HPMYPROGRAM and HPGETPROCPLABEL, which are
used for dynamic calling of subprograms. If your COBOL program uses
any of the features listed below, the programs must be recompiled
before trying to run the existing programs on operating system
release A.01.10 :
- SORT/MERGE COBOL statements
- CALL IDENTIFIER COBOL statements
- CALL INTRINSIC COBOL statements
* Much work has been done to allow the HP COBOL II/XL compiler to
produce the best possible code without optimization. For example,
special millicode was written especially for COBOL to provide for
efficient decimal and character moves, calculations and comparisons.
This millicode is invoked in a manner invisible to the programmer.
* Level one optimization is provided for those programs that use the
cpu intensively and do very little I/O. Improvements even for these
programs will be modest. For more information on the improvements
provided by the optimizer, as well as hints on writing efficient
programs see Chapter 3 of the HP COBOL II/XL Programmer's Guide (P/N
31500-90002).
* The operating system does not give stack trace, when a program
aborts. Also it does not print the Escape code. Because of this,
the errors in the intrinsics are not clear and difficult to
understand. We recommend the following workaround to get meaningful
information for the errors:
- :SETDUMP DEBUG="wl 'Escape code = ',escapecode;wl;tr;c"
This command will tell the NMDEBUG to print the escape code, and the
stack trace.
* The command files to use COBOL II/XL compiler have been changed to
use Master file and Work file. The changes will affect the job files
which use positional parameters for the info strings. The following
command, for example:
:COB85XL source,,,"$control map"
will now have to be changed to not use the positional parameter as:
:COB85XL source;info="$control map"
This change applies to all the six command files, namely
COB85XL, COB85XLK, COB85XLG, COB74XL, COB74XLK, COB74XLG.
MPE/iX Communicators