PPDEFTYPE, A %entity statement references the undeclared
preprocessor name entity. It is being declared as a FIXED
preprocessor variable.
Warning: A name that is not declared or that is not a
label has been referenced; the compiler supplies the attribute FIXED by
default.
User Action: Check that the reference is correctly
spelled; if not, correct the spelling of the reference. If the variable
is not declared, declare it with the appropriate attribute for its use:
BIT, FIXED, or CHARACTER.
PPDUPARAM, Entity is a duplicate preprocessor procedure
parameter.
Error: The same parameter name is used more than once
in a preprocessor procedure.
User Action: Correct the preprocessor procedure
statements so that there is only one reference to each parameter.
PPDUPDCL, The name entity has already been declared as a
preprocessor variable.
Error: The same identifier is used in more than one
preprocessor declaration at the same level.
User Action: Determine which preprocessor declaration
of the variable specifies the incorrect attributes, if they are
different, and correct the declarations.
PPELSENOT, A %ELSE does not properly correspond with a %THEN.
Error: A %ELSE clause was used without a corresponding
%THEN clause.
User Action: Verify that the %ELSE clause is not
extraneous. If it is not, add a %THEN clause to the program, and, if no
action is desired, follow it by a preprocessor null statement.
PPENDNODO, A %END does not properly correspond with a %DO.
Error: A group contains a %END statement without a
preceding %DO statement.
User Action: Verify the need for a %END statement. If
it is extraneous, remove it. If it terminates a preprocessor %DO-group,
include the %DO statement.
PPEXPRSYN, Invalid expression in a %entity statement.
Entity was found where entity was expected.
Error: The operands of a preprocessor expression can
consist only of unsubscripted references to preprocessor variables,
decimal integer constants, bit-string constants, character-string
constants, and references to preprocessor built-in functions.
Furthermore, only decimal integer arithmetic of precision (10,0) is
performed.
User Action: Examine the preprocessor expression, and
correct the error.
PPFIXOVER, Evaluation of a preprocessor expression caused the
FIXEDOVERFLOW condition.
Error: The evaluation of a preprocessor expression
resulted in a number that has exceeded the maximum precision. For BIT
and BINARY numbers, the maximum precision is 31; for DECIMAL numbers,
the maximum precision is 10.
User Action: Simplify the expression.
PPGOTOBACK, A %GOTO statement references a previously declared
label. Backwards %GOTO and %GOTO out of preprocessor procedures is not
permitted.
Error: The PL/I embedded preprocessor permits
only forward scanning for labels corresponding to a %GOTO statement.
User Action: Verify that the label is properly
specified or rename the label so that the %GOTO is forward.
PPGOTOEND, The target of a %GOTO statement, entity, was
not found.
Error: The compiler cannot locate the specified target
label for a %GOTO statement, or the target label is missing.
User Action: Verify that the target label exists. If
no matching label exists, include one. Make certain that corresponding
labels are spelled the same.
PPGOTOSYN, Invalid syntax in a %GOTO statement. The target of a
%GOTO statement must be an unsubscripted label identifier.
Error: A %GOTO target is incorrectly specified or it
is not an unsubscripted label.
User Action: Correct the syntax of the %GOTO
statement, and verify that it is an unsubscripted label.
PPINVLABL, Entity is a preprocessor label prefix
previously declared.
Error: The same preprocessor label has been declared
for more than one statement, resulting in ambiguous label references.
User Action: Rename the preprocessor label.
PPINVRADIX, An invalid radix was specified in the encode or decode
preprocessor function.
Error: The radix specified in the encode or decode
preprocessor function was invalid. It must lie in the range 2 through
16.
User Action: Correct the radix value.
PPINVSTRING, An invalid string was specified in the decode
preprocessor function.
Error: The string specified in the decode preprocessor
function contains invalid characters. They must lie in the range 0
through the radix - 1.
User Action: Correct the string.
PPLABDCL, The name entity has previously been declared as
a preprocessor label. It cannot be declared as a preprocessor
variable.
Error: The same name has been used as both a
preprocessor label and a variable name. Therefore, the compiler cannot
follow program flow.
User Action: Rename either the label or the variable
so that there are no duplicate names or declarations.
PPLABREP, The name entity has previously been declared as
a preprocessor label. It may not be declared as a %REPLACE
identifier.
Error: Preprocessor labels and identifiers cannot have
the same name.
User Action: Rename either the label or the variable
so that there are no duplicate names.
PPLABSYN, Invalid syntax in preprocessor label. A label must be of
the form %identifier:, and cannot follow %THEN or %ELSE.
Error: A preprocessor label has been incorrectly
specified. The correct syntax is %label: and cannot follow %THEN or
%ELSE.
User Action: Examine the preprocessor label, and make
certain that the percent sign and colon are positioned properly. It is
not necessary to include another percent sign on that line.
PPMULTLABL, Multiple labels on a preprocessor statement are not
permitted. To achieve the effect of multiple labels, write %L1:; %L2:
statement.
Error: No statement, including preprocessor statements
may have more than one label.
User Action: A statement can, however, be preceded by
any number of labeled null statements. To achieve the effect of
multiple preprocessor labels, write %L1:; %L2: in your source program.
PPNEST, Nested preprocessor procedures are not allowed.
Error: A %PROCEDURE statement cannot be used within a
preprocessor procedure.
User Action: Restructure the preprocessor procedures
so that they are not nested.
PPNOFILE, Cannot access source file for preprocessor scanning.
Fatal: The compiler cannot access an include file; it
cannot be found on the disk.
User Action: Verify that the file is accessible and
recompile.
PPNORET, Preprocessor procedure exited without execution of
%RETURN.
Error: The %RETURN statement is required in
preprocessor procedures. Values are passed back to the invoking source
program by means of the %RETURN statement.
User Action: Include a %RETURN statement in your
program.
PPNOTHEN, %IF is not terminated with %THEN.
Error: A preprocessor %IF-group is not followed by a
%THEN statement.
User Action: Either include a %THEN statement or
delete the %IF statement.
PPNOTSTMT, The clause following %THEN or %ELSE is not a
preprocessor statement.
Error: Clauses following the %THEN or %ELSE statements
require a preprocessor statement. Otherwise the statement cannot be
executed. Valid actions of the %THEN and %ELSE clauses are preprocessor
statements.
User Action: Verify that the statement is a
preprocessor statement preceded by a percent symbol. It must not be a
%END statement.
PPRECURS, The preprocessor procedure entity has been
invoked recursively 999 times. No further recursion will be
performed.
Error: A preprocessor procedure has called itself 999
times.
User Action: Correct or simplify the program.
PPREPDCL, The name entity has previously been declared as
a %REPLACE identifier. It cannot be declared as a preprocessor
variable.
Error: Preprocessor statements cannot have duplicate
identifiers, and %REPLACE is a preprocessor statement.
User Action: Rename one of the identifiers so that
there are no duplicate declarations.
PPREPLAB, The name entity has previously been declared as
a %REPLACE identifier. It may not be declared as a preprocessor
label.
Error: Preprocessor labels cannot have the same name
as identifiers.
User Action: Rename either the identifier or the label
so that there are no duplicate names.
PPSTMTSYN, Invalid syntax in a %entity statement.
Entity was found where entity was expected.
Error: A preprocessor statement was improperly
specified. The format of a preprocessor statement is as follows:
%[label:]STATEMENT;
User Action: Correct the syntax.
PPSTRINGSIZE, The length of a preprocessor character string exceeds
the implementation limit of 32500.
Error: A preprocessor expression yields a string
larger than the implementation limit.
User Action: Attempt to reduce the size of the string
or segment it among several variables.
PPSTRRANGE, Evaluation of a preprocessor expression caused the
STRINGRANGE condition.
Error: The STRINGRANGE condition (string index out of
bounds) was detected during evaluation of a preprocessor expression.
User Action: Correct the preprocessor source code to
have only valid string and substring references.
PPSUBSTR2, The second operand of a preprocessor SUBSTR is out of
range.
Error: The second operand in a reference to a SUBSTR
preprocessor built-in function is beyond the range of the string. This
message is issued only if the procedure containing the reference was
compiled with the /CHECK qualifier.
User Action: Correct the reference.
PPSUBSTR3, The third operand of a preprocessor SUBSTR is out of
range.
Error: The third operand in a reference to a SUBSTR
preprocessor built-in function is beyond the range of the string. This
message is issued only if the procedure containing the reference was
compiled with the /CHECK qualifier.
User Action: Correct the reference.
PPTEXTRA, A %entity statement contains extraneous text
where ";" was expected.
Warning: Nonpreprocessor text follows a preprocessor
statement.
User Action: Locate the beginning of the extraneous
text and check for unbalanced or missing comment delimiters (/* or */).
PPTHENNOIF, A %THEN does not properly correspond with a %IF.
Error: A %THEN statement must have a corresponding %IF
statement. The format of the %IF statement is as follows:
%IF test-expression %THEN action [%ELSE action];
User Action: Verify that the syntax is correct.
PPTOOBIG, Preprocessor text expansion exceeds the implementation
limit for number of characters per line.
Error: A source input record has more than 255
characters, which is the capacity of the input buffer.
User Action: Ensure that the RESCAN option has been
used properly and is not needlessly replacing characters. Otherwise,
reduce the size of the text and recompile.
PPTOODEEP, Combined %DO and %IF nesting has exceeded the
implementation limit for maximum depth of nesting.
Error: There are too many nested %DO and %IF groups.
User Action: Simplify the nesting of %DO and %IF
groups in the program.
PPTOOFEW, Insufficient %END statements. An additional %END
statement has been supplied.
Warning: The compiler inserted a %END statement in the
program so that the number of %ENDs is correct.
User Action: Match the %END statements with %DO
statements to ensure that each preprocessor group is properly
terminated.
PPTOOMANY, Preprocessor replacements have been applied to this
statement 999 times. No further replacements will be performed.
Warning: Replacement has exceeded the implementation
limit of 999.
User Action: Ensure that the RESCAN option has been
used properly and is not needlessly replacing characters. Otherwise,
reduce the number of replacements.
PPUNRFUNC, Entity is not a preprocessor built-in function
known to this implementation.
Error: A function does not contain any recognizable
PL/I preprocessor statements or keywords, or a statement contains
extraneous names.
User Action: Examine the function in error and correct
it.
PPVARDCL, The name entity has previously been declared as
a preprocessor variable. It may not be declared as a preprocessor
label.
Error: The same name has been used as both a
preprocessor label and a variable name. Therefore, the compiler cannot
follow program flow.
User Action: Rename either the label or the variable
so that there are no duplicate names or declarations.
PPZERODIV, Evaluation of a preprocessor expression caused the
ZERODIVIDE condition.
Error: The divisor in a division operation has the
value of zero. The value resulting from such an operation is undefined.
User Action: Recompile the program with a valid
expression.
PROLOGVAL, The value of the AUTOMATIC or DEFINED variable
entity is used in an extent expression or initial-value
expression in the declaration of an AUTOMATIC or DEFINED variable in
the same block.
Warning: Dependency on the value of an AUTOMATIC or
DEFINED variable that is declared in the same block is not allowed.
When the compiler generates code for the variable, the referenced
automatic or defined variable may not have been allocated or
initialized.
User Action: Correct the extent or initial-value
expression so that it specifies a constant value, a static variable, or
parameter, or so that it references a variable that is defined in a
containing block.
PTQTYPEDEF, The variable entity TYPE reference is a
pointer-qualified variable which is not allowed.
Error: A pointer-qualified TYPE reference implies that
the typed variable can inherit, from the type definition, the BASED
attribute which is not true.
User Action: Declare the variable with explicit
attributes.
PUTGETUNION, The union entity occurs as a source or target
in a GET or PUT statement.
Warning: The UNION attribute must be associated with a
level number in a structure declaration, but structure declarations
containing the UNION attribute cannot be used in I/O statements.
User Action: Remove the UNION attribute.
REFERENCE, The CDD description for structure item entity
contains the REFERENCE attribute. REFERENCE is being ignored by
PL/I.
Informational: The REFERENCE attribute is not
supported by PL/I.
User Action: None.
REFERENCEBIF, Invalid use of the REFERENCE built-in function.
Error: The REFERENCE built-in function can be used
only to override the passing mechanism of an argument. This means it
must be used in an argument list, and its parameter must be an argument.
User Action: Remove the reference to the built-in
function from the statement.
REPLSYN, Invalid syntax in a %REPLACE statement.
Error: A %REPLACE statement is specified incorrectly.
User Action: Correct the statement.
REQINIT, An INITIAL attribute must be specified for
entity.
Warning: The indicated name is not specified with the
INITIAL attribute. This error occurs for names declared with the
READONLY or VALUE attributes. Because names with these attributes
cannot be modified, their values are unpredictable if they are not
initialized.
User Action: Specify the INITIAL attribute to give the
name a value.
RESIGNOTON, RESIGNAL built-in function has been referenced from
outside an ON unit.
Error: The RESIGNAL built-in function has been
referenced in a block that is not the first level block of an ON-unit.
User Action: The RESIGNAL built-in function cannot be
referenced from outside an ON-unit or in a nested block of an ON-unit.
Control must be passed back down to the immediate block of the ON-unit
through a nonlocal GOTO before RESIGNAL is called.
RETANY, A returns descriptor must not specify ANY as its data type
for entity. FIXED BINARY(31) has been forced.
Error: The ANY attribute is specified in a returns
descriptor.
User Action: Correct the returns descriptor so that it
specifies data type attributes for the return value. The ANY attribute
is valid only for parameter descriptors for non-PL/I procedures.
RETLENGTH, A RETURNS attribute must not specify an array,
structure, or area for entity.
Error: The data type specified in a returns descriptor
is an aggregate or area.
User Action: Ensure that the returns descriptor in the
RETURNS option of the PROCEDURE statement for the function does not
specify an aggregate or area value.
RETSTAR, Invalid *-extent in a RETURNS attribute for
entity.
Error: An asterisk is specified for an extent or
precision in a RETURNS attribute. The only valid use of an asterisk in
a RETURNS attribute is RETURNS (CHARACTER(*)).
User Action: Specify a value in the RETURNS attribute.
RETURNON, A RETURN statement is not allowed in an ON-unit.
Error: A RETURN statement is specified within a begin
block specified for an ON-unit.
User Action: To exit from the program, use a nonlocal
GOTO within the ON-unit.
RETVAL, A RETURN statement in a subroutine cannot return a
value.
Error: A RETURN statement in a subroutine specifies a
value.
User Action: Ascertain whether the indicated procedure
is to be invoked as a subroutine or as a function. If it is a
subroutine, remove the return value from the RETURN statement. If it is
a function, specify the RETURNS option on its PROCEDURE statement.
RETVALCVT, Implicit conversion of the return value entity
to the function type entity.
Warning: The data type specified in a RETURN statement
does not match the data type given in the corresponding returns
descriptor, and the compiler has performed an implicit conversion of
the value to the specified data type. In the case of a procedure with
multiple entry points, this message will be issued once for each
occurrence of a RETURN statement that requires an implied conversion.
User Action: If the conversion is desirable, use a
specific conversion built-in function to return the value, as in
RETURN(CHAR(n)). Either correct the RETURNS option on the PROCEDURE or
ENTRY statement that is in error, or correct the value specified in the
RETURN statement.
RETVALXX, The value entity in a RETURN statement is not
valid for conversion to the entity function type of one of the
entry points of this multi-entry-point procedure.
Warning: This warning message is given only for a
RETURN statement in a procedure that has multiple entry points. It is
issued when a RETURN statement specifies a return value that is
incompatible with the data type specified in the corresponding returns
descriptor of one or more of the entries. The message is issued once
for each incompatible return value.
User Action: Verify that the program's flow of control
is such that the invalid conversion will not take place. To avoid this
message, correct the return data type in one or more RETURN statements.
RIGHTJUST, The CDD description for structure item entity
contains the Right Justified attribute. Right Justified is being
ignored by PL/I.
Informational: PL/I does not support the Common Data
Dictionary Right Justified attribute.
User Action: None.
ROUNDARG2, The first argument of the ROUND built-in function must
be fixed decimal or pictured or fixed binary and must have a positive
scale factor. The second argument must be an integer constant in the
range 0 through 31.
Error: A reference to the ROUND built-in function
specifies an invalid argument list.
User Action: Correct the argument in the reference to
the ROUND built-in function.
SBSTYPEDEF, The variable entity TYPE reference is a
subscripted variable which is not allowed.
Error: When an array is declared, the attributes are
associated with the array and not with the array member.
User Action: Omit the subscript from the TYPE
reference.
SCAERROR, Internal compiler error during SCA processing. Please
submit an SPR.
Fatal: An internal compiler error during SCA
processing.
User Action: Submit an SPR. Recompile the program
without the /ANA qualifier.
SCALEIGNOR, Entity has been declared FLOAT with a scale
factor. The scale factor will be ignored.
Warning: A floating-point variable has been declared
with a scale factor.
User Action: Correct the declaration of the
floating-point variable so that it does not specify a scale factor.
SETREQ, Because the variable entity was not declared with
a base pointer, this ALLOCATE statement requires a SET option.
Error: The variable referenced in the ALLOCATE
statement has the BASED attribute but is not declared with an explicit
pointer reference.
User Action: Specify the SET option on the ALLOCATE
statement, or correct the BASED variable's declaration so that it
specifies a pointer variable.
SIZE, Invalid type of argument for the SIZE or BYTESIZE built-in
function.
Error: The argument of the SIZE or BYTESIZE built-in
function was not a reference to a variable. For example, it might have
been a constant or an expression.
User Action: Supply a valid argument.
SMALLAREA, If the AREA entity is to be initialized it must
have an extent of at least 24 bytes.
Error: The AREA variable was declared with an extent
of less than 24 bytes. AREAs of this size are too small to be
initialized by the EMPTY() built-in function.
User Action: Change the extent specified so that the
area has an extent of at least 24 bytes.