Kednos PL/I for OpenVMS Systems
User Manual


Previous Contents Index

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.


Previous Next Contents Index