Rational Developer for System z
PL/I for Windows, Version 7.6, Programming Guide

Language restricted

Except where indicated, the compiler will flag the use of any language that is restricted.

RECORD I/O

RECORD I/O is supported, but with the following restrictions:

STREAM I/O

STREAM I/O is supported, but the following restrictions apply to PUT/GET DATA statements:

Structure expressions

Structure expressions as arguments are not supported unless both of the following conditions are true:

Array expressions

An array expression is not allowed as an argument to a user function unless it is an array of scalars of known size. Consequently, any array of scalars of arithmetic type may be passed to a user function, but there may be problems with arrays of varying-length strings.

The following example shows a numeric array expression supported in a call:

     dcl x entry, (y(10),z(10)) fixed bin(31);

     call x(y + z);

The following unprototyped call would be flagged since it requires a string expression of unknown size:

     dcl a1 entry;
     dcl (b(10),c(10)) char(20) var;

     call a1(b || c);

However, the following prototyped call would not be flagged:

     dcl a2 entry(char(30) var);
     dcl (b(10),c(10)) char(20) var;

     call a2(b || c);

DEFAULT statement

Factored default specifications are not supported.

For example, a statement such as the following is not supported:

   default ( range(a:h), range(p:z) ) fixed bin;

But you could change the above statement to the following equivalent and supported statement:

   default range(a:h) fixed bin, range(p:z) fixed bin;

The use of a "(" after the DEFAULT keyword is reserved for the same purpose as under the ANSI standard: after the DEFAULT keyword, the standard allows a parenthesized logical predicate in attributes.

Extents of automatic variables

An extent of an automatic variable cannot be set by a function nested in the procedure where the automatic variable is declared or by an entry variable unless the entry variable is declared before the automatic variable.

Built-in functions

Built-in functions are supported with the following exceptions/restrictions:

iSUB defining

Support for iSUB defining is limited to arrays of scalars.

DBCS

DBCS can be used only in the following:

G literals can start and end with a DBCS quote followed by either a DBCS G or an SBCS G.


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)