Appendix A
PL/I Messages
This appendix describes the messages produced by the following:
The Endless PL/I V3.9 for OpenVMS VAX and Endless PL/I V5.0 for OpenVMS Alpha compilers
The OpenVMS run-time system
The CRX (%CRX messages issued during use of the Common Data Dictionary)
The description of each message gives the severity, followed by additional explanatory text and suggested action. Compiler messages with severities of Error or Fatal require that you recompile the program after correcting the source text.
A.1. Compiler Messages
This section list the diagnostic messages produced by the Endless PL/I V3.9 for OpenVMS VAX and Endless PL/I V5.0 for OpenVMS Alpha compilers, alphabetized by identification.
ADDRARG, The argument of ADDR must be a byte addressable reference.Explanation: (Error) The argument of the ADDR built-in function is not on a byte boundary. For example, this error occurs if the argument is an unaligned bit string.
User Action: Verify that the correct argument is specified for the ADDR built-in function. If a bit-string variable is correctly specified, check that the declaration of the variable has the ALIGNED attribute.
ADDRNOTREF, The argument of ADDR must be a reference to a variable.Explanation: (Error) The ADDR built-in function specifies an argument that is a constant or a global symbol.
User Action: Verify that the correct argument is specified for the ADDR built-in function and that the argument is not a constant.
AGGMISMAT, The source and target of an assignment are aggregates that do not match as required by the language rules.Explanation: (Error) An assignment statement assigning the value of one array to another or one structure to another references arrays or structures that are not identical. This form of assignment is valid only when arrays with the same data type, number of dimensions, and extents are used, and when structures with the same hierarchy and data types are used.
User Action: Verify that the references in the assignment statement refer to the correct aggregates. Use separate assignment statements if the source and target of an assignment are aggregates that do not match.
ALIGNARRAY, The CDD description for array item entity contains the ALIGNED attribute. ALIGNED is being ignored by PL/I.Explanation: (Informational) Endless PL/I V3.9 for OpenVMS VAX does not support the ALIGNED attribute on arrays, so if it is specified in CDD it is ignored.
User Action: No action is necessary.
ALIGNED, Entity has been declared with the ALIGNED attribute. Only BIT or CHARACTER string variables can be declared ALIGNED.Explanation: (Error) The ALIGNED attribute is specified with a conflicting attribute.
User Action: Correct the declaration of the variable.
AMBIGREF, This statement contains an ambiguous reference to entity.Explanation: (Error) This error is produced when more than one structure contains a member with the same identifier name, and the name is referenced without a structure qualifier.
User Action: Determine the member name that should be referenced and correct the reference by including a structure qualifier of the form name1.name2.name3... in the statement.
ANYCNOTSTAR, The ANY and CHARACTER attributes can only be used together if the CHARACTER attribute is CHARACTER(*).Explanation: (Warning) The ANY and CHARACTER attributes can be used together only in the parameter declaration ANY CHARACTER(*). Fixed-length ANY CHARACTER declarations are not allowed.
User Action: Correct the declaration to specify the length as an asterisk.
ARGCVRT, Implicit conversion. A procedure argument, entity, has been converted to the parameter type entity.Explanation: (Warning) The data type of the indicated argument does not match the data type of the corresponding parameter descriptor, and the PL/I compiler has converted the argument to the data type of the parameter. This situation may or may not constitute an error.
User Action: To avoid this message in circumstances in which you want the compiler to convert the argument, use an explicit conversion built-in function (for example, CHARACTER, BINARY, or FLOAT). You can also suppress the message by compiling the program with the /NOWARNINGS qualifier.
ARGLEQ253, Aprocedurereferencecontainsmorethan253arguments.Explanation: (Error) A CALL statement or a function reference specifies an argument list with more than 253 arguments.
User Action: Examine the argument list to see if there is a syntax error. If the list is correct, simplify the program so that no procedure requires more than 253 arguments.
ARGOMIT, An argument can be omitted with the ,, notation only when the called procedure is declared as OPTIONS(VARIABLE) or when the formal parameter is declared with the OPTIONAL attribute.Explanation: (Error) An argument list in a procedure invocation contains null arguments, for example (a,,b).
User Action: Verify that the argument list in the procedure invocation specifies all arguments that are required. If the procedure accepts default arguments, declare the formal parameters with the OPTIONAL attribute.
ARITHSYN, Invalid syntax in an arithmetic constant.Explanation: (Error) The statement contains an arithmetic constant that is incorrectly specified.
User Action: This message may be followed by additional messages that provide syntactic reasons for the failure. Determine the type of constant required in the statement and the correct way to specify the constant. Correct the statement.
ARRAYOVFL, FIXEDOVERFLOWoccurredincalculatingthemultipliersorvirtualoriginofthearrayentity.Explanation: (Error) In an array with constant bounds (for some or all of its dimensions), the FIXEDOVERFLOW condition occurred when the compiler tried to calculate the multipliers and virtual origins of the array.
User Action: Check that the values specified for the array bounds are correct. Avoid using lower bound values that are very large numbers.
ASSIGNCVT, Implicit conversion in an assignment, entity has been converted to an entity target.Explanation: (Warning) The data type of the indicated expression does not match the data type of the target variable in the assignment, and the PL/I compiler has converted the expression to the data type of the target variable. This situation may or may not constitute an error.
User Action: To avoid this message in circumstances in which you want the compiler to convert the expression to the data type of the target, use an explicit conversion built-in function (for example, CHARACTER, BINARY, or FLOAT). You can also suppress the message by compiling the program with the /NOWARNINGS qualifier.
ATTRNOTSPC, Incomplete attributes have been specified for entity.Explanation: (Error) Something is missing in a declaration.
User Action: Correct the declaration.
BADAGGARG, Entity is an invalid array, structure, or area argument. Such an argument must be a variable reference, must not be enclosed in parentheses, and must exactly match the corresponding parameter.Explanation: (Error) An array dimension or a structure declaration specified in a parameter descriptor does not match the corresponding dimension or structure of the variable specified in the procedure reference. For example, this error occurs if a parameter descriptor specifies a two-dimensional array and the procedure reference specifies the corresponding argument with a reference to a three-dimensional array.
User Action: Determine whether the parameter descriptor correctly specifies the data type, dimensions, and structure of the required parameter. If so, correct the declaration of the corresponding argument or the corresponding argument reference. If the argument is specified correctly, correct the parameter descriptor. If the procedure is a non-PL/I procedure, use the ANY attribute in the parameter descriptor.
BADALLOCN, The argument of ALLOCATION must be a reference to a CONTROLLED variable.Explanation: (Error) The ALLOCATION built-in function returns the number of generations of a variable and is used only with CONTROLLED variables. A variable with a storage class other than CONTROLLED was given as the argument of the ALLOCATION built-in function.
User Action: Supply a valid argument and recompile the program.
BADANYARG, The procedure argument, entity, is not valid for passing to the corresponding parameter, which was declared as ANY or ANY VALUE.Explanation: (Error) A parameter descriptor specifies ANY or ANY VALUE, but the argument list specifies an expression that is not valid for these argument-passing attributes. For example, this error occurs when an expression whose value cannot be contained within 32 bits is specified for a parameter declared with the VALUE attribute.
User Action: Determine how the argument is to be passed, and correct either the parameter descriptor or the argument reference.
BADARG, The procedure argument, entity, is not valid for conversion to the entity parameter type.Explanation: (Error) The indicated reference or expression specified in an argument cannot be converted to the data type of the corresponding parameter.
User Action: Determine whether the parameter descriptor was correctly specified or if the argument is correct, and change either the parameter descriptor or the argument list.
BADARITH, The noncomputational value, entity, has been used in a context requiring an arithmetic value.Explanation: (Error) The indicated expression or reference has a data type that cannot be converted to an arithmetic expression, yet has been specified in a context that requires an arithmetic expression.
User Action: Correct the expression so that it specifies an arithmetic data type or a data type that can be converted to arithmetic.
BADASSIGN, The source operand, entity, of an assignment is invalid for conversion to the entity target.Explanation: (Error) The variable or expression on the right side of the assignment statement has a data type that is incompatible with the data type of the target.
User Action: Correct the expression so that it specifies a data type that can be converted to the data type of the target. If the target is an array variable, or a member of a dimensioned structure, be sure that the array reference contains a valid subscript.
BADATATYPE, An expected entity value was not found. One of the values in this statement has a data type that is inconsistent with the context in which the value is used.Explanation: (Error) A data item of one type has been specified in a context where an item of another data type is required. For example, this error occurs if the target label on the GOTO statement is not a label but a variable declared with other data type attributes.
User Action: Verify the data type of the item, and correct the declaration of the variable.
BADBASE, The CDD description for structure item entity specifies an incompatible base.Explanation: (Error) PL/I supports only decimal or binary numbers. The Common Data Dictionary structure item entity is neither decimal nor binary.
User Action: Change the Common Data Dictionary description to an appropriate data type.
BADBIT, The noncomputational value, entity, has been used in a context requiring a bit-string value.Explanation: (Error) The indicated name or expression has a data type that cannot be converted to a bit string.
User Action: Correct the expression or the reference so that it has a data type that can be converted to a bit string.
BADBITCON, Abit-stringconstantcontainsaninvaliddigitorthedigitfollowingtheBisnot1, 2, 3,or4.Explanation: (Error) A bit-string constant is incorrectly specified.
User Action: Determine the correct base for the bit-string constant, and correct the specification.
BADCHAR, Anoncomputationalvalue,entity,hasbeenusedinacontextrequiringacharacter-stringvalue.Explanation: (Error) The indicated variable or expression has a data type that cannot be converted to a character string, but is used in a context that would require such conversion.
User Action: Correct the expression so that it specifies a character-string data type or a data type that can be converted to character.
BADCLATTR, Entity is declared with duplicate or conflicting attributes. Entity conflicts with entity.Explanation: (Error) This error occurs when conflicting attributes of any type are specified. Two examples of errors that produce this message are as follows:
File description attributes are specified with data type attributes, or are specified for file variables or file parameters.
The VALUE attribute is specified for any variable for which no data type attributes are specified, or is specified with the READONLY attribute.
User Action: Determine which is the incorrect attribute of the name, and remove it from the declaration.
BADCLSLABL, The closure label in this statement does not match the label prefix of the containing DO, SELECT, BEGIN, or PROCEDURE block.Explanation: (Error) Multiple closure is not permitted in PL/I. Each DO, BEGIN, PROCEDURE, and SELECT statement in the program must have a corresponding END statement.
User Action: Verify the label on the END statement in error. The label must match the label on the most recent DO, BEGIN, PROCEDURE, or SELECT statement that does not already have a corresponding END statement.
BADCMPAREA, AREAscannotbecomparedusingrelationaloperators.Explanation: (Error) An AREA variable cannot be used in an expression with a relational operator.
User Action: Change the program to avoid using AREA variables in relational expressions.
BADCOMPARE, Invalid comparison. The operands of relational operators must both be arithmetic values, string values, or compatible noncomputational items. Noncomputational data other than AREAs can be compared only for equality.Explanation: (Error) A variable or value of a noncomputational data type is specified in a relational operation using the < or> operators or forms of these operators. For example, this error occurs if you use pointer or file variables in a comparison that tests something other than equality or inequality.
User Action: Verify that the correct variable references are specified in the expression and that the statement does not violate the rules for operands of relational operators. Correct the statement.
BADCONARG, The first argument, entity, of a conversion built-in function is not a computational value.Explanation: (Error) The indicated argument reference or expression does not have a computational data type and therefore cannot be converted to the computational data type result of the function.
User Action: Correct the argument list for the function.
BADDEFBAS, The base reference specified for the DEFINED variable entity is not a connected variable reference.Explanation: (Error) A variable is declared with the DEFINED attribute, and the variable specified in the DEFINED attribute is a variable whose storage is unconnected.
User Action: Correct the variable declaration so that it refers to a variable whose storage is connected.
BADELEREF, The refer element entity references storage in the containing structure.Explanation: (Error) The refer element cannot reference any storage in the structure containing the refer element.
User Action: Change the refer element.
BADENVAL, Invalid argument in an ENVIRONMENT option. An entity was not found where expected.Explanation: (Error) An ENVIRONMENT option requires a restricted integer expression, a Boolean expression, a character string, or a variable reference. The statement in error contains an ENVIRONMENT option that specifies a value that is not consistent with its type. For example, this error occurs if a character-string argument is specified for the MAXIMUM_RECORD_SIZE argument.
User Action: Determine the data type required, and correct the ENVIRONMENT option.
BADEXTRACT, The first argument of INT or POSINT is an array, structure, or named constant.Explanation: (Error) The first element of INT or POSINT must be a reference to a scalar variable or expression. It cannot be an array, structure, or named constant. It can, however, be an array member or an elementary structure member.
User Action: Make certain that the first element of INT or POSINT is a legal argument.
BADFILATTR, This statement contains inconsistent file description attributes or options that conflict with those attributes.Explanation: (Error) The attributes specified for a file constant in a DECLARE or OPEN statement are incompatible; for example, both the STREAM and the UPDATE attributes are specified. This error also occurs when conflicting ENVIRONMENT options are specified for a file.
User Action: Determine which attributes or options are in conflict, and correct the statement.
BADFMTLABL, Entity is not the label of a FORMAT statement.Explanation: (Error) An R format item in a format specification list for a GET or PUT statement contains a reference to a name that is not the label of a FORMAT statement.
User Action: Verify that the label matches the label on a valid FORMAT statement, and correct the statement.
BADFREETAR, A FREEstatementmustfreeanonmemberBASEDorCONTROLLEDvariable.Explanation: (Error) A FREE statement specifies a variable that is not a BASED variable, a CONTROLLED variable, or a variable that is a member of a structure.
User Action: Correct the reference in the FREE statement.
BADINITVAL, Entity has been declared with an INITIAL attribute. An INITIAL attribute cannot be specified for variables of this storage class.Explanation: (Warning) The INITIAL attribute is specified for a defined variable or for a parameter.
User Action: Ensure that the variable has the AUTOMATIC, STATIC, BASED, CONTROLLED, or GLOBALDEF attribute. The INITIAL attribute is invalid for all other storage classes.
BADINT, The noncomputational value, entity, has been used in a context requiring an integer value.Explanation: (Error) The indicated expression or reference has a data type that cannot be converted to an integer, yet has been used in a context that requires an integer.
User Action: Correct the reference so that it specifies an integer.
BADKEYARG, The keyword argument entity does not match any formal argument name for this preprocessor procedure.Explanation: (Error) A keyword specified in a preprocessor procedure with the STATEMENT option does not match any of the parameters.
User Action: Check the spelling of the keyword and recompile.
BADLABSUB, The label index in a LEAVE statement must be an integer constant.Explanation: (Error) The label can be a label constant or a subscripted label constant, but the subscript must be specified with an integer constant.
User Action: If the label constant is a subscripted label constant, ensure that the subscript is an integer constant.
BADLEAVE, The LEAVE statement must be contained by a DO group in this block.Explanation: (Error) A LEAVE statement must be contained in a DO-group, which can be nested. However, all DO-groups containing the LEAVE statement must be in the same block.
User Action: Ensure that the LEAVE statement is contained within a DO-group and that they are both contained in the same block.
BADLEFTSID, One of the targets of this assignment is not a variable or pseudovariable reference.Explanation: (Error) The left side of an assignment statement contains a constant or an invalid reference.
User Action: If the target of the assignment is a variable, ensure that it is properly declared. If the target is a function reference, it must be one of the PL/I built-in functions that are valid as pseudovariables.
BADLIKEDCL, AvariabledeclaredwiththeLIKEattributereferencesanothervariabledeclaredcircularlyLIKEitself.Explanation: (Error) The LIKE attribute can reference major or minor structures known to the current block. But the LIKE attribute cannot directly or indirectly reference a structure containing itself.
User Action: If the LIKE attribute has already been used once, it may be necessary to specifically declare the members of the structure. Frequently used structure declarations can be entered in the VAX Common Data Dictionary and then used repeatedly in programs.
BADLIKEREF, AvariabledeclaredwiththeLIKEattributemustreferencealegalstructure.Explanation: (Error) The referenced structure contains errors that prohibit it from being recognized as a legal structure. Other error messages probably indicate the source of the error in the referenced structure.
User Action: Determine the errors in the referenced structure and correct them.
BADLIKEVAR, Entity, which has been declared with the LIKE attribute, is not a structure variable.Explanation: (Error) The LIKE attribute can be applied only to major and minor structures that are known to the current block.
User Action: Check if the referenced structure is contained in the current block. If it is, determine whether it meets the syntax requirements of the LIKE attribute.
BADMEMBER, Entity has been declared with the MEMBER attribute, but it is not a structure member.Explanation: (Error) The MEMBER keyword can be used only to denote that an item is a member of a structure. It cannot be used to force an entity that is not a structure member to have the MEMBER attribute.
User Action: Make the entity being declared into a structure member or remove the MEMBER keyword.
BADOPTVAR, Entity is declared OPTIONS(VARIABLE). Its formal parameters cannot be declared with the OPTIONAL, TRUNCATE, or LIST attributes.Explanation: (Warning) OPTIONS(VARIABLE) procedures cannot have parameters declared with the OPTIONAL, TRUNCATE, or LIST attributes, because OPTIONS(VARIABLE) implies all of these.
User Action: Remove the OPTIONS(VARIABLE) attribute from the entry declaration.
BADOUTER, Entity is declared outside of a procedure. It cannot be declared with the AUTOMATIC storage class. STATIC has been assumed.Explanation: (Warning) A variable can be declared outside of a procedure, but the variable must have an explicit storage class, which must not be AUTOMATIC. Storage class STATIC is assumed by default.
User Action: Declare the variable with an explicit storage class.
BADPARAM, Entity has been declared with the PARAMETER attribute, but it does not appear in any parameter list of this routine.Explanation: (Error) The PARAMETER attribute was used for a declaration of something other than a parameter.
User Action: Use the entity being declared in a parameter list so that it really is a parameter, or remove the PARAMETER attribute from the declaration.
BADPAREN, This statement contains unbalanced parentheses.Explanation: (Error) A statement contains different numbers of open parentheses and closed parentheses.
User Action: Verify the syntax of the statement to determine where a parenthesis is needed, and correct the statement.
BADPERSTMT, Invalid syntax in a preprocessor statement.Explanation: (Error) A preprocessor statement has not been correctly specified. The format for a preprocessor statement is as follows:
%[label:] STATEMENT;
User Action: Verify the syntax and recompile the program.
BADPICTURE, Entity is an invalid picture.Explanation: (Error) The string specified in a picture specification contains a character that is not a valid picture character, specifies an iteration factor for a character that must not be repeated, or contains an iteration factor that is not correctly specified.
User Action: Verify and correct the picture.
BADREFMEM, The member entity contains a REFER option and precedes the refer object.Explanation: (Error) The REFER option has been specified in the program before the refer object has been declared.
User Action: Move the refer object declaration so that it precedes all references to it in the structure.
BADREFSTR, The non-based structure entity has a member that contains a REFER option.Explanation: (Error) The REFER option can be used only with structures declared with the BASED attribute.
User Action: Declare the structure BASED, or remove the REFER option.
BADREPT, An incorrect repetition factor has been specified. A repetition factor of 1 has been supplied.Explanation: (Warning) The compiler was unable to replicate the specified string because the replication factor was improperly specified.
User Action: Verify that the syntax is correct; the string should be enclosed in apostrophes and the replication factor enclosed in parentheses.
BADRETVAL, The value, entity, in a return statement is not valid for conversion to the entity function type.Explanation: (Error) The indicated return value specified in the RETURN statement does not have a data type that is valid for conversion to the data type specified in the corresponding returns descriptor.
User Action: Determine the data type that is to be returned by the function, and correct either the returns descriptor or the RETURN statement.
BADSTRDCL, Entity is an apparent structure member, but does not immediately follow a variable with a level number.Explanation: (Error) A structure is incorrectly declared, or a variable declaration is preceded with an extraneous integer.
User Action: If the variable is a member of a structure, verify that the structure declaration is properly numbered and properly punctuated. The first level number in a structure declaration must be 1. If the variable is not a member of a structure, check the syntax of the declaration and remove the number preceding the variable name.
BADSTRUCT, Entity has been declared with the STRUCTURE attribute, but it is not a structure.Explanation: (Error) The STRUCTURE keyword can be used only to indicate that an item is a structure. It cannot be used to force a non-structure entity to have the structure attribute.
User Action: Make the entity being declared into a structure or remove the STRUCTURE keyword.
BADTARGET, Areferenceinanassignmentcontextisnotvalidforassignment.Explanation: (Error) The target of an assignment is a reference to a named constant, or to a variable with the READONLY or VALUE attribute.
User Action: Correct either the reference or the declaration of the name.
BADTEXTEND, Invalid end of text. Check for unbalanced apostrophes or unbalanced comments. This line is the first incorrect line.Explanation: (Error) The compiler reached the end of the input file while it was reading a character-string constant or a comment.
User Action: Locate the unterminated comment or string constant, and correct it.
BADTRUNCATE, Entity is a multi-positional parameter. It cannot be declared with the TRUNCATE attribute.Explanation: (Error) The TRUNCATE attribute is not supported for multi-positional parameters.
User Action: Remove the TRUNCATE attribute from the declaration.
BADTYPEDCL, AvariabledeclaredwiththeTYPEattributeentityreferencesanothervariabledeclaredcircularlylikeitself.Explanation: (Error) The TYPE attribute can reference variables known to the current block. But the TYPE attribute cannot directly or indirectly reference a variable whose type depends on the type of the current variable.
User Action: If the TYPE attribute has already been used once, it may be necessary to specifically declare the variable.
BADTYPEREF, AvariabledeclaredwiththeTYPEattributeentitymustreferencealegalstructure.Explanation: (Error) The referenced structure contains errors that prohibit it from being recognized as a legal structure. Other error messages probably indicate the source of the error in the referenced structure.
User Action: Determine the errors in the referenced structure and correct them.
BADUNION, Entity has the attribute UNION but does not have a level number or has no members.Explanation: (Error) A variable declared with the UNION attribute must be a major or minor structure with level numbers. A reference to one member of a union refers to the storage occupied by all members of the union, that is, to all members having the next higher-level number. Therefore, level numbers locate storage for union members.
User Action: Include level numbers in the declaration of a union. Make certain that the UNION attribute refers to existing higher-level numbers.
BADUNSPREF, The argument of UNSPEC must be a reference to a scalar variable or a reference to an element of an array or a structure.Explanation: (Error) The UNSPEC built-in function is used incorrectly.
User Action: Correct the reference to UNSPEC. Its argument cannot be a constant or a structure name.
BADVALUSE, An expected entity value was not found. One of the values in this statement has a data type that cannot be converted to the type required by the context in which the value is used.Explanation: (Error) A noncomputational data type is specified when a computational data type is required, or vice versa. For example, this error occurs if the CHARACTER built-in function specifies a pointer or entry value for an argument.
User Action: Verify that the variable in question is correctly declared. If it is, correct the statement so that it refers to a variable of the correct data type.
BASENOTAREA, The reference specified as the base area for the offset variable entity is not a reference to an area variable.Explanation: (Error) The data type of the variable specified in the OFFSET (reference) attribute is not AREA.
User Action: If the reference is correct, make sure that its declaration contains the attribute AREA. Otherwise, specify a variable that is an area.
BASENOTLOC, The reference in the BASED attribute specified for the variable entity is not a reference to a locator variable.Explanation: (Error) The expression specified in the BASED attribute for a BASED variable or in the SET option of an ALLOCATE statement is not a reference to a POINTER or OFFSET variable. The use of the BASED variable in the context of this message requires that the value be a locator variable that can be written.
User Action: Change the BASED expression or the SET option to be a reference to a locator variable.
BIFARGCNT, Abuilt-infunctionhasbeenreferencedwiththewrongnumberofarguments.Explanation: (Error) Too many or not enough arguments are specified in a reference to a built-in function.
User Action: Verify the argument list required by the built-in function, and correct the statement.
BIFLTSCAL, Abuilt-infunctionthatproducesafloating-pointresultcannotspecifyascalefactor.Explanation: (Error) A built-in function that returns either a floating-point or fixed-point result, depending on its arguments, specifies a scale factor for an argument that is floating point.
User Action: Correct the argument list, omitting the scale factor.
BIGINT, The integer value entity is too big for the context in which it occurs.Explanation: (Error) An integer constant or an integer value that can be computed at compile time is too large in magnitude. For example, in SUBSTR(S,I,1024×124), the size argument is too large.
User Action: Determine the valid range of values for the context, and correct the source program.
BIGPICTURE, Entity results in a compiled picture that exceeds the implementation's limit. Reduce the size of the picture and recompile.Explanation: (Error) A picture specification is too complex or contains more than 255 characters.
User Action: Correct the picture.
BITNOTBIN, Implicit conversion. A bit string, entity, has been used as the first operand of a FIXED, FLOAT, or DECIMAL built-in function.Explanation: (Warning) The first operand of the built-in functions listed must be arithmetic, but a bit-string argument was specified. The compiler converted the bit-string argument to binary.
User Action: To avoid this message when you want the compiler to convert the bit-string expression to the appropriate arithmetic data type, use the BINARY built-in function, followed by a FIXED, DECIMAL, or FLOAT built-in function, if necessary. You can also suppress the message by compiling the program with the /NOWARNINGS qualifier.
BLANKGIVEN, An arithmetic constant must be separated from the following symbol by a delimiter. A blank delimiter has been supplied.Explanation: (Warning) This message indicates a syntax error in a constant, for example, an invalid character in a floating-point number or the omission of apostrophes around a bit-string constant.
User Action: Correct the constant.
BLAWHEZER, The CDD description for structure item entity contains the Blank When Zero attribute. Blank When Zero is being ignored by PL/I.Explanation: (Informational) PL/I does not support the Common Data Dictionary Blank When Zero attribute.
User Action: None.
CDDERROR, Common Data Dictionary description extraction condition for pathname entity.Explanation: (Informational) The PL/I compiler is in the process of extracting a data definition from the Common Data Dictionary.
User Action: See the accompanying messages for more information.
CDDTOOBIG, The attributes for some member of the Common Data Dictionary record description entity exceed the implementation's limit for member complexity.Explanation: (Error) A member of the Common Data Dictionary record description has too many attributes and has created a program that is too large.
User Action: Change the Common Data Dictionary description to make the field description smaller.
CDDTOODEEP, The attributes for the Common Data Dictionary record description entity exceed the implementation's limit for record complexity.Explanation: (Error) The Common Data Dictionary record descriptions are nested too deeply.
User Action: Change the Common Data Dictionary description to reduce the level of nesting in the record description.
CIRCDECL, The declaration of entity is circular. Some reference or expression in this declaration depends on the declaration itself.Explanation: (Error) The compiler cannot resolve a reference, as in DECLARE P POINTER BASED(P).
User Action: Correct the reference so that its definition depends on some other variable.
CMPLXDOPE, The dope vector required for the argument entity is too complicated.Explanation: (Error) A structure parameter has so many members with asterisk (*) extents that the required dope vector cannot be represented in the compiler's intermediate language.
User Action: Simplify the parameters.
CNDNAMEVAL, Aparenthesizednameorvalueisnotvalidwiththeentitycondition.Explanation: (Error) Only the I/O condition names and the VAXCONDITION condition name can specify values.
User Action: Correct the ON condition name in the statement.
COLMAJOR, The CDD description for structure item entity specifies that it is a column-major array.Explanation: (Error) PL/I only supports row-major arrays.
User Action: Change the Common Data Dictionary description to specify a row-major array.
CONFLATTR, Attributes declared for entity conflict with factored attributes.Explanation: (Error) An attribute specified for a variable within a list of factored attributes conflicts with an attribute specified in the variable declaration. For example, this error occurs if a precision or extent is specified twice and the values do not match, as in DECLARE (X CHAR(8),Y) CHAR(10);.
User Action: Determine which declaration of the attribute is invalid, and correct the statement.
CONFLOPT, The entity options entity and entity conflict.Explanation: (Error) The specified recording locking options conflict with each other.
User Action: Remove some of the options.
CONPREC, The precision arguments of BINARY, DECIMAL, FIXED, FLOAT, DIVIDE, ADD, and MULTIPLY built-in functions must be decimal integer constants.Explanation: (Error) A nonconstant value is specified for the precision argument of one of the built-in functions listed.
User Action: Correct the argument list for the built-in function in error so that it specifies a constant value for the precision argument. Replace the variable specified for the precision argument with an integer constant.
CONSTCOND, Aconditionoccurredwhileanexpressionwithconstantoperandswasbeingevaluated.Explanation: (Warning) The compiler evaluated an expression at compile time which resulted in the occurrence of a PL/I condition. The most common condition that occurs is FIXEDOVERFLOW.
User Action: Try to determine which expression caused the condition. Look especially at subscripts, the second and third arguments of SUBSTR references, expressions for string sizes, and array bounds. When you locate the reference (you may want to use the debugger to help locate the reference), correct it.
CONSTCVT, An ERROR occurred during the conversion of the constant entity to the context in which it is used.Explanation: (Error) A constant is either invalid for conversion to another data type (for example, the string 'XXX' cannot be converted to arithmetic), or the FIXEDOVERFLOW or OVERFLOW condition occurred during the conversion.
User Action: Correct the constant.
CVTBIFSCAL, The scale factor specified in a conversion built-in function does not lie in the range entity:31.Explanation: (Error) A conversion built-in function, for example, DECIMAL, is invoked with a scale-factor argument that is not a valid precision.
User Action: Determine the correct range of precision for the indicated data type and specify a value in that range in the argument list for the built-in function.
DCLENGTH, Entity has been declared with a length or size less than 0 or greater than the maximum for its data type.Explanation: (Error) The variable is incorrectly declared.
User Action: Determine the correct range of values for the data type of the indicated variable and correct its declaration.
DCLEXPRES, An expression or reference contained within this DECLARE statement is excessively complex. Reduce the complexity and recompile.Explanation: (Fatal) The compiler cannot interpret the statement.
User Action: Rewrite the declaration using two or more statements.
DCLTOOLONG, The total number of declarations, parameter descriptors, and returns descriptors in this DECLARE statement exceeds the implementation's limit.Explanation: (Fatal) The compiler cannot interpret the statement.
User Action: Simplify the statement. If it is a DECLARE statement, place the declarations in different statements. If the statement contains a parameter descriptor or returns descriptor, simplify the procedure calling sequences.
DECDIVSCA, Use of the division operator resulted in a negative scale for the result. A result scale of zero has been used instead.Explanation: (Warning) The division operator (/), when used to divide fixed decimal operands, yielded an expression that would have a negative scale factor in full PL/I. The PL/I compiler does not allow negative scale factors for fixed-point decimal numbers.
User Action: Use the DIVIDE built-in function to divide the fixed-point operands, and specify the scale of the result.
DEFBASCLA, The base reference specified for the DEFINED variable entity is itself DEFINED or BASED.Explanation: (Warning) The PL/I language does not allow a DEFINED variable to be defined on a variable that is either BASED or DEFINED.
User Action: If you intended to define the variable on a BASED or DEFINED variable, you need do nothing; the results are likely to work as you expect.
DEFDATATYP, The undeclared name entity has been declared as a FIXED BINARY variable in the containing procedure.Explanation: (Warning) A name that is not declared or that is not a label has been referenced; the compiler gives the attributes FIXED BINARY by default.
User Action: Check that the reference is correctly spelled; if it is not, correct the spelling. If the variable is not declared, declare it with the appropriate attributes for its use.
DESCRIBIF, Invalid use of the DESCRIPTOR built-in function.Explanation: (Error) The DESCRIPTOR built-in function can be used in an argument list only to specify that an argument be passed by descriptor to a non-PL/I procedure; the corresponding parameter must be declared with the attributes ANY and VALUE. This message indicates that you are using the built-in function in an inappropriate context. Note that by default the PL/I compiler passes character strings and arrays by descriptor, so you need not specify the manner in which they are passed.
This message is also issued when the DESCRIPTOR built-in function is specified with more than one argument or with an argument that is noncomputational, pictured, or an array of noncomputational or pictured data.
User Action: Remove the reference to the built-in function from the statement.
DICTABORT, %DICTIONARY processing of the Common Data Dictionary record description entity aborted.Explanation: (Error) The PL/I compiler is unable to process the Common Data Dictionary record description.
User Action: See the accompanying messages for further information.
DIVSCALE, Use of the division operator produced a result whose scale factor would exceed the implementation limit.Explanation: (Error) The resulting scale factor must be in the range -31 through 31.
User Action: Use the DIVIDE built-in function to control the scale factor used in the division operation, or change the scale factors of the values used in the division operation.
DUMMYARG, Adummyargumenthasbeencreatedforentity,becauseitdoesnotexactlymatchtheentityparameter.Explanation: (Warning) The compiler converted the argument to the data type of the corresponding parameter, and placed the result in a dummy argument. Thus, it passes a reference to the dummy argument rather than to the actual argument to the called procedure.
User Action: If the conversion is acceptable, and if the argument will not be modified in the called procedure, you need do nothing. You can enclose the argument in parentheses to suppress the message. However, if the argument must be passed by reference so that the called procedure may modify it, correct the declaration of the argument or the parameter descriptor or parameter list for the corresponding parameter.
DUPATTR, Duplicate attribute in list near entity.Explanation: (Error) An attribute was specified more than once for the declaration.
User Action: Change the list to specify attributes only once for each entity being declared.
DUPDCL, This statement contains a duplicate declaration of entity.Explanation: (Error) The same identifier is used in more than one declaration at the same level.
User Action: Determine which declaration of the variable specifies the incorrect attributes, if they are different, and change the incorrect declaration.
DUPLABL, This statement contains a label prefix that has appeared on a previous statement in the same block.Explanation: (Error) Two labels in the same block specify the same user-specified identifier and constant subscript.
User Action: Correct the identifier or the subscript and all references to it.
DUPOPTN, This statement contains duplicate, missing, or conflicting options.Explanation: (Error) A statement contains more than one specification of the same option; for example, the LIST option is specified more than once in a PUT statement.
User Action: Determine which specification of the duplicated option is the incorrect one, and delete it from the statement.
DUPPRESCA, Multiple precisions or scale factors have been specified for this variable.Explanation: (Error) A variable can only have one precision and scale factor specified. For example, declarations such as FIXED(31) BINARY(15) are not valid.
User Action: Remove the duplicate specifications.
DUPSIGN, Entity contains multiple sign symbols.Explanation: (Error) A picture specification contains more than one plus or minus sign symbol.
User Action: Correct the picture so that it contains only a single sign.
EMPTYARG, Entity has been referenced with an argument list that is incompatible with its declaration. An empty argument list is required to satisfy the declaration.Explanation: (Error) A CALL statement or a function reference specifies an argument list for a procedure that has no parameters.
User Action: Verify the arguments required for the procedure invocation. If the parameter descriptor or parameter list does not specify any parameters, the procedure invocation must not specify any arguments. Note whether the parameter descriptor list or parameter list is in error; if so, correct it. Otherwise, correct the procedure invocation.
ENDGIVEN, An END statement has been supplied to close a DO-group, SELECT-group, begin block, or procedure.Explanation: (Warning) The compiler inserted an END statement in the file.
User Action: The listing file, if any, indicates the END statement that was inserted by PL/I. Verify that PL/I placed the END statement in the correct position. This message is informational, and the program may be correct; however, you should correct the source program and insert the END statement.
ENTRYGIVEN, Entity has been declared with a RETURNS attribute but no ENTRY attribute. An ENTRY attribute has been supplied.Explanation: (Warning) The compiler supplied the ENTRY attribute for a name that has the RETURNS attribute.
User Action: Specify the ENTRY attribute on the declaration of the external entry to avoid this message. This message is a warning, and the program will be executed correctly.
ENTRYVALUE, An internal procedure is being passed by value. Uplevel references to AUTOMATIC variables and PARAMETERS will be invalid.Explanation: (Warning) If an internal procedure is passed by value, it cannot make uplevel references to automatic variables or parameters because the entry's frame pointer will not be passed along with the address of the entry.
User Action: Change the declaration of the parameter to entry, or pass an external procedure instead of an internal one.
ENTYPEDEF, The variable entity TYPE reference is an entry point which is not allowed.Explanation: (Error) An entry TYPE reference is not allowed.
User Action: Declare the variable with explicit attributes.
ENVSYN, Invalid syntax or value in ENVIRONMENT option.Explanation: (Error) An ENVIRONMENT option is specified with an expression of a data type that is not valid for the option.
User Action: Determine the data type required by the option, and correct the expression.
EXTRATEXT, The source text contains extraneous data. Check for excess END statements, unbalanced apostrophes, and unbalanced /* */.Explanation: (Error) The source file contains data following the last END statement, or following a string or comment.
User Action: Examine the listing file to locate the error. If there are too many END statements, check that all PROCEDURE and BEGIN statements are specified in the correct sequence. Correct the source program.
FIXBPREC, The precision specified for entity exceeds the implementation's limit of FIXED BINARY(31). The maximum precision of 31 has been supplied. Use FIXED DECIMAL for larger values.Explanation: (Warning) The maximum precision for fixed-point binary variables is 31; the compiler changed a larger value to the maximum.
User Action: Correct the declaration of the variable so that it does not specify a precision greater than 31.
FIXBSCALE, The scale factor q specified for entity is not in the range -31<=q<=p, where p is the variable's precision. The scale factor has been set to zero.Explanation: (Warning) Fixed-point binary numbers may have a scale factor within the range -31 to 31, but the scale factor must not be greater than the specified precision.
User Action: Adjust the scale factor so that it is less than the specified precision.
FIXDPREC, The precision specified for entity exceeds the implementation's limit of FIXED DECIMAL(31). The maximum precision of 31 has been supplied.Explanation: (Warning) The compiler changed the precision of the fixed-point decimal variable.
User Action: Correct the declaration of the variable so that it does not specify a precision greater than 31.
FIXDPRECZERO, The precision specified for a fixed decimal is zero which is not in the implementation defined range of 1-31.Explanation: (Error) The precision of a fixed-point decimal must be in the implementation defined range of 1-31. This error indicates that a fixed-point decimal variable was declared with a precision of zero, or one of the built-in functions specified a fixed decimal precision of zero.
User Action: Either correct the declaration of the variable so that it does not specify a precision of zero or correct the precision argument in the built-in function reference that caused the error.
FLTBPREC, The precision specified for entity exceeds the implementation's limit of FLOAT BINARY(entity). The maximum precision of entity has been supplied.Explanation: (Warning) The compiler changed the precision of the floating-point variable.
User Action: Correct the declaration of the variable so that it does not specify a precision greater than the system's maximum.
FLTDPREC, The precision specified for entity exceeds the implementation's limit of FLOAT DECIMAL(entity). The maximum precision of entity has been supplied.Explanation: (Warning) The compiler changed the precision of the floating-point variable.
User Action: Correct the declaration of the variable so that it does not specify a precision greater than the system maximum.
IDENTSIZE, An identifier contains more than 31 (64 on Alpha) characters. Only the first 31 (64 on Alpha) characters will be used.Explanation: (Warning) The compiler truncated a user-specified identifier that is longer than 31 (64 on Alpha) characters.
User Action: Shorten the identifier to 31 (64 on Alpha) characters or less.
ILLABEL, Duplicate or out of order label for a GOTO statement with a label array reference.Explanation: (Error) A label with an asterisk subscript (i.e., label_name(*) ) is out of order or is a duplicate.
User Action: Remove the condition causing the error.
ILLIKEREF, The variable entity is declared with the LIKE attribute and references a structure that contains a REFER option.Explanation: (Error) The REFER option conflicts with the LIKE attribute because the REFER option dynamically remaps storage for a structure.
User Action: Rename the variable or remove either the LIKE attribute or the REFER option from the declaration.
ILLOTHER, OTHERWISEisassociatedwithalabelarraywhichincludesalabelwithanasterisksubscript.Explanation: (Error) OTHERWISE or a label with an asterisk subscript can be associated with a label array but not both.
User Action: Remove the OTHERWISE from the GOTO (or GO TO) statement.
ILLREFOBJ, Areferobjectentityisnotamemberofthesamestructure.Explanation: (Error) The refer object reference must reference a refer object that is a previous member of the structure containing the REFER option.
User Action: If possible, reposition the REFER option so that it follows the refer object in the same structure.
ILLREFOPTN, The variable entity contains a REFER option, but is not a member of a BASED structure.Explanation: (Error) The REFER option can be applied only to members of BASED structures. The program contains a REFER option that has been used with a storage class other than BASED.
User Action: Change the storage class to BASED.
ILLSUBSCRIP, Illegal label array subscript.Explanation: (Error) If the label array includes a target label with an asterisk subscript, the label array subscript must be a scalar variable, an aggregate member, or a function call whose parameter is a scalar variable or aggregate member.
User Action: Remove the condition causing the error.
ILLTYPEREF, The variable entity is declared with the TYPE attribute and references a structure entity that contains a REFER option.Explanation: (Error) The REFER option conflicts with the TYPE attribute because the REFER option dynamically remaps storage for a structure.
User Action: Rename the variable or remove either the TYPE attribute or the REFER option from the declaration.
IMPLBLTIN, Entity has been implicitly declared as a built-in function.Explanation: (Warning) The undeclared name of a built-in function with no arguments has been used without an explicit empty argument list; for example, DATE was specified instead of DATE().
User Action: Declare the function or specify with the empty argument list.
INCSYN, Invalid syntax in %INCLUDE statement. The correct syntax is “%INCLUDE 'file-spec';”, “%INCLUDE text-module-name;” or “%INCLUDE 'text-library-name(text-module-name)';”.Explanation: (Error) A %INCLUDE statement is incorrectly specified.
User Action: Examine the %INCLUDE statement. If the INCLUDE file is in an individual file, the file specification must be enclosed in apostrophes. If the INCLUDE file is in a text library module, apostrophes must not be used and the module name must not contain any punctuation marks.
INITCVT, One of the initial values specified for entity cannot be converted to the type of the variable.Explanation: (Error) An invalid value is specified in an INITIAL attribute.
User Action: Compare the data type of the constants specified in the INITIAL attribute list with the attributes specified for the variable. Determine which has the invalid data type, and correct it.
INITVALUE, The CDD description for structure item entity contains the Initial Value attribute. Initial Value is being ignored by PL/I.Explanation: (Informational) PL/I does not support the Common Data Dictionary Initial Value attribute.
User Action: None.
INNOTAREA, The reference in the IN option of an ALLOCATE or FREE statement must be to an AREA.Explanation: (Error) AREAs are the only variable type that can have other variables allocated inside them.
User Action: Correct the IN option to refer to an area.
INVALCVT, Avalueusedinthisstatementcannotbeconvertedtothedatatyperequiredbythecontextinwhichitisused.Explanation: (Error) An operand in an expression is not compatible with the data type required for the expression; for example, a pointer value is used in an arithmetic operation such as addition.
User Action: Verify the data types of the variables in the expression, and correct the statement.
INVATTRSYN, Invalid syntax in attribute list or duplicate attribute near entity.Explanation: (Error) An attribute list contains an erroneous symbol, for example, a comma or parenthesis, where the compiler does not expect it. This error also occurs if the same attribute is specified more than once in the declaration of the attribute.
User Action: Verify the syntax of the attributes specified in the declaration. Check that a precision or length extent, if present, is enclosed in parentheses, that commas are present in factored declarations or in structure declarations, and so on.
INVBIFPREC, The precision specified for the result of this built-in function exceeds the implementation's maximum allowed for the resulting data type.Explanation: (Error) An argument list for a built-in function contains a precision argument that is invalid.
User Action: Correct the precision argument in the built-in function reference that caused the error.
INVDESCLVL, Adescriptorisanapparentstructuremember,butdoesnotimmediatelyfollowadescriptorwithalevelnumber.Explanation: (Error) A structure in a parameter descriptor is declared incorrectly, or an extraneous integer precedes an attribute in a parameter descriptor.
User Action: If the parameter is a member of a structure, verify that the structure declaration is properly numbered and properly punctuated. The first level number in a structure declaration must be 1. If the parameter is not a member of a structure, check the syntax of the descriptor and remove the number preceding the parameter.
INVFACTLVL, Afactoredlevelcannotbeappliedtoentity.Explanation: (Error) A declaration containing a structure is factored with an attribute that conflicts with a variable declared in the structure.
User Action: Verify the syntax of the declaration and determine the attributes that are in error. If necessary, revise the structure declaration so that attributes are not factored.
INVLABL, Entity is a label prefix previously declared.Explanation: (Error) More than one statement has the same label. The compiler cannot resolve references to the label.
User Action: Examine the source program, and change the label or labels that are duplicates. Verify that all references to the labels are also corrected.
INVOPTN, Entity is an invalid option for this statement or it is incorrectly specified.Explanation: (Error) A statement contains an invalid option.
User Action: Check whether keyword options are misspelled or if any OPTIONS options are specified without the OPTIONS keyword. Correct the specification.
INVPARM, Entity is a parameter but has been declared with a storage class or as a label.Explanation: (Error) The declaration of a variable that is in the procedure's parameter list contains the BASED, CONTROLLED, DEFINED, AUTOMATIC, or STATIC attribute; or the name of a parameter is specified as a label.
User Action: Correct the declaration of the parameter so that it does not specify a storage class attribute. A parameter occupies the storage of its corresponding argument at the time of the invocation, and thus cannot be allocated storage in any other way. It also cannot be used as a label.
INVSTAREXT, An asterisk is not a valid subscript or argument.Explanation: (Error) You cannot use an asterisk (*) as a subscript or an argument.
User Action: Remove or replace the asterisk.
INVSTARUSE, Entity is declared with an asterisk as its extent but is not a parameter or a descriptor.Explanation: (Error) An asterisk is specified for the length of a character string or for the dimension of an array, and the string or array is not a parameter.
User Action: Correct the declaration of the variable so that its extent is specified with a constant or a valid variable declaration.
INVSUBLABL, Entity is a subscripted label prefix previously declared with a different data type or a different number of dimensions.Explanation: (Error) A label conflicts with the declaration of a variable.
User Action: If the label prefix has the same identifier as a declared variable, change either the label or the variable, and correct all references to them.
INVZEROLVL, Structure level numbers must be greater than zero.Explanation: (Error) The level number for a structure member must not be zero.
User Action: Correct the level number so that it is in the range 1 through 32767.
ITERFACT, If an iteration factor is used with a string constant, the constant must be enclosed in parentheses. This construction means “iteration” occurrences of the constant as opposed to concatenation.Explanation: (Warning) An iteration factor is specified for a string constant in an INITIAL attribute, but the iteration factor is not enclosed in parentheses. The compiler assumes that the factor is in parentheses.
User Action: Place the iteration factor in parentheses, for example: INITIAL((5)('strings')).
ITERVAL, Entity has been declared with a variable or incorrect iteration factor. An iteration factor of 1 has been supplied.Explanation: (Error) A nonconstant iteration factor was used to initialize a static variable. Nonconstant iteration factors are valid only in the initialization of automatic variables.
User Action: Specify a constant in the iteration factor, or declare the variable with the AUTOMATIC attribute.
LARGEDST, Unable to write debugger information. Submit an SPR with a problem description.Explanation: (Fatal) An internal compiler error occurred during an attempt to write debugging information.
User Action: Submit an SPR with the program that caused this error. The program can be recompiled successfully if the /DEBUG option is removed from the command line.
LEAVE, Entity is not a LABEL constant of a DO statement in this block.Explanation: (Error) The LEAVE statement cannot transfer control out of the block that contains it. Furthermore, the LEAVE statement can only transfer control forward in the program. Therefore, the LABEL CONSTANT must appear forward in the program text.
User Action: Check that the LABEL CONSTANT has been spelled correctly. Also check that the LABEL CONSTANT is forward in the same block as the LEAVE statement.
LIKEHASMEM, Only structures without members can be declared with the LIKE attribute.Explanation: (Error) The structure declaration containing the LIKE attribute already contains other members.
User Action: Remove the members of the structure or substructure containing the LIKE attribute.
LOCNEED, Entity is a based variable referenced without a locator qualifier.Explanation: (Error) A variable is declared with the BASED attribute without a pointer variable and is referenced without a locator qualifier (->).
User Action: Specify a pointer variable in the declaration of the variable, or specify the current pointer reference in the statement that caused the error.
MINDIGITS, The CDD description for structure item entity specifies precision less than allowed for the data type. Minimum precision has been supplied.Explanation: (Informational) Some Common Data Dictionary data types specify a number of digits that is incompatible with PL/I data types. The PL/I compiler has expanded the data type to conform to a PL/I data type.
User Action: None.
MINOCCURS, The CDD description for structure item entity contains the Minimum Occurs attribute. Minimum Occurs is being ignored by PL/I.Explanation: (Informational) PL/I does not support the Common Data Dictionary Minimum Occurs attribute.
User Action: None.
MINUSCAL, Entity has been declared with a negative size. A size of 1 has been supplied.Explanation: (Warning) A negative number is specified for a variable's extent.
User Action: Check the declaration of the character-string or bit-string variable, and change the length to a positive value.
MISDEFINE, The DEFINED variable entity does not match its specified base reference as required by the rules for defining.Explanation: (Warning) The data type attributes of a variable with the DEFINED storage class do not match the attributes of the variable on which it is defined.
User Action: If the mismatch is acceptable, you need do nothing. Otherwise, correct the declaration so that it specifies the correct attributes.
MIXEDSTAR, Entity has been referenced with mixed asterisk and constant bounds. If any bound is an asterisk, all bounds must be asterisks.Explanation: (Error) The declaration of an array's dimensions contains both constants and asterisks for bounds; or, when initializing an array, both constants and asterisks were used for subscripts.
User Action: Determine whether the array's bounds are known within the current procedure or the array is a parameter. If the bounds are known, specify them in the array declaration. If the array is a parameter whose bounds are not known, specify all extents as asterisks. When using asterisks to specify the entire array for initialization, all subscripts must be asterisks.
MOREERRORS, There are more errors in this statement.Explanation: (Error) The compiler cannot continue interpreting the statement.
User Action: Correct the previous errors.
MULTLABL, Multiple labels on a statement are not permitted. To achieve the effect of multiple labels on any statement except a PROCEDURE, ENTRY, or FORMAT statement, write L1:; L2:; statement.Explanation: (Error) A statement contains more than one label.
User Action: Delete the extraneous label, or follow it with a null statement.
NEEDSCALAR, The array or structure value entity has been used in a context that requires a scalar value.Explanation: (Error) An aggregate was used when a scalar value was required.
User Action: Replace the reference to the aggregate with a reference to a scalar value.
NEEDVECTOR, Ascalarvalueisbeingpassedtoavectorparameter.Explanation: (Error) A scalar value cannot be passed as an actual parameter to a routine whose formal parameter is declared as a vector.
User Action: Change the actual and formal parameters to either both vectors or both scalars.
NEGSIZE, Acomputedstringlengthoraggregatesizeisnegative.Explanation: (Error) The compiler calculated the length of a character string or bit string or an aggregate specified with nonconstant extents, and the result is negative.
User Action: Determine how the extent came to be in error and respecify it.
NESTDEPTH, The nesting of DO, SELECT, PROCEDURE, and BEGIN statements exceeds the implementation's limit of 64.Explanation: (Fatal) There are too many nested blocks. Nesting of DO, PROCEDURE, and BEGIN statements must not exceed 64. Nesting of SELECT statements must not exceed 31.
User Action: Simplify the nesting of blocks in the program.
NESTEDPSV, This statement contains a nested pseudovariable reference to entity.Explanation: (Error) One of the built-in functions that may be used on the left side of an assignment contains a reference to another pseudovariable. Nested use of pseudovariables as in SUBSTR(UNSPEC(x),3,1) = '0'b; is invalid.
User Action: Correct the expression so that it does not contain a nested pseudovariable reference.
NOCNDVAL, Avalueisrequiredwiththeentitycondition.Explanation: (Error) The ENDFILE, ENDPAGE, KEY, UNDEFINEDFILE, or VAXCONDITION condition name is specified without a value.
User Action: Specify a value for the condition.
NODATATYP, Entity is declared without a data type. The default data type FIXED BINARY has been supplied.Explanation: (Warning) The indicated name has been declared, but is declared without a data type attribute. The compiler provides the default data type of FIXED BINARY.
User Action: If you want the variable to have the default data type, you need do nothing. Otherwise, correct the declaration of the variable so that it has a data type attribute.
NODFLOAT, The CDD description for structure item entity specifies the D_Floating data type. The data cannot be represented when compiled with /G_FLOAT.Explanation: (Warning) The wrong PLI command qualifier was used to compile the program.
User Action: Ignore the warning message or recompile the program using the /NOG_FLOAT qualifier.
NODIM, Entity is an entry or file constant and cannot be declared with a dimension.Explanation: (Error) The ENTRY or FILE attribute was specified for an array, but the VARIABLE attribute is not specified.
User Action: Specify the VARIABLE attribute to create an array of file or entry variables.
NOGFLOAT, The CDD description for structure item entity specifies the G_Floating data type. The data cannot be represented when compiled with /NOG_FLOAT.Explanation: (Warning) The wrong PLI command qualifier was used to compile the program.
User Action: Ignore the warning message or recompile the program using the /G_FLOAT qualifier.
NOHFLOAT, The CDD description for structure item entity specifies the H_Floating data type. The data cannot be represented when compiled with /NOG_FLOAT.Explanation: (Warning) The wrong PLI command qualifier was used to compile the program.
User Action: Ignore the warning message or recompile the program using the /G_FLOAT qualifier.
NOINALL, The IN option is not allowed with CONTROLLED variables.Explanation: (Error) CONTROLLED variables cannot be allocated in an AREA.
User Action: Either remove the IN option to allow the variable to be allocated normally, or use a BASED variable instead of a CONTROLLED variable if you really want the allocation to be inside the specified area.
NOLABL, PROCEDURE, ENTRY,andFORMATstatementsmusthavealabel.Explanation: (Error) The indicated statement is not labeled.
User Action: Place a label on the statement that caused the error.
NOLABSUB, This statement contains a reference to an undefined subscripted label array element entity(entity).Explanation: (Error) The compiler cannot resolve a reference to the indicated subscripted program label.
User Action: Verify that the label is correctly specified, and, if it is an element of an array of label constants, that the label is properly subscripted in the source program.
NOLOCNEED, Entity is a nonbased variable referenced with a locator qualifier.Explanation: (Error) A locator-qualified reference is specified for a variable that does not have the BASED attribute.
User Action: Remove the locator qualifier (->) from the reference. If you expected that the variable needed a locator qualifier, verify that the variable has the BASED attribute.
NONCONEXTN, Entity is declared with nonconstant extents but is not an automatic, based, or defined variable.Explanation: (Error) The indicated variable or descriptor for a character-string, bit-string, or array variable used a variable instead of a constant to define the extent. Variables are permitted for extents only for automatic, BASED, and DEFINED variables.
User Action: Correct the declaration of the variable.
NONCONINIT, Entity has been declared with a nonconstant initial value. Static variables must have constant initial values.Explanation: (Error) A static variable is incorrectly initialized.
User Action: Correct the declaration so that it uses only constant values in the INITIAL attribute.
NONCONUNION, Entity is a member of a UNION but does not have constant size.Explanation: (Error) A UNION is a variation of a structure in which all immediate members occupy the same storage. Consequently, all members of a UNION must have a constant size.
User Action: Remove the VARYING attribute from the structure declaration.
NORETVAL, All RETURN statements in a function must return values.Explanation: (Error) A RETURN statement in a function does not specify a value.
User Action: Specify a value on the RETURN statement, ensuring that the data type of the value matches the data type specified on the RETURNS option of the PROCEDURE statement.
NOSETALL, Entity is a CONTROLLED variable; this ALLOCATE statement cannot have the SET option.Explanation: (Error) The SET option sets a pointer variable to the memory location of storage acquired for a BASED variable. A CONTROLLED variable cannot be used in a pointer-qualified reference.
User Action: Remove the SET option or change the variable declaration from CONTROLLED to BASED.
NOTARITH, Implicit conversion. A nonarithmetic expression, entity, has been used in a context requiring an arithmetic value.Explanation: (Warning) A bit- or character-string expression was used in a context where an arithmetic expression is required. The PL/I compiler has converted the expression to arithmetic. This situation may or may not constitute an error.
User Action: To avoid this message in circumstances in which you want the compiler to convert the expression to the appropriate arithmetic data type, use the BINARY built-in function to convert a bit string, or use the BINARY, FIXED, DECIMAL, or FLOAT built-in function to convert a character string. You can also suppress the message by compiling the program with the /NOWARNINGS qualifier.
NOTARRAY, The first argument to an LBOUND, HBOUND, DIM, PROD, or SUM built-in function must be an array reference.Explanation: (Error) The argument list for one of the functions listed is incorrectly specified.
User Action: Correct the argument list for the built-in function.
NOTBASED, The variable entity is not a BASED or CONTROLLED variable.Explanation: (Error) The target variable specified in the ALLOCATE statement does not have the BASED attribute.
User Action: Verify that the variable is specified correctly. If so, correct the variable's declaration so that it specifies BASED.
NOTBIT, Implicit conversion. A nonbit expression, entity, has been used in a context requiring a bit-string value.Explanation: (Warning) An arithmetic or character-string expression was used in a context where a bit string is required. The PL/I compiler has converted the expression to a bit string. This situation may or may not constitute an error.
User Action: To avoid this message in circumstances in which you want the compiler to convert the expression to a bit string, use the BIT built-in function to convert the character-string or arithmetic expression to a bit string. You can also suppress the message by compiling the program with the /NOWARNINGS qualifier.
NOTCHAR, Implicit conversion. A noncharacter expression, entity, has been used in a context requiring a character-string value.Explanation: (Warning) An arithmetic or bit-string expression was used in a context where a character string is required. The PL/I compiler has converted the expression to a character string. This situation may or may not constitute an error.
User Action: To avoid this message in circumstances in which you want the compiler to convert the expression to a character string, use the CHARACTER built-in function to convert the arithmetic or bit-string expression. You can also suppress the message by compiling the program with the /NOWARNINGS qualifier.
NOTCONDVAL, The name given in the CONDITION condition must be a declared CONDITION.Explanation: (Error) Only names explicitly declared with the CONDITION attribute in a DECLARE statement can be used with the CONDITION condition.
User Action: Declare the condition name explicitly.
NOTCONNECT, This statement contains an invalid reference to an unconnected array.Explanation: (Error) A member of a structure that has the dimension attribute is referenced in an invalid context. Because the storage of such an array is not contiguous, the array cannot be referenced in any of the contexts listed in the message.
User Action: If possible, change the declaration of the structure so that the array that caused the error becomes a connected array. Otherwise, do not reference the array in the context that caused the error.
NOTDIM, Invalid dimension specified in HBOUND, LBOUND, DIM, PROD, or SUM.Explanation: (Error) The value specified for the dimension argument of the built-in function that caused the error is invalid for the array. For example, this error occurs if a value of 10 is specified for an array that has only 5 dimensions.
User Action: Determine the number of dimensions in the array and correct the argument.
NOTDIMVAL, The second argument of the LBOUND, HBOUND, or DIM built-in function must be an integer constant.Explanation: (Error) The dimension argument for one of the functions listed is specified using a nonconstant expression.
User Action: Specify an integer constant for the argument.
NOTEXEC, A FORMAT, ENTRY, PROCEDURE, END,orDECLAREstatementappearsinacontextthatrequiresanexecutablesinglestatement, DO-group, SELECT-group,orbeginblock.Explanation: (Error) ON statements and THEN, ELSE, WHEN, and OTHERWISE clauses require that the target action be an executable statement, a DO-group, SELECT-group, or a begin block.
User Action: Move the statement in error. If appropriate, place the statement in a begin block.
NOTFILEVAL, The name given in an I/O condition must be the name of a file value.Explanation: (Error) The UNDEFINEDFILE, ENDFILE, or KEY condition name is specified with a value that is not a file reference.
User Action: Verify that the reference in the condition name is to a file constant or file variable that is declared correctly.
NOTINT, Implicit conversion. A noninteger expression, entity, has been used in a context requiring an integer value.Explanation: (Warning) A character-string, bit-string, or noninteger arithmetic expression is used in a context where an integer is required. The PL/I compiler has converted the expression to an integer. This situation may or may not constitute an error.
User Action: To avoid this message in circumstances in which you want the compiler to convert the expression to an integer, use the BINARY built-in function to convert bit- or character-string expressions to an integer. You can use the FIXED built-in function to convert floating-point expressions or fixed-point decimal expressions with a nonzero scale factor to integers. You can also suppress the message by compiling the program with the /NOWARNINGS qualifier.
NOTINTBND, A constant has been used as an array bound, but it is not an integer constant whose value is less than 2**29. If a constant is used as a bound, it must be a valid integer.Explanation: (Error) An invalid constant is specified for an array bound.
User Action: Verify that the bound specified is within the valid range for array bounds and correct the declaration. Note that this error may occur when any parenthesized expression follows an identifier in a declaration. In this context, the message indicates that the statement syntax is in error and must be corrected.
NOTINTCON, An expected optionally signed integer was not found.Explanation: (Error) A nonconstant expression is specified in a context that requires an integer constant.
User Action: Specify an integer constant.
NOTLOCATOR, Avaluethatisnotapointeroroffsetvaluehasbeenusedinacontextrequiringalocatorvalue.Explanation: (Error) The reference specified as a locator qualifier is not a pointer or offset value.
User Action: Correct the locator-qualified reference so that the item on the left of the locator qualifier (->) is a pointer or offset.
NOTPARAM, Illegal use of the PRESENT function. Its argument must be a parameter.Explanation: (Error) The argument of the PRESENT built-in function is invalid. It must be a parameter. It cannot be a variable, expression, or constant.
User Action: Change the argument of the PRESENT built-in function to a parameter name.
NOTPLIDATA, BIT_FIELDandBYTE_FIELDdatacanbereferencedonlyincontextsthatdonotrequireadatatypeinterpretation.Explanation: (Error) A reference to data declared as BIT_FIELD or BYTE_FIELD was made in an illegal context.
User Action: BIT_FIELD and BYTE_FIELD data can be referenced only in the ADDR, INT, POSINT, BYTESIZE, SIZE, and UNSPEC built-in functions, or as an ANY parameter. If a data type interpretation is required, define a BASED or DEFINED variable that overlays the storage of the variable.
NOTSCALAR, An array or structure value has been used in a context that requires a scalar value.Explanation: (Error) An array or structure reference is specified in an invalid context, for example, as an operand of an arithmetic operation.
User Action: Correct the statement so that it does not contain a reference to an aggregate.
NOTSUBROUT, The reference in a CALL statement is not a subroutine reference.Explanation: (Error) A CALL statement specifies the name of an entry that has the RETURNS attribute.
User Action: If the invoked procedure is a function, correct the statement in error so that the procedure is invoked as a function reference. Otherwise, delete the RETURNS option from the PROCEDURE statement of the procedure so that it can be invoked by a CALL statement.
NULLARG, Entity has been referenced with too many empty argument lists.Explanation: (Error) A procedure call or function reference specified too many empty argument lists, for example, F()()(A,B).
User Action: Determine the correct number of empty argument lists, and correct the reference.
NULLPTR, The pointer or offset in a reference to entity is NULL.Explanation: (Error) A pointer or offset reference in a locator-qualified reference has a null value. The reference cannot be resolved.
User Action: Verify that the correct pointer or offset variable is referenced in the statement and that it was properly given a value, either with a SET option of ALLOCATE or by assignment with an ADDR, POINTER, or OFFSET built-in function.
OBJNOTDCL, The refer object entity is not declared.Explanation: (Error) A refer object refers to a variable that has not been declared, or the variable follows the refer object reference in the source program.
User Action: Verify that the refer object reference has been declared, or reposition the REFER option so that it follows the declaration of the refer object reference.
OBJNOTMEM, The refer object entity is not a structure member.Explanation: (Error) The refer object must be a member of the structure declared with the REFER option.
User Action: Declare the refer object within the structure that contains the REFER option.
OFFBASINV, AbaseareawasspecifiedfortheOFFSETparameterordescriptorentity.Explanation: (Error) An offset parameter or argument specifies a base area.
User Action: Remove the area specification from the parameter's declaration or from the parameter descriptor for the argument.
OFFSETNOBASE, In a conversion between pointer and offset data, the offset data does not have an associated base area.Explanation: (Error) The compiler cannot resolve the location of the specified offset without the specification of the area in which the offset is based.
User Action: Correct the declaration of the offset so that it specifies a base area.
ONUNIT, An IF, ON, RETURN, DO, or SELECT statement cannot be used as the first statement of an ON-unit.Explanation: (Error) An ON-unit contains an invalid action statement.
User Action: Correct the ON-unit so that the first statement is not an IF, ON, RETURN, DO, or SELECT statement. To execute more than one statement in an ON-unit, use a begin block.
ONUNITLABL, AlabelprefixcannotappearonastatementusedasanON-unit.Explanation: (Error) An ON-unit action statement contains a label.
User Action: Remove the label from the statement.
PICNOTALL, The CDD description for the structure item entity specifies a PICTURE FOR PLI in conjunction with a data type that is not a numeric string. PICTURE FOR PLI is being ignored.Explanation: (Informational) The picture specification in the Common Data Dictionary description does not conform to PL/I picture specifications.
User Action: Change the data type to conform to PL/I pictures, remove PICTURE FOR PLI, or ignore the warning message.
PICNOTALW, The PICTURE variable entity has been used in a context requiring a FIXED or FLOAT value.Explanation: (Error) A variable having the PICTURE data type has been used in a context requiring a FIXED or FLOAT variable.
User Action: Change the data type of the variable or use one of the built-in conversion functions to convert the variable to either FIXED or FLOAT.
PLACEEOL, Placeholder not terminated before end of line.Explanation: (Error) Placeholders cannot cross line boundaries.
User Action: Modify the source code so that each placeholder begins and ends on the same line.
PLACELONG, Placeholder too long.Explanation: (Error) Placeholders are limited to 256 characters.
User Action: Reduce the length of the placeholder. The 256-character limit includes the outer brackets.
PLACENODESIGN, Placeholders invalid without /DESIGN=PLACEHOLDERS.Explanation: (Error) Placeholders are not allowed unless /DESIGN=PLACEHOLDERS was specified.
User Action: Specify the /DESIGN=PLACEHOLDERS qualifier or remove the placeholders from the source file.
PLACENODOT, Invalid pseudocode list placeholder detected.Explanation: (Error) Pseudocode placeholders are not to have the list option.
User Action: Remove the ellipsis (...) following the placeholder.
PLACENOOBJ, Placeholders detected - no object code generated.Explanation: (Warning) The compiler does not produce object code when the source contains placeholders.
User Action: None.
PLACESYNTAX, Invalid placeholder syntax detected.Explanation: (Error) Nesting of pseudocode placeholders is not allowed, or a mismatch in outer brackets was detected.
User Action: Correct the invalid placeholder.
PLACEUNMAT, Unmatched placeholder delimiter.Explanation: (Error) The placeholder delimiters do not match correctly.
User Action: Correct the source code so the delimiters match.
PLIG-I-UNREACH, Code can never be executed at label.Explanation: (Error (AXP)) The PLIG-I-UNREACH message is generated by the code generator when it detects a body of code that could not be entered. Causes include a GOTO statement that jumps over a section of code, a RETURN statement with code that follows it, and IF statements where the logical expression is a compile-time constant '0'B.
User Action: Examine the statements surrounding the one that generated the error and for possible dead (unreachable) code.
PPARMDCL, The name entity has previously been declared as a preprocessor procedure parameter. It cannot be declared as a preprocessor label in this procedure.Explanation: (Error) The same name was used for both a preprocessor procedure parameter and a label.
User Action: Determine which name is correct; rename either the label or the parameter.
PPBADPAREN, This preprocessor STATEMENT procedure invocation contains unbalanced parentheses.Explanation: (Error) The invocation of a preprocessor procedure as a pseudo-statement contains unbalanced parentheses.
User Action: Examine the invocation and add or remove opening or closing parentheses as necessary.
PPBADRET, %RETURNScannotbeusedexceptinapreprocessorprocedure.Explanation: (Error) A %RETURN statement appears in a context other than in a preprocessor procedure.
User Action: Remove the %RETURN statement or reposition it so that it is contained within a preprocessor procedure.
PPBIFARG, The entity preprocessor built-in function has been referenced with the wrong number of arguments.Explanation: (Error) An argument list for a preprocessor built-in function contains an invalid number of arguments.
User Action: Correct the number of arguments to the built-in function.
PPBIGEXPR, An expression or reference contained within this preprocessor usage is excessively complex.Explanation: (Error) The compiler cannot follow the flow of the preprocessing due to an expression or reference that is too complex.
User Action: Simplify the preprocessor statement.
PPCONVERR, Evaluation of a preprocessor expression caused a CONVERSION error.Explanation: (Error) The indicated expression does not have a valid preprocessor computational data type. 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. For arithmetic operations, only decimal integer arithmetic of precision (10,0) is performed.
User Action: Examine the expression and correct the error.
PPDCLREP, The name entity has previously been declared as a preprocessor variable. It cannot be declared as a %REPLACE identifier.Explanation: (Error) Preprocessor variables cannot have the same name.
User Action: Rename one of the variables so that there are no duplicate names.
PPDEFPARAM, A preprocessor procedure references the undeclared preprocessor parameter entity. It is being declared as a FIXED preprocessor parameter.Explanation: (Warning) A preprocessor parameter that was not declared has been referenced; the compiler gives the attribute FIXED by default.
User Action: Check that the reference is correctly spelled; if it is not, correct the spelling reference. If the parameter was not declared, declare it with the appropriate attribute.
PPDEFTYPE, A %entity statement references the undeclared preprocessor name entity. It is being declared as a FIXED preprocessor variable.Explanation: (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.Explanation: (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.Explanation: (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 %ELSEdoesnotproperlycorrespondwitha%THEN.Explanation: (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 %ENDdoesnotproperlycorrespondwitha%DO.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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, %IFisnotterminatedwith%THEN.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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 %entitystatementcontainsextraneoustextwhere“;”wasexpected.Explanation: (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 %THENdoesnotproperlycorrespondwitha%IF.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (Informational) The REFERENCE attribute is not supported by PL/I.
User Action: None.
REFERENCEBIF, Invalid use of the REFERENCE built-in function.Explanation: (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.Explanation: (Error) A %REPLACE statement is specified incorrectly.
User Action: Correct the statement.
REQINIT, An INITIAL attribute must be specified for entity.Explanation: (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, RESIGNALbuilt-infunctionhasbeenreferencedfromoutsideanONunit.Explanation: (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, AreturnsdescriptormustnotspecifyANYasitsdatatypeforentity. FIXED BINARY(31)hasbeenforced.Explanation: (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 RETURNSattributemustnotspecifyanarray,structure,orareaforentity.Explanation: (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.Explanation: (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 RETURNstatementisnotallowedinanON-unit.Explanation: (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 RETURNstatementinasubroutinecannotreturnavalue.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.Explanation: (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.
SOURCETYPE, The CDD description for structure item entity contains the Source Type attribute. Source Type is being ignored by PL/I.Explanation: (Informational) PL/I does not support the Common Data Dictionary Source Type attribute.
User Action: None.
STAREAINIT, Entity has been declared with an invalid initial value. Static AREAs can be initialized only to EMPTY().Explanation: (Error) An invalid initial value has been specified for the AREA variable referenced in the DECLARE statement. AREAs with the STATIC attribute can be initialized only with the EMPTY() built-in function.
User Action: Change the initial value to EMPTY() or change the declaration so that the variable does not have the STATIC attribute.
STMTOOBIG, A statement exceeds the implementation's limit of constants, identifiers, operators, and punctuation symbols. Or, there are more than approximately 4500 statements in the procedure.Explanation: (Fatal) The statement contains more than 2048 constants, identifiers, and punctuation symbols, including operators.
User Action: Simplify the statement.
STMTSYNKEY, Invalid syntax in an entity statement. Entity was found where the entity keyword was expected.Explanation: (Error) A statement is missing a keyword.
User Action: Correct the syntax of the statement as indicated by the message.
STMTSYNTOK, Invalid syntax in an entity statement. Entity was found where entity was expected.Explanation: (Error) The compiler looks for specific types of tokens within statements, attribute lists, and extents. This error occurs when one type of token appears in an inappropriate context, for example, if the ADDR built-in function occurs in an INITIAL attribute list or if the required string is missing from a PICTURE attribute.
User Action: Determine what data the compiler expects and correct the statement.
STPTOFINIT, Entity has been declared with an invalid initial value. Static POINTERs or OFFSETs can be initialized only to NULL().Explanation: (Error) An invalid initial value has been specified for the POINTER or OFFSET variable referenced in the DECLARE statement. POINTERs and OFFSETs with the STATIC attribute can be initialized only with the NULL() built-in function.
User Action: Change the initial value to NULL(), or change the declaration so that the variable does not have the STATIC attribute.
STRDEPTH, The depth of nesting of a structure exceeds the implementation's limit of 16.Explanation: (Fatal) A structure contains too many levels.
User Action: Correct the declaration of the structure. If necessary, modify the structure so that it has no more than 16 levels.
STREFCNT, Astructure-qualifiedreferencecontainsmorethan15qualifyingnames.Explanation: (Error) A reference in the form name1.name2.name3... contains more than 15 names.
User Action: Examine the structure-qualified reference and compare it with the declaration of the structure to ensure that each qualifying name is specified correctly.
STRGTOOBIG, The length of a name or constant exceeds the implementation limit of 32500 characters. Ensure that all string constants are delimited with ' and that any contained 's occur in pairs. Also check for unbalanced /* */.Explanation: (Fatal) The compiler read more than 32500 characters following the occurrence of an open apostrophe (') or comment (/*).
User Action: Terminate the unterminated string or comment at the appropriate location.
STRINGBIF, The argument of the STRING built-in function must be a variable that is suitable for use in string overlay defining. It must contain only bit or only character data and must not be VARYING or ALIGNED or be an unconnected array.Explanation: (Error) The STRING built-in function is used incorrectly.
User Action: Verify that the correct argument is specified for the STRING built-in function. If the argument seems correct, be sure that its declaration does not violate any of the rules given in the message.
SUBRANGE, The integer value entity does not lie in the range entity : entity.Explanation: (Error) An integer constant appears in a context where the value of the integer is outside the permissible range.
User Action: Check that the constant was specified correctly and that it does not exceed the implementation limit for the context.
SUBROUT, The subroutine entity has been called as a function.Explanation: (Error) The statement contains a reference to a procedure that does not have the RETURNS attribute.
User Action: If the invoked procedure is a subroutine, correct the statement in error so that the procedure is invoked with a CALL statement. Otherwise, add the RETURNS attribute to the PROCEDURE statement of the procedure so that it can be invoked by a function reference.
TAGVALUES, The CDD description for structure item entity contains the Tag Values attribute. Tag Values is being ignored by PL/I.Explanation: (Informational) PL/I does not support the Common Data Dictionary Tag Values attribute.
User Action: None.
TAGVARIAB, The CDD description for structure item entity contains the Tag variable attribute. Tag variable is being ignored by PL/I.Explanation: (Informational) PL/I does not support the Common Data Dictionary Tag variable attribute.
User Action: None.
TOOFEWARG, Entity has been referenced with too few arguments.Explanation: (Error) The number of parameters in a parameter list or parameter descriptor list exceeds the number of arguments specified in the corresponding procedure reference.
User Action: Verify the number of arguments required by the invoked procedure, and correct the argument list. If the procedure has a variable-length argument list, specify the TRUNCATE attribute on the proper formal parameters in the entry declaration.
TOOFEWSUB, Entity has been referenced with too few subscripts. Subscripted references must have as many subscripts as the array has dimensions, including any inherited dimensions.Explanation: (Error) The number of subscripts specified in the reference to the array variable is fewer than the number of dimensions in the array.
User Action: Examine the declaration of the array to determine the number of subscripts required, determine the missing subscripts, and correct the statement. If the array is declared within a structure that is dimensioned, be sure to include the structure dimensions in the total dimensions of the array.
TOOFEWVAL, The INITIAL attribute specified for entity contains fewer values than are required to fully initialize the variable.Explanation: (Warning) An INITIAL attribute specified for an array specifies fewer items than there are elements of the array.
User Action: Verify that the program will execute successfully without all array elements initialized. If not, correct the declaration of the array so that all elements are initialized.
TOOMANYARG, Entity has been referenced with too many arguments.Explanation: (Error) The number of arguments in a procedure reference exceeds the number of parameters in the corresponding parameter list or parameter descriptor list.
User Action: Verify the number of arguments required by the invoked procedure, and correct the argument list. If the procedure is a non-PL/I procedure with a variable-length argument list, specify the LIST attribute on the last parameter of the entry declaration.
TOOMANYDIM, More than eight dimensions have been specified in the declaration of an array.Explanation: (Error) The parenthesized list of dimensions in the declaration of the array contains more than eight items.
User Action: Correct the declaration of the array so that it has no more than eight dimensions.
TOOMANYLBARS, Too many label arrays associated with GOTO OTHERWISES and/or ASTERISK LABEL SUBSCRIPTS.Explanation: (Error) The number of label arrays associated with GOTO OTHERWISES and/or ASTERISK LABEL SUBSCRIPTS is limited to 500 per compilation.
User Action: Reduce the number of label arrays associated with GOTO OTHERWISES and/or ASTERISK LABEL SUBSCRIPTS.
TOOMANYOPS, More than 253 operands have been used with an operator, function, or call.Explanation: (Error) An expression contains more than 253 operands.
User Action: Simplify the statement in error.
TOOMANYSUB, Entity has been referenced with too many subscripts.Explanation: (Error) The number of subscripts in the reference to an array element exceeds the number of dimensions of the array.
User Action: Examine the declaration of the array to determine the number of subscripts required, determine the subscripts in excess, and correct the statement.
TOOMANYVAL, Excess initial values have been specified for entity.Explanation: (Warning) An INITIAL list for an array declaration specifies more constant values than array elements, or multiple values were specified for a scalar constant. A list of values is valid only in an array declaration. The declaration DCL (A,B)... INIT(1,2) initializes both A and B to 1. The second value specified is ignored.
User Action: Delete the excess values.
TOTALDIM, More than eight dimensions have been specified for the array entity. This may include dimensions inherited from containing structures.Explanation: (Error) An array has been declared with more than eight dimensions, or an array is declared within a structure, and the sum of the array's dimensions and those of the structure exceeds a total of eight.
User Action: Correct the declaration of the array.
TYPEHASMEM, Only structures without members can be declared with the entity TYPE attribute.Explanation: (Error) The structure declaration containing the TYPE attribute already contains other members.
User Action: Remove the members of the structure or substructure containing the TYPE attribute.
UNALIGNED, Entity has been declared with the UNALIGNED attribute. Only BIT or CHARACTER string variables can be declared UNALIGNED.Explanation: (Error) PL/I does not implement the UNALIGNED attribute for types other than NONVARYING strings.
User Action: Remove the UNALIGNED attribute.
UNDCLBASE, Entity is undeclared and has been used in an ALLOCATE statement as the name of a BASED or CONTROLLED variable.Explanation: (Error) The target variable in the ALLOCATE statement is a name that is not declared.
User Action: Verify that the variable is specified correctly. If it is, declare it with the BASED or CONTROLLED attribute.
UNDCLPARM, Entity is an undeclared parameter. It has been declared in its containing block and will acquire default attributes.Explanation: (Warning) A name specified in a parameter list is not declared with data type attributes. The compiler gave the parameter the attributes FIXED BINARY.
User Action: Declare the parameter with the appropriate data type attributes.
UNLIKEREF, Entity, which has been declared with the LIKE attribute, references a variable that is not known to this block.Explanation: (Error) The major or minor structure referenced by the LIKE attribute is not known to the current block. Therefore, the compiler cannot locate the referenced structure.
User Action: Declare the referenced structure outside of the procedure, if the STATIC storage class is acceptable. Otherwise, declare the referenced structure within the appropriate block.
UNRATTR, Entity is an unrecognizable attribute.Explanation: (Error) A declaration in a descriptor contains an invalid keyword.
User Action: Check for typographical errors on the statement. Verify the syntax of the descriptor, noting particularly that commas, parentheses, and spaces appear where required.
UNRCNDNAME, Entity is an unrecognizable condition name.Explanation: (Error) An ON, SIGNAL, or REVERT statement specifies an invalid condition name.
User Action: Check the statement for a typographical error. Verify that the condition name specified is a valid PL/I condition name.
UNRENV, Entity is an unrecognized ENVIRONMENT keyword.Explanation: (Error) An ENVIRONMENT option list is incorrectly specified or contains an invalid option.
User Action: Check the list of ENVIRONMENT options for a typographical error, a missing underscore character, or an invalidly abbreviated option name. Verify that all options specified are valid ENVIRONMENT options in PL/I.
UNRFMT, Entity is an unrecognizable format item.Explanation: (Error) A format list in a GET EDIT or PUT EDIT statement contains a character that is not a valid PL/I format item.
User Action: Verify the syntax of the format list and ensure that the format item is a valid PL/I format item.
UNRLOCREF, Alocator-qualifiedreferencetoentitycannotberesolvedtoanydeclarationknowntothisblock.Explanation: (Error) A reference to a BASED variable is not valid.
User Action: Check the declaration of the variable to ensure that it is correctly specified and that the qualified reference specifies a valid pointer or offset value.
UNRPERSTMT, Entity is an unrecognizable preprocessor statement.Explanation: (Error) A statement beginning with a percent sign (%) is not a valid PL/I preprocessor statement.
User Action: Check that a preprocessor keyword is spelled correctly; or, if a percent sign is specified in a character-string constant, verify that the string is properly delimited.
UNRSTMT, This is an unrecognizable statement. Starting at entity.Explanation: (Error) A statement does not contain any identifiable PL/I statement keywords, or a statement contains extraneous tokens. For example, the statement ON...THEN causes this error.
User Action: Examine the statement in error and correct it.
UNRSTREF, Astructure-qualifiedreferencetoentitycannotberesolvedtoanydeclarationknowntothisblock.Explanation: (Error) A reference in the form name1.name2.name3... cannot be resolved.
User Action: Examine the structure-qualified reference in the statement that caused the error. Verify that the structure member that is referenced is a part of the specified structure. Correct the reference so that it refers to the correct structure or to the correct member.
UNSUPPTYPE, The CDD description for structure item entity specifies an unsupported data type.Explanation: (Informational) The Common Data Dictionary description for a structure item has attempted to use a data type that is not supported by PL/I. The PL/I compiler has supplied the data type of BYTE_FIELD or BIT_FIELD.
User Action: Change the data type to one which is supported by PL/I, or use the PL/I built-in functions ADDR, SIZE, BYTESIZE, or UNSPEC to manipulate BYTE_FIELD and BIT_FIELD.
UNTYPEREF, Entity has been declared with the TYPE attribute; entity references a variable that is not known to entity in this block.Explanation: (Error) The major or minor structure referenced by the TYPE attribute is not known to the current block. Therefore, the compiler cannot locate the referenced structure.
User Action: Declare the referenced structure outside of the procedure, if the STATIC storage class is acceptable. Otherwise, declare the referenced structure within the appropriate block.
UPPRGTRLOW, One of the bounds declared for entity is invalid because the lower bound is greater than the upper bound.Explanation: (Error) An array is incorrectly declared.
User Action: Correct the declaration of the array variable in error so that all bounds are valid. In the declaration of the bound x:y, the value of x must be numerically less than the value of y.
USERDIAG, Entity.Explanation: (Error) The PL/I embedded preprocessor permits you to write your own compile-time diagnostic messages. The text of the message is user-specified and responds to a user-specified compile-time condition. Error messages inhibit the production of an object file.
User Action: Determine the cause of the problem from the source text and correct the error.
VALPARAM, The PRESENT function may return an unpredictable result when its argument is a value parameter.Explanation: (Warning) The argument to the PRESENT built-in function is a parameter that is passed by value. Correct results may not be returned by this function, because passing a zero will cause PRESENT to return false.
User Action: Change the passing mechanism of the parameter, or make sure that a zero is never passed as an argument to this routine.
VALSIZE, The size or precision of entity is incompatible with the VALUE attribute.Explanation: (Error) A parameter descriptor or variable declared with the VALUE attribute specifies a fixed binary value with a precision not equal to 31 or a bit-string value with a length not equal to 32.
User Action: Correct the declaration so that it specifies a variable that requires 32 bits or less of storage.
VALTYPE, The data type of entity is incompatible with the VALUE attribute.Explanation: (Error) The VALUE attribute is specified for a variable that does not have either the FIXED BINARY or BIT(32) ALIGNED attribute.
User Action: Correct the declaration.
VALUEBIF, Invalid use of the VALUE built-in function.Explanation: (Error) The VALUE 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.
VARFORMAT, The Common Data Dictionary record description entity specifies variable format.Explanation: (Error) PL/I does not accept variable formats from the Common Data Dictionary.
User Action: Rewrite the Common Data Dictionary record description so that the format is fixed length.
VARYING, Entity has been declared with the VARYING attribute. Only CHARACTER variables can be declared VARYING.Explanation: (Error) The VARYING attribute is specified for a variable to which it cannot be applied.
User Action: Correct the declaration so that it does not specify VARYING.
VARYSCALE, The scale factor q specified for entity is not in the range 0<=q<=p, where p is the variable's precision. The scale factor has been set to zero.Explanation: (Warning) A scale is specified for a variable that is not in its declared range.
User Action: Specify a scale factor in the allowed range.
WHATBIF, Entity is not a built-in function or procedure known to this implementation. If this is an external entry, it must be declared by a DECLARE statement with an ENTRY attribute.Explanation: (Error) A reference to a procedure cannot be resolved.
User Action: Verify that the variable referenced in the statement is a valid subroutine or function. If it is an external function, declare it with the ENTRY attribute.
A.2. Run-Time Messages
This section lists the diagnostic messages produced by the VAX and Alpha run-time systems.
ANYCOND, PL/I ANYCONDITIONcondition.Explanation: (Fatal) This error message is displayed when ANYCONDITION is specifically signaled and there is no ON-unit for ANYCONDITION.
User Action: Write an ON-unit to handle ANYCONDITION, or do not signal ANYCONDITION. Correct the source program.
AREA, PL/I AREAcondition.Explanation: (Fatal) The PL/I AREA condition was raised either by a SIGNAL AREA statement, or by the PL/I run-time library.
User Action: If the exception was raised by the RTL, see the secondary condition for more information.
AREA_ACTIVE, Operation attempted on an already active area.Explanation: (Informational) The PL/I run-time library detected that an area it was about to perform an operation on is already active. If this condition occurs, it is typically because an operation is being attempted on an area from both AST level and non-AST level simultaneously, or because the area is in a shared memory environment and being modified by more than one processor at once.
User Action: Rewrite the application to avoid simultaneous modification of an area. If that is not desirable, you may want to consider handling the condition with an ON-unit. See Chapter 10, Error Handling for more information.
AREA_ASSIGN, Target area in area assignment is too small.Explanation: (Informational) An assignment was attempted, and the size of the target area was insufficient to hold the extent of the source area.
User Action: Correct the situation that caused the problem to occur, or add an ON-unit to process the condition.
AREA_FORMAT, Operation attempted on an incorrectly formatted area.Explanation: (Informational) The PL/I run-time library detected an area to be incorrectly formatted while attempting an allocation or deallocation in the area, or while performing an area assignment from the area.
User Action: The area may be corrupt because it was never initialized with the EMPTY() built-in function, or because of invalid pointer references or data access.
AREA_FREE, Error detected deallocating a variable in an area.Explanation: (Informational) The PL/I run-time library detected that a FREE operation in an area was not valid. For example, the variable being freed incorrectly extends beyond the end of the area, extends into a free section of the area, or is already in a free section of the area. This problem normally arises when a variable of a different size than the one originally allocated is used for the free operation, or when the variable is freed more than one time.
User Action: Correct the logic problem in the source program.
AREA_FULL, No room for variable allocation in area at address entity.Explanation: (Informational) An allocation was attempted in an area that could not be performed because the area did not have enough contiguous space to allocate the variable requested. The address of the area is in hexadecimal.
User Action: Handle the condition. See Chapter 10, Error Handling for more information.
AREA_INACTIVE, Attempt to unlock an area failed.Explanation: (Informational) The PL/I run-time library detected an error while attempting to unlock the interlock bit on an area after performing an operation on the area. This error can be caused by assigning to the target area while another operation is active, since area assignment cannot be fully interlocked.
User Action: Rewrite the application to avoid assignment to an area while another operation is in progress.
AREA_SIZE, Impossible to allocate variable in area.Explanation: (Informational) An allocation was attempted in an area that could not be performed because the size requested was too large to be allocated from the area, even if the area was empty.
User Action: Correct the situation that caused the problem to occur.
AUTOINIT, Error in automatic initialization.Explanation: (Fatal) An automatic variable declared with the INITIAL attribute cannot be initialized. This error can be caused by a negative repetition factor in an initial list, or when too few or too many values are specified in the initialization of an array. PL/I also does not allow automatic initialization of automatic unconnected aggregates.
User Action: Correct the initial list.
BADATTR, File attributes conflict with request.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
BADRTL, Invalid file control block or uninitialized FILE VARIABLE.Explanation: (Informational) A PL/I program was compiled with a field-test version of the PL/I compilers and linked with a later version of the run-time library.
User Action: Determine what the correct run-time library is for your version of the compiler (ask your system manager or operator, if necessary). Recompile the program with the correct run-time library.
BASECTLINIT, Error in BASED or CONTROLLED initialization.Explanation: (Fatal) A BASED or CONTROLLED variable declared with the INITIAL attribute cannot be initialized. This error can be caused by a negative repetition factor in an initial list, or when too few or too many values are specified in the initialization of an array. PL/I also does not allow automatic initialization of BASED or CONTROLLED unconnected aggregates.
User Action: Correct the initial list.
BIFSTAPOS, Starting position for a string built-in function is out of range.Explanation: (Informational) The third operand in a reference to an INDEX, SEARCH, or VERIFY built-in function is beyond the range of the string. This condition is always signaled when strings are being processed by the PL/I run-time library, but it is raised for in-line code only if the /CHECK qualifier was specified for the procedure containing the reference.
User Action: Examine the program to determine the proper value for the third parameter, and correct the program.
CNVERR, Conversion error.Explanation: (Informational) An input or output value could not be converted as specified by the default conversion rules (for example, in list-directed stream I/O) or as specified by the corresponding format item (for edit-directed stream I/O).
User Action: Examine the program logic and correct it if possible. If edit-directed stream I/O is being performed, check to ensure that the input or output value is matched to the correct format item.
CONAPPSUP, APPENDandSUPERSEDEconflict.Explanation: (Informational) These ENVIRONMENT options conflict and must not be both specified for the same file.
User Action: Determine whether you want to append new records to the existing file or to supersede it and write a new file. Correct the source program so that one of these options is not specified in the DECLARE or OPEN statement for the file.
CONATTR, Conflicting attributes specified while opening file.Explanation: (Informational) A file was implicitly opened with an attribute that conflicts with an attribute specified in the file's declaration. This error occurs when a file is declared with any of the following: the DIRECT and SEQUENTIAL attributes, the RECORD and STREAM attributes, or more than one of the attributes INPUT, OUTPUT, and UPDATE.
User Action: Determine the correct set of attributes for the file, and correct the file's declaration.
CONBLOKIO, BLOCK_IOconflictswithotherattributesoroptions.Explanation: (Informational) The ENVIRONMENT option list for a file contains the BLOCK_IO option and one or more of the options that conflict with BLOCK_IO.
User Action: Consult the description of the BLOCK_IO option to determine the options that conflict, and examine the file's declaration and OPEN statement. Decide whether the file is to be opened for BLOCK_IO, and correct the program.
CONDITION, PL/I CONDITION(entity)condition.Explanation: (Informational) A user-defined condition was signaled with the SIGNAL CONDITION(user-cond) statement.
User Action: Do nothing, or add an ON-unit to handle the condition.
CONENVOPT, DECLAREDoptionconflictswithOPENoption.Explanation: (Informational) The value of an option specified in the ENVIRONMENT option list in the declaration of a file conflicts with the value specified on the OPEN statement for the file.
User Action: Determine which value is the correct value for the option, and correct either the file's declaration or the OPEN statement.
CONFIXLEN, FIXED_LENGTH_RECORDSconflictswithotherattributesoroptions.Explanation: (Informational) The file's attribute list contains the FIXED_LENGTH_RECORDS option and an option that conflicts with it.
User Action: Consult the option descriptions to determine the options in conflict, and correct the program.
CONPRINTCR, CARRIAGE_RETURN_FORMATconflictswithPRINTattribute.Explanation: (Informational) A PL/I file with the PRINT attribute has variable records with fixed-length control; the carriage control information is provided by PL/I. The CARRIAGE_RETURN_FORMAT option of ENVIRONMENT cannot be specified for it.
User Action: Determine whether the file is to be a PL/I PRINT file or a file with VMS carriage return format and correct the file's attribute list.
CONPRTFRM, PRINTER_FORMATconflictswithotherattributesoroptions.Explanation: (Informational) The ENVIRONMENT option PRINTER_FORMAT conflicts with the CARRIAGE_RETURN_FORMAT option and with the PRINT and STREAM file description attributes.
User Action: Correct the file's attribute list.
CONVERSION, PL/I CONVERSIONcondition.Explanation: (Fatal) An invalid character was detected during the conversion of character data to another data type. (For example, the colon in '12:4' would cause conversion to be raised if this string was being converted to a FIXED value.)
User Action: Correct the input data or add an ON-unit to handle the CONVERSION condition. Note that the ONSOURCE and ONCHAR built-in functions can be used to determine the source of the error, and that the corresponding pseudovariables can be used to correct the source string.
CONVFILE, On file entity.Explanation: (Informational) This displays the name of the file constant for which the conversion error occurred.
User Action: None.
CREINDEX, Attempting to create an indexed file. Use RMS Define.Explanation: (Informational) A file was opened with the OUTPUT attribute and with the ENVIRONMENT option INDEXED. You cannot create an indexed sequential file in a PL/I program. Indexed files can be opened only for UPDATE or INPUT.
User Action: Use the RMS utility program FDL to create the file. Correct the program to open the file with the UPDATE attribute and write records to it.
CVTPICERR, Error in picture conversion.Explanation: (Informational) A value could not be edited as specified by the corresponding picture.
User Action: If the value is negative, be sure that the picture includes one of the sign characters.
ENDFILE, PL/I ENDFILEconditiononfileentity.Explanation: (Fatal) This message is displayed when a READ or GET statement attempts to access data that is beyond the end of the given file. The message is displayed only when no user-specified ON-unit exists to handle the end-of-file condition for the given file.
User Action: Provide an ON-unit for the ENDFILE condition for the input file.
ENDPAGE, PL/I ENDPAGEconditiononfileentity.Explanation: (Warning) This message is displayed when a PUT statement causes the current line number to exceed the page size specified for a print file. The message is displayed only if there is no ON-unit within the file to handle the ENDPAGE condition for the given file.
User Action: If your program is displaying lines on the terminal, you may want to include this statement:
ON ENDPAGE(SYSPRINT);
This null ON-unit causes PL/I to ignore the ENDPAGE condition when many lines are being written to the terminal.
For other types of print files, you may want to take special action for the ENDPAGE condition and code an ON-unit to perform the action.
ENDSTRING, End of string encountered during GET STRING or PUT STRING.Explanation: (Informational) A GET STRING statement attempted to read past the end of the source string variable, or a PUT STRING statement attempted to write past the end of the target string variable. This error occurs most frequently when a LIST option is specified on a GET STRING statement and the target string does not have either a trailing blank or a comma.
User Action: Verify the length of the target or source string variable, the data types specified in the GET or PUT list, and correct the program.
ENVPARM, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
ERROR, PL/I ERRORcondition.Explanation: (Fatal) This message is displayed whenever the ERROR condition is signaled and not handled within the procedure.
User Action: This message is usually followed by additional messages that indicate the specific error that occurred. Examine these messages to determine the corrective action required.
FILEIDENT, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
FILENAME, File name: entity.Explanation: (Informational) This message specifies the VMS file specification of the file to which I/O was attempted.
User Action: Examine this informational message to determine the full specification of the VMS file on which the I/O that failed was attempted. From this name, you can verify whether the file was correctly specified in the TITLE option, whether the correct logical name assignments exist, whether the correct defaults are being applied, and so on.
FINISH, PL/I Program FINISH condition.Explanation: (Success) This message is displayed when the FINISH condition is signaled and the program has no ON-unit for the FINISH condition.
User Action: In many cases, this message is displayed when you have interrupted a program with Ctrl/c or Ctrl/y and executed another program or a DCL command. In these cases, no action is required. Otherwise, you may want to write an ON-unit to respond specifically to the FINISH condition in a program. For a description of image exit, and the circumstances under which PL/I signals the FINISH condition, see Chapter 10, Error Handling.
FIXOVF, PL/I FIXEDOVERFLOWcondition.Explanation: (Fatal) This message is displayed when the FIXEDOVERFLOW condition occurs or is signaled and no ON-unit exists for FIXEDOVERFLOW.
User Action: Determine the variable whose value overflowed and give it a larger precision, or verify that the program logic is correct and is not trying to assign a value larger than it should to the variable. If the condition is expected, code an ON-unit in your program that handles this condition.
FORMATOVFL, Too many iteration factors or remote formats.Explanation: (Informational) A format list is too complex to be interpreted.
User Action: Simplify the stream I/O statement.
FXCSIZ, FIXED_CONTROL_SIZEincorrect.Explanation: (Informational) The size of the variable in the FIXED_CONTROL_FROM or FIXED_CONTROL_TO option does not match the size of the file's fixed-control area.
User Action: Determine the correct size of the fixed-control area, and correct the source program or verify that the correct file is being accessed.
INCRETURN, RETURNstatementisincompatiblewithENTRY.Explanation: (Fatal) A procedure does not have the RETURNS attribute, but an entry within that procedure specifies the RETURNS option and attempts to execute a RETURN statement.
User Action: Correct the source program by specifying the RETURNS attribute on the PROCEDURE statement or by removing it from the ENTRY statement.
INTERNAL, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Fatal) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
INVBKTSIZ, Invalid BUCKET_SIZE specified.Explanation: (Informational) The value specified in the BUCKET_SIZE ENVIRONMENT option is not in the range 0 through 32. The largest number of blocks allowed in a bucket by VAX RMS is 32.
User Action: Select a bucket size that is in the correct range, and correct the source program.
INVBLKSIZ, Invalid BLOCK_SIZE specified.Explanation: (Informational) The value specified in the BLOCK_SIZE ENVIRONMENT option is not in the range 20 through 65532 or is not 0.
User Action: Select a block size that is in the valid range, and correct the program.
INVDATYP, Invalid data type for record I/O.Explanation: (Informational) The data type of a variable in a record I/O statement is not a computational data type; or the data type is computational but is an unconnected array or structure, an unaligned bit string, or an aggregate of unaligned bit strings.
User Action: Verify that the correct variable name was specified in the I/O statement. If the variable is an aggregate, you may have to redimension or restructure it so that the required array is connected.
INVDFNAM, Invalid DEFAULT_FILE_NAME.Explanation: (Informational) The expression value specified in the DEFAULT_FILE_NAME ENVIRONMENT option is not a valid character-string expression, or it is longer than 128 characters.
User Action: Verify that the expression is correctly specified, if a variable reference is specified, that the reference is correct. Correct the source program.
INVEXTSIZ, Invalid EXTENSION_SIZE specified.Explanation: (Informational) The value specified in the EXTENSION_SIZE option of ENVIRONMENT is not in the range 0 through 65535 or is not a valid integer expression.
User Action: Correct the expression.
INVFMTPARM, Invalid format parameter specified.Explanation: (Informational) A value specified for a format item was not a positive integer, or the value was not in the valid range for the given format item. For example, this error occurs if a negative number is specified for the A or B format item, or if a value greater than 31 is specified for the F format item.
User Action: Correct the value specified for the format item in the source program.
INVFORGKEY, Invalid file organization for KEYED access.Explanation: (Informational) The KEYED attribute was specified for a file that cannot be accessed by key, for example, a magnetic tape file.
User Action: Verify that the correct file is being opened by checking the TITLE and DEFAULT_FILE_NAME options, if any, logical name assignments, and file specification defaults. If the file is the expected file, correct the attribute list so that it does not specify the KEYED attribute.
INVFORMAT, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred and submit an SPR.
INVFXCSIZ, Invalid FIXED_CONTROL_SIZE specified.Explanation: (Informational) The value specified in the FIXED_CONTROL_SIZE ENVIRONMENT option is not in the range 0 through 255.
User Action: Verify that the expression in the FIXED_CONTROL_SIZE option is correctly specified or that it refers to the correct variable. Or choose a fixed-control size that is within the valid range. Correct the program.
INVINDNUM, Invalid INDEX_NUMBER specified.Explanation: (Informational) The value specified for the INDEX_NUMBER option does not have a corresponding index in the indexed sequential file.
User Action: Verify that the expression specified in the option is correct or that it refers to the correct variable. Or specify an index number that is in the proper range, ensuring that the indexed sequential file was defined with the correct number of index keys. Correct the program.
INVMAXREC, Invalid MAXIMUM_RECORD_SIZE specified.Explanation: (Informational) The value specified for the MAXIMUM_RECORD_SIZE option of ENVIRONMENT is not in the range 0 through 32767.
User Action: Correct the value so that it is not larger than 32767.
INVMLTBLK, Invalid MULTIBLOCK_COUNT specified.Explanation: (Informational) The value specified in the MULTIBLOCK_COUNT count of the ENVIRONMENT option is not in the range 0 through 127, or is not a valid integer expression.
User Action: Verify that the expression in the MULTIBLOCK_COUNT option is correct, or that the correct variable reference is specified. Correct the program.
INVMLTBUF, Invalid MULTIBUFFER_COUNT specified.Explanation: (Informational) The value specified in the MULTIBUFFER_COUNT count of the ENVIRONMENT option is not in the range -128 through 127, or is not a valid integer expression.
User Action: Verify that the expression in the MULTIBUFFER_COUNT option is correct, or that the correct variable reference is specified. Correct the program.
INVNUMOPT, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred and submit an SPR.
INVOWNGRP, Invalid OWNER_GROUP specified.Explanation: (Informational) The value specified for the OWNER_GROUP ENVIRONMENT option is not in the range 0 through 16383, or is not a valid integer expression.
User Action: Correct the program.
INVOWNMEM, Invalid OWNER_MEMBER specified.Explanation: (Informational) The value specified for the OWNER_MEMBER ENVIRONMENT option is not in the range 0 through 65535, or is not a valid integer expression.
User Action: Correct the program and recompile.
INVPROT, Invalid protection string specified.Explanation: (Informational) The value specified for one of the ENVIRONMENT options GROUP_PROTECTION, OWNER_PROTECTION, SYSTEM_PROTECTION, or WORLD_PROTECTION is not a valid string expression; the string contains more than four characters; or the string contains characters other than the characters R, W, E, or D, or their lowercase equivalents.
User Action: Correct the value specified in the option, and recompile the program.
INVRADIX, An invalid radix was specified.Explanation: (Fatal) The radix specified for the ENCODE or DECODE built-in function was not a value between 2 and 16.
User Action: Change the radix to a value between 2 and 16.
INVRTVPTR, Invalid RETRIEVAL_POINTERS specified.Explanation: (Informational) The value specified for the ENVIRONMENT option RETRIEVAL_POINTERS is not in the range -1 through 127, or is not a valid integer expression.
User Action: Verify that the expression specified in the RETRIEVAL_POINTERS option is a valid integer expression or, if a variable reference is specified, that it refers to the appropriate variable. Correct the program.
INVSKIP, Invalid value for SKIP option specified.Explanation: (Informational) The value specified in a SKIP option is zero (on an input operation) or is negative (for either an input or an output operation).
User Action: Determine the value of the SKIP option; if a variable reference is specified, verify that the variable contains the correct value.
INVSTRFMT, Invalid format item for STRING I/O.Explanation: (Informational) One of the format items COL, SKIP, LINE, PAGE, or TAB was specified in a GET STRING or PUT STRING statement. These format items are not valid for these statements.
User Action: Correct the format list for the statement that caused the error.
INVSTRING, Invalid character encountered in string.Explanation: (Fatal) Invalid characters were specified for the string argument of the DECODE built-in function.
User Action: Remove the invalid characters.
INVTIME, Invalid timeout value specified.Explanation: (Fatal) An invalid timeout value has been specified. The number of seconds to wait must be less than 256.
User Action: Correct the timeout value.
INV_KEY, Invalid KEY data type.Explanation: (Informational) The data type of a key in an indexed sequential file is not a data type known to PL/I.
User Action: Verify that the file has not been corrupted. Revert to an earlier version of the file, if possible.
IOERROR, I/Oerroronfileentity.Explanation: (Informational) This informational message indicates that an error occurred during an I/O operation.
User Action: Examine the accompanying messages to determine the error.
KEY, PL/I KEYconditiononfileentity.Explanation: (Fatal) This message is followed by one or more messages that indicate the specific error that occurred while processing the key on the given file.
User Action: Determine the specific error that occurred by examining the accompanying RMS message. Verify in your program that the correct key value was specified in the I/O statement, that the data type of the key value can be converted to the data type of the given key, and so on. Also determine whether the file to which the I/O was attempted is the correct file. If appropriate, write an ON-unit to handle the KEY condition.
LABELRANGE, Uninitialized label subscript used.Explanation: (Fatal) A label subscript is specified with a variable reference, but the variable is not initialized.
User Action: Correct the program's logic so that the variable has a valid value.
LINESIZE, Invalid LINESIZE specified.Explanation: (Informational) The value specified in the LINESIZE option exceeds the implementation's limit of 32767 or the value is not a positive integer value.
User Action: Correct the LINESIZE option.
LINOVRFLO, Line number overflow.Explanation: (Informational) The number of lines on a stream file page exceeds the implementation's limit of 32767.
User Action: Write an ON-unit using the VAXCONDITION or ANYCONDITION to handle the condition.
NAME, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Fatal) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
NOCURREC, No current record.Explanation: (Informational) A DELETE or REWRITE statement was specified for a file opened with the UPDATE attribute, but the KEY option was not specified. These statements may omit the KEY option only if the current record contains a valid value.
User Action: Correct the statement in the source program and recompile.
NOFROM, No FROM specified or buffer not allocated.Explanation: (Informational) A REWRITE statement was specified without the FROM option. The REWRITE statement is valid without the FROM option only if a previous READ statement on the file specified the SET option to allocate a buffer and set a pointer to the record read.
User Action: Correct the previous READ statement for the file so that it specifies the SET option, or correct the REWRITE statement so that it specifies the FROM option.
NOKEY, No KEY or KEYFROM specified.Explanation: (Informational) A keyed I/O statement must specify a KEY or KEYFROM option.
User Action: Correct the statement and recompile the program. If you are attempting sequential access to a file, verify that you have also specified SEQUENTIAL in the file's attribute list.
NOSELECT, No WHEN clause selected and no OTHERWISE specified.Explanation: (Fatal) It is possible to omit either the WHEN or OTHERWISE clause, but if no WHEN clause is selected, then an OTHERWISE clause must be present.
User Action: Include an OTHERWISE clause in the SELECT-group.
NOSHARE, SHARED_READorSHARED_WRITEconflictwithNO_SHARE.Explanation: (Informational) The ENVIRONMENT options SHARED_READ and SHARED_WRITE permit read or write sharing on a file, but the NO_SHARE option prohibits all sharing.
User Action: Determine whether the file is to be accessed for sharing. If not, delete the option in error. If it is to be shared, delete the NO_SHARE option.
NOTIMPL, The image being run requires a more recent version of PLIRTL.Explanation: (Fatal) This message is displayed when an image containing PL/I code is moved to a system with an older version of PLIRTL that does not support a function that is required to run the program.
User Action: Upgrade the system to the necessary level to run the program.
NOTINDEXED, Requested operation requires an INDEXED file.Explanation: (Informational) A keyed I/O statement specifies an operation that is valid only for a file with indexed sequential file organization.
User Action: Determine from the information in the FILENAME message whether the operation was requested to the appropriate file. If the file is correctly specified but is not an indexed file, it may not have been properly created.
NOTINPUT, Attempting to GET from an OUTPUT or UPDATE file.Explanation: (Informational) A GET statement is not valid on a file that is opened with the OUTPUT or UPDATE attributes.
User Action: Correct the file's attribute list.
NOTKEYD, Not a KEYED file.Explanation: (Informational) A KEY or KEYFROM option was specified in a record I/O statement for a file that does not have the KEYED attribute.
User Action: Verify that the file is a keyed file, and if it is, correct the DECLARE or OPEN statement for the file so that it specifies the KEYED attribute.
NOTOUT, Attempting to PUT to an INPUT or UPDATE file.Explanation: (Informational) The PUT statement is not valid for files that are opened with the INPUT or UPDATE attribute.
User Action: Correct the file's attribute list.
NOTPRINT, PAGEorLINEspecifiedfornon-PRINTfile.Explanation: (Informational) The PAGE and LINE options of the PUT statement are valid only for files that are opened with the PRINT attribute.
User Action: Verify that the file is a stream output file and, if so, add PRINT to the file's attribute list and recompile.
NOTREC, Not a RECORD file.Explanation: (Informational) A record I/O statement (READ, WRITE, DELETE, or REWRITE) was specified for a file that has the STREAM attribute.
User Action: Correct the file's attribute list or use a stream I/O statement to process the file and recompile.
NOTRELSQL, Not a RELATIVE or SEQUENTIAL fileExplanation: (Fatal) The LOCK_NONEXISTENT record option may only be used with relative or sequential files.
User Action: Remove the LOCK_NONEXISTENT option or use a different file organization.
NOTSQL, Not a SEQUENTIAL file.Explanation: (Informational) A sequential READ or WRITE statement was specified for a file that has the DIRECT attribute. The I/O statement must specify a KEY or KEYFROM option.
User Action: Decide whether the file was to be accessed sequentially or directly, and correct the I/O statement that caused the error.
NOTSTREAM, Stream I/O attempted on RECORD file.Explanation: (Informational) A GET or PUT statement was used to process a file that has the RECORD attribute.
User Action: Correct the file's attribute list, remembering that certain file description attributes imply the RECORD attribute, and recompile the program.
NOTUPDATE, Attempting to REWRITE or DELETE an INPUT or OUTPUT file.Explanation: (Informational) The REWRITE and DELETE statements are not valid for files that are opened with either the INPUT or OUTPUT attributes; the file must have the UPDATE attribute.
User Action: Correct the file's attribute list and recompile.
NOVIRMEM, Virtual memory overflow.Explanation: (Informational) The run-time system attempted to allocate virtual memory for an I/O buffer in the program, but there was insufficient virtual memory available.
User Action: Simplify the source program so that it requires less space.
ONCNVPOS, The erroneous character is at position entity.Explanation: (Informational) This message displays an up arrow below the character in error in the ONSOURCE message.
User Action: Use the information to correct the source field of the conversion.
ONSNOTMOD, ONSOURCEvaluenotmodified.Explanation: (Informational) A normal return occurred from a CONVERSION condition, which would normally result in a retry of the conversion. However, the ONSOURCE value was not modified, so the ERROR condition was raised to prevent an infinite loop.
User Action: Change the ON unit handling the condition to modify the ONSOURCE value using either the ONSOURCE or ONCHAR pseudovariables.
ONSOURCE, The conversion source is entity.Explanation: (Informational) This displays the source string.
User Action: None.
OPEN, Open failure.Explanation: (Informational) An attempt was made to open a file implicitly by an I/O statement, but the file could not be opened. The UNDEFINEDFILE condition was signaled, but the ON-unit did not successfully open the file.
User Action: Write an ON-unit to handle the UNDEFINEDFILE condition for the given file to ensure that the file will be opened.
PAGESIZE, Invalid PAGESIZE specified.Explanation: (Informational) The value specified in the PAGESIZE option exceeds the implementation's limit of 32767 or the value is not a positive integer.
User Action: Correct the value specified in the PAGESIZE option.
PAGOVRFLO, Page number overflow.Explanation: (Informational) The number of pages in a stream file exceeds the implementation's limit of 32767.
User Action: Write an ON-unit using the VAXCONDITION or ANYCONDITION to handle the condition.
PARM, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred and submit an SPR.
PROMPTOBIG, PROMPT option too long. Must be less than 254 characters.Explanation: (Informational) The string specified in the PROMPT option of the GET statements exceeds the maximum length of 253 characters.
User Action: Shorten the prompting string.
READOP, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred and submit an SPR.
READOUT, Attempting to READ from an OUTPUT file.Explanation: (Informational) A file that is opened with the OUTPUT attribute cannot be accessed with a READ statement. If you are attempting to read a file that was just written, you must first close the file and reopen it with the INPUT attribute.
User Action: Correct the source program and recompile.
RECID, File not open for RECORD_ID_ACCESS.Explanation: (Informational) The RECORD_ID_TO and RECORD_ID_FROM options are valid only if the file's ENVIRONMENT option list specified RECORD_ID_ACCESS.
User Action: Correct the ENVIRONMENT option list.
RECIDKEY, RECORD_ID_FROMconflictswithKEYorKEYFROM.Explanation: (Informational) A record I/O statement may not specify the KEY or KEYFROM option and the RECORD_ID_FROM option at the same time.
User Action: Correct the statement.
RECORD, Record length does not match target length.Explanation: (Informational) A fixed-length character string buffer is not the same length as a record being read by a READ statement, or an area is too small to hold the extent of an area being read into it.
User Action: Verify that the variable to which you are transferring data is the correct length for the records in the file. Correct the source program.
RECORDCND, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Fatal) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
RECURSIO, Illegal recursive I/O attempted.Explanation: (Informational) An input or output operation was attempted to a file on which another I/O operation is currently being performed.
User Action: Correct the logic of the program.
RMSF, PL/IinternalFABcondition.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
RMSR, PL/IinternalRABcondition.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
SIZE, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Fatal) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
STORAGE, PL/I STORAGEcondition.Explanation: (Fatal) A failure status was returned by LIB$GET_VM for an ALLOCATE statement. The secondary condition value indicates the reason for the failure.
User Action: Correct the situation that caused the condition to be raised.
STROVFL, Stream item too big. Must be less than 1000 characters.Explanation: (Informational) The run-time system cannot process a string longer than 1000 characters.
User Action: Correct the input or output field width. If necessary, use more than one stream I/O statement.
STRRANGE, PL/I STRINGRANGEcondition.Explanation: (Fatal) The third operand in a reference to a SUBSTR built-in function or pseudovariable, or the third parameter in a reference to an INDEX, SEARCH or VERIFY built-in function is beyond the range of the string. This message is only issued for checks that fail in in-line code if the procedure containing this reference was compiled with the /CHECK qualifier. This condition is always checked by PL/I run-time library routines.
User Action: Correct the reference.
STRSIZE, PL/I STRINGSIZEcondition.Explanation: (Fatal) The second operand in a reference to a SUBSTR built-in function or pseudovariable is beyond the range of the string. This message is issued only if the procedure containing this reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE, Subscript range check error.Explanation: (Informational) The compiler detected a value that is beyond the range specified for a variable. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE1, Subscript 1 range check error.Explanation: (Informational) The first subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE2, Subscript 2 range check error.Explanation: (Informational) The second subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE3, Subscript 3 range check error.Explanation: (Informational) The third subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE4, Subscript 4 range check error.Explanation: (Informational) The fourth subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE5, Subscript 5 range check error.Explanation: (Informational) The fifth subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE6, Subscript 6 range check error.Explanation: (Informational) The sixth subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE7, Subscript 7 range check error.Explanation: (Informational) The seventh subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRANGE8, Subscript 8 range check error.Explanation: (Informational) The eighth subscript in an array reference specifies a value that is beyond the bounds of that dimension. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBRG, PL/I SUBSCRIPTRANGEcondition.Explanation: (Fatal) The compiler detected a value that is beyond the range specified for a variable. This message is issued only if the procedure containing the reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBSTR2, Operand 2 of a SUBSTR is out of range.Explanation: (Informational) The second operand in a reference to a SUBSTR built-in function or pseudovariable is beyond the range of the string. This message is issued only if the procedure containing this reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
SUBSTR3, Operand 3 of a SUBSTR is out of range.Explanation: (Informational) The third operand in a reference to a SUBSTR built-in function or pseudovariable is beyond the range of the string. This message is issued only if the procedure containing this reference was compiled with the /CHECK qualifier.
User Action: Correct the reference.
TITLE, Invalid TITLE specified.Explanation: (Informational) The size of the character-string expression specified in the TITLE option exceeds the maximum size of 128 bytes.
User Action: Select a smaller file title, and correct the program.
TRANSMIT, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Fatal) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred, and submit an SPR.
UNDFILE, PL/I UNDEFINEDFILEconditiononfileentity.Explanation: (Fatal) This message is followed by one or more messages that indicate the specific error that occurred during opening of the given file.
User Action: Determine the corrective action from the accompanying messages. Verify the file specification in the FILENAME message to determine whether the correct defaults are being applied, whether all required logical name assignments are in effect, and so on.
VAXCOND, User defined condition, entity.Explanation: (Warning) This message is displayed when VAXCONDITION is signaled and no ON-unit exists to handle the specific numeric condition value.
User Action: Verify that the condition value specified in the SIGNAL statement matches the condition value in a corresponding ON-unit. Correct the source program.
VIRMEMDEAL, PL/I compiler/run-time error. Please submit an SPR.Explanation: (Informational) An error occurred in the execution of the PL/I compiler or a run-time module.
User Action: Gather as much information as possible about the circumstances under which the error occurred and submit an SPR.
WRITEIN, Attempting to WRITE to an INPUT file.Explanation: (Informational) A file that is opened with the INPUT attribute cannot be accessed with a WRITE statement. If you are attempting to write a file that was just read, you must first close the file and reopen it either with the UPDATE attribute or with the OUTPUT attribute and ENVIRONMENT(APPEND).
User Action: Correct the source program.
ZERODIV, PL/I ZERODIVIDEcondition.Explanation: (Fatal) This message is displayed when the ZERODIVIDE condition occurs; that is, the divisor in a division operation has a value of zero. This message is displayed when the condition is not handled by an ON-unit within the PL/I program.
User Action: Determine the statement that caused the error and correct the program logic, if possible. If practical, code an ON-unit to detect the condition and take appropriate action.
A.3. %DICTIONARY Error Messages
When an error occurs during use of the Common Data Dictionary (CDD), it is generated by one of the following:
The PL/I compiler, which generates error messages that begin with %PLIG. These messages appear in Section A.1, “Compiler Messages”.
The Common Data Dictionary, which generates error messages that begin with %CDD. These messages appear in the CDD Documentation. CDDL error messages appear in the CDD Documentation.
The CRX, which generates error messages that begin with %CRX. These messages are given in Table A.1, “CRX Error Messages”.
Informational messages do not inhibit the production of an object file, but may indicate that your results might not be as you had anticipated.
Most error messages indicate that there is an error that cannot be corrected by the user. Therefore, it is requested that you submit an SPR to the CDD or to the product that created the record description.
| CRX Error | Message | User Action |
|---|---|---|
| %CRX-E-BADBASE | Field description specifies base other than 2 or 10. | Correct the description to be base 2 or 10. |
| %CRX-E-BADCORLEV | Record description specifies unsupported core level. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADDIGITS | Field description specifies improper number of digits. | Correct the field description to specify the proper number of digits. |
| %CRX-E-BADFORMAT | Record description specifies improper record format. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADLENGTH | Field description specifies improper length. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADOCCURS | Dimension description improperly specifies Minimum Occurs. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADOFFSET | Field description specifies improper offset. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADOVERLAY | Field description specifies overlay for nonoverlay field. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADPRTCL | Path name does not designate a node with record protocol. | Correct the path name. |
| %CRX-E-BADREFER | Field description specifies reference for nonpointer field. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADSCALE | Field description specifies scale greater than precision. | Correct the precision or scale specified in the field description. |
| %CRX-E-BADSTRIDE | Dimension description specifies improper stride. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-BADTAGVAR | Field description specifies tag for nonoverlay field. | Submit SPR to CDD or to the product that created the description. |
| %CRX-I-INITVAL | Initial value in field description being ignored. | No action. |
| %CRX-I-LITERALS | Literal definitions in record description being ignored. | No action. |
| %CRX-E-MEMBADTYP | Field description specifies data type for field with members. | Submit SPR to CDD or to the product that created the description. |
| %CRX-I-NOCONTIN | Improper continuation after a noncontinuable condition. | Submit a PL/I SPR. |
| %CRX-E-NOCORATT | Record description does not specify core level. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOFORMAT | Record description does not specify record format. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOLENGTH | Field description does not specify length. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOLOWER | Dimension description does not specify lower bound. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOOFFSET | Field description does not specify offset. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOOVERLAY | Field description does not specify overlay for overlay field. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOSTRIDE | Dimension description does not specify stride. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOTCOMPUT | Field definition specifies numeric attributes for nonnumeric data. | Submit SPR to CDD or to the product that created the description. |
| %CRX-E-NOUPPER | Dimension description does not specify upper bound. | Submit SPR to CDD or to the product that created the description. |
| %CRX-I-REFERENCE | Reference in overlay description being ignored. | No action. |
| %CRX-I-TAGVALUES | Tag values in overlay description being ignored. | No action. |
| %CRX-E-UNALIGNED | Field description specifies improper field alignment. | Correct the field description to specify the proper alignment. |
| %CRX-I-UNKFACIL | Unknown facility specified for record description extraction. | Submit a PL/I SPR. |