Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Migration Guide

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.

However, array expressions are not supported in any GENERIC reference. Mismatched parameter and argument arrays are also not supported in any GENERIC reference.

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);

Terms of use | Feedback

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