The following enhancements and changes have been added:
- The name of corrective service diskettes (CSD) has been changed to FixPak.
- FixPak #3 combines the enhancements and changes in CSD #2 and CSD #1.
- For compatibility with the host, the size of label variables has been reduced to 8
bytes. This means if a label variable is passed from one routine to another or is external
to several routines, then all those routines must be recompiled if any one of them is
recompiled.
- Under SYSTEM(CICS), any statement that is not supported will now be flagged at
compile-time with an S-level message.
- More assignments of one mumeric picture to another numeric picture are now done inline.
When the pictures match, the assignment has always been done inline. In addition, the
assignment will done inline if SIZE is disabled and the pictures use
- 9, Z, V
- static blank, period, comma or slash
- static currency symbol
- initial or terminal "S", "+" or "-"
- The RULES option has a new suboption: BYNAME or NOBYNAME. Under NOBYNAME, the compiler
will flag with an E-level message all BYNAME assignment statements.
BYNAME is the
default.
- The RULES option has a new suboption: MULTICLOSE or NOMULTICLOSE. Under NOMULTICLOSE,
the compiler will flag with an E-level message all statements that force the closure of
multiple groups of statements.
MULTICLOSE is the default.
- Any POINTER constant, not just SYSNULL, may now be assigned to HANDLEs.
- Assignments of the form "x = repeat( y, n )" where "x" is CHARACTER
and "y" is CHARACER(1) are now inlined and optimized.
- The AMTHD option has a new suboption called SFS. AMTHD(SFS) allows a program to access
Encina SFS files using PL/I I/O statements. This is the initial phase of this enhancement.
There are a few rules that need to be followed in order to use this option.
- The file name specified in the SET DD statements must be fully-qualified with the name
of the SFS server. For example, if the server name is /.:/encina/sfs/my_server, and the
file name is testfile.dat, the file name that appears on the SET DD statement should be
/.:/encina/sfs/my_server/testfile.dat .
- Only record-oriented I/O is supported.
- Secondary indices are not supported.
- Currently, the SFS support applies to existing files only. You must create the file
using CICS or SFSADMIN.
- The RECSIZE, KEYLENGTH and KEYLOC options are required.
- An I-level message is now issued if a RETURN statement with an expression is found in a
PROCEDURE that has no RETURNS attribute. A RETURNS attribute will continue to be assumed.
- Comments spanning multiple lines are no longer flagged.
- Sample PL/I program calling Java has been updated to use the Java Native Method
Interface (JNI).
The PL/I and Java sample programs are described in the 'plijava.htm'
document which can be found in the \ibmpliw\help\ directory. Point your browser to this
file for information about these sample programs. The PL/I and Java sample programs and
assorted parts can be found in the \ibmpliw\samples\ directory. You can use the supplied
makefiles to compile the sample programs after making the following adjustments:
- Copy makefile.win into a working file, like 'mymake.mak'.
Next, you must make the
following change to the makefile:
Change the 'JAVA_HOME = c:\jdk1.1.8' to refer to the drive and directory that you have
the Java toolkit or Java runtime installed in.
Now you can run the makefile with a command like the following: 'nmake /f mymake.mak'
- The Intersolv ODBC drivers and the ODBC Administrator are no longer shipped with
VisualAge PL/I.
- A more complete set of Windows NT Header Files have been included. For more information
on how to use them, please see the 'readme.txt' file in the ' \ibmpliw\include\'
directory.
The following changes have been made to increase compatibility with the old host
compiler:
- Structure expressions are now allowed in PUT LIST and PUT EDIT.
- Structure expressions are now allowed as arguments to user functions if the
corresponding parameter has constant extents.
- Parenthesized structure references are now allowed as arguments to user functions if the
corresponding parameter is undescribed or if the corresponding parameter has constant
extents.
- A structure may be used as the source in a multiple assignment.
- Multiple targets are allowed in BY NAME assignments.
- Condition prefixes are allowed on IF and SELECT statements.
- The POLY built-in function is supported with the restrictions that
- The first argument must be REAL FLOAT
- The second argument must be scalar
- In the declare of a PICTURE variable, a blank is no longer required between the PICTURE
string and any immediately following attribute.
- Dummy structure arguments are now accepted with some restrictions:
- if the corresponding parameter is undescribed, then
- the argument must be a simple structure reference
- else /* when the corresponding parameter is described */
- if the corresponding parameter has constant extents, then
- the argument may be any matching structure expression
- else
- the argument must be a matching simple structure reference
The following problems have been fixed: