Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Messages and Codes Manual

MACRO and CICS Preprocessor Messages (3000-3999)

IBM3000I I
note
Explanation:

This message is used by %NOTE statements with a return code of 0.

IBM3020I I
Comment spans line-count lines.
Explanation:

A comment ends on a different line than it begins. This may indicate that an end-of-comment delimiter is missing.

IBM3021I I
String spans line-count lines.
Explanation:

A string ends on a different line than it begins. This may indicate that a closing quote is missing.

IBM3250I W
note
Explanation:

This message is used by %NOTE statements with a return code of 4.

IBM3251I W
identifier is multiply defined, but with different attributes. The declaration is ignored.
Explanation:

Attributes and declares must be consistent.

 
 
     %a: proc;
     %end;
     %dcl a;
 
IBM3252I W
The attribute character conflicts with previous attributes and is ignored.
Explanation:

Attributes must be consistent.

 
 
     dcl a fixed char;
 
IBM3253I W
Comment spans more than one file.
Explanation:

A comment ends in a different file than it begins. This may indicate that an end-of-comment statement is missing.

IBM3254I W
String spans more than one file.
Explanation:

A string ends in a different file than it begins. This may indicate that a closing quote is missing.

IBM3255I W
Delimiter missing between nondelimiter and nondelimiter. A blank is assumed.
Explanation:

A delimiter (for example, a blank or a comma) is required between all identifiers and constants.

 
 
     dcl 1 a, 2 b, 3c;
 
IBM3256I W
Multiple closure of groups. END statements will be inserted to close intervening groups.
Explanation:

Using one END statement to close more than one group of statements is permitted, but it may indicate a coding error.

IBM3257I W
Missing character assumed.
Explanation:

The indicated character is missing, and there are no more characters in the source. The missing character has been inserted by the parser in order to correct your source.

IBM3258I W
Missing character assumed before character.
Explanation:

The indicated character is missing and has been inserted by the parser in order to correct your source.

 
 
     %dcl jump fixed;
     %skip
     %jump = 2;
 
IBM3260I W
Syntax of the %CONTROL statement is incorrect.
Explanation:

The %CONTROL statement must be followed by FORMAT or NOFORMAT option enclosed in parentheses and then a semicolon.

IBM3265I W
Number of lines specified with %SKIP must be between 0 and 999 inclusive.
Explanation:

Skip amounts greater than 999 are not supported.

 
 
     %skip(2000);
 
IBM3270I W
’EXEC CICS’ encountered, but the CICS option is not in effect. Command ignored.
Explanation:

The CICS option must be in effect if the source contains EXEC CICS statements.

IBM3271I W
’EXEC CSPM’ encountered, but the CSPM option is not in effect. Command ignored.
Explanation:

The CSPM option must be in effect if the source contains EXEC CSPM statements.

IBM3272I W
’EXEC DLI’ encountered, but the DLI option is not in effect. Command ignored.
Explanation:

The DLI option must be in effect if the source contains EXEC DLI statements.

IBM3281I W
SELECT statement contains no WHEN or OTHERWISE clauses.
Explanation:

WHEN or OTHERWISE clauses are not required on SELECT statements, but their absence may indicate a coding error.

IBM3283I W
SELECT statement contains no WHEN clauses.
Explanation:

SELECT statements do not require WHEN clauses, but their absence may indicate a coding error.

IBM3285I W
FIXED BINARY constant contains too many digits. Excess nonsignificant digits will be ignored.
Explanation:

A FIXED BINARY constant must contain 31 or fewer digits.

IBM3286I W
FIXED DECIMAL constant contains too many digits. Excess nonsignificant digits will be ignored.
Explanation:

The maximum precision for FIXED DECIMAL constants is specified by the FIXEDDEC suboption of the LIMITS compiler option.

IBM3287I W
Mantissa in FLOAT BINARY constant contains more digits than the implementation maximum. Excess nonsignificant digits will be ignored.
Explanation:

Float binary constants are limited to 64 digits.

IBM3288I W
Mantissa in FLOAT DECIMAL constant contains more digits than the implementation maximum. Excess nonsignificant digits will be ignored.
Explanation:

Float decimal constants are limited to 18 digits.

IBM3289I W
FLOAT literal is too big for its implicit precision. An appropriate HUGE value is assumed.
Explanation:

The precision for a float literal is implied by the number of digits in its mantissa. For instance 1e99 is implicitly FLOAT DECIMAL(1), but the value 1e99 is larger than the largest value a FLOAT DECIMAL(1) can hold.

IBM3291I W
The OPTIONS option option-name conflicts with the LANGLVL compiler option. The option will be applied.
Explanation:

The named option is not part of the PL/I language definition as specified in the LANGLVL compiler option.

IBM3292I W
suboption is not a valid suboption for option.
Explanation:

The specified suboption is not one of the supported suboptions of the named option.

 
   *process pp(macro(’fixed(long)’));
IBM3293I W
A required suboption is missing for the suboption option.
Explanation:

The named option requires a suboption.

 
   *process pp(macro(’fixed’));
IBM3294I W
A closing parenthesis is missing in the specification of the option option. One is assumed.
Explanation:

A closing parenthesis is missing in the specification of the named option.

 
   *process pp(macro(’fixed(bin’));
IBM3295I W
option is not a supported option.
Explanation:

The named option is not, in fact, an option.

 
   *process pp(macro(’float’));
IBM3299I W
Syntax of the %LINE directive is incorrect.
Explanation:

The %LINE directive must be followed, with optional intervening blanks, by a parenthesis, a line number, a comma, a file name and a closing parenthesis.

 
 
   %line( 19, test.pli );
 
IBM3300I W
identifier has not been declared. CHARACTER attribute assumed.
Explanation:

All variables should be declared.

IBM3300I W
Operand to LENGTH built-in should have string type.
Explanation:

If the operand has a numeric type, the result is the length that value would have after it was converted to string. The length of a numeric type is NOT the same as its storage requirement.

IBM3310I W
First argument to BUILTIN name built-in should have string type.
Explanation:

To eliminate this message, apply the CHAR or BIT built-in function to the first argument.

 
 
   dcl i fixed bin;
   display( substr(i,4) );
 
IBM3311I W
Argument number to the BUILTIN name built-in function is missing. A null value will be passed for the missing argument.
Explanation:

An argument to the function reference is missing. A null string or zero will be passed, as appropriate, for the missing argument.

 
 
    %dcl a fixed;
 
    %a = max(n,);
 
IBM3311I W
LEAVE will exit noniterative DO-group.
Explanation:

This message is not produced if the LEAVE statement specifies a label. In the following loop, the LEAVE statement will cause only the immediately enclosing DO-group to be exited; the loop will not be exited.

 
 
   do i = 1 to n;
     if a(i) > 0 then
       do;
         call f;
         leave;
       end;
     else;
   end;
 
IBM3312I W
Result of comparison is always constant.
Explanation:

This message is produced when a variable is compared to a constant equal to the largest or smallest value that the variable could assume. In the following loop, the variable x can never be greater than 99, and hence the implied comparison executed each time through the loop will always result in a ’1’b.

 
 
   do x pic’99’;
 
   do x = 1 to 99;
   end;
 
IBM3320I W
RETURNS attribute in ENTRY declare ignored.
Explanation:

ENTRY declares should not specify a RETURNS attribute. In the example below, the "returns( char )" should be omitted.

 
 
   %dcl a entry returns( char );
 
IBM3321I W
RETURNS option assumed to enclose attribute in PROCEDURE statement.
Explanation:

In a PROCEDURE statement, any RETURNS attribute should be enclosed in parentheses following the RETURNS keyword. In the example below, the "char" attribute should be specified as "returns( char )".

 
 
   %a: proc char ;
     return( ’1729’ );
   %end;
 
IBM3322I W
Argument list for PROCEDURE identifier is missing. It will be invoked without any arguments.
Explanation:

References in open code to PROCEDUREs that have parameters should always include at least an empty argument list. For example, the "display( a )" below should be "display( a() )".

 
 
   %a: proc( x ) char ;
     dcl x char;
     return( ’1729’ );
   %end;
   %act a;
 
   display( a );
 
IBM3323I W
Too few arguments for PROCEDURE identifier. Null values will be passed for the missing arguments.
Explanation:

There are too few arguments for the specified procedure. Null strings or zeros will be passed, as appropriate, for the missing arguments.

 
 
   %a: proc( x ) char ;
     dcl x char;
     return( ’1729’ );
   %end;
   %act a;
 
   display( a() );
 
IBM3324I W
Too many arguments for PROCEDURE identifier. Excess ignored.
Explanation:

There are too many arguments for the specified procedure. The excess arguments will be ignored.

 
 
   %a: proc( x ) char ;
     dcl x char;
     return( ’1729’ );
   %end;
   %act a;
 
   display( a(1,2) );
 
IBM3325I W
No data attributes specified in declare for identifier.
Explanation:

Preprocessor variables should be declared with an attribute such as CHAR or FIXED. This message could indicate that there is an extraneous comma in the declare statement as in this example.

 
 
   %dcl a, char;
 
IBM3500I E
note
Explanation:

This message is used by %NOTE statements with a return code of 8.

IBM3510I E
keyword statement is not allowed where an executable statement is required. A null statement will be inserted before the keyword statement.
Explanation:

In certain contexts, for example after an IF-THEN clause, only executable statements are permitted. A DECLARE, DEFINE, DEFAULT or FORMAT statement has been found in one of these contexts. A null statement, (a statement consisting of only a semicolon) will be inserted before the offending statement.

IBM3511I E
COUNTER value would exceed 99999. It will be reset to 0.
Explanation:

The COUNTER built-in function should not be invoked more than 99999 times.

IBM3512I E
Multiple closure of groups is not allowed under RULES(NOMULTICLOSE).
Explanation:

Under RULES(NOMULTICLOSE), there should be no multiple closure of groups in your source program.

IBM3514I E
Second argument to BUILTIN name built-in is negative. It will be changed to 0.
Explanation:

The second argument to built-in functions such as COPY and REPEAT must be nonnegative.

 
 
    x = copy( y, -1 );
 
IBM3517I E
Sole bound specified for dimension dimension number of array variable name is less than 1. An upper bound of 1 is assumed.
Explanation:

The default lower bound is 1, but the upper bound must be greater than the lower bound.

 
 
    dcl x(-5) fixed bin;
 
IBM3519I E
Characters in B3 literals must be 0-7.
Explanation:

In a B3 literal, each character must be either 0-7.

IBM3522I E
A DECIMAL exponent is required.
Explanation:

An E in a FLOAT constant must be followed by at least one decimal digit (optionally preceded by a sign).

IBM3523I E
A second argument to the BUILTIN name built-in must be supplied for arrays with more than one dimension. A value of 1 is assumed.
Explanation:

The LBOUND, HBOUND, and DIMENSION built-in functions require two arguments when applied to arrays having more than one dimension.

 
 
    dcl a(5,10) fixed bin;
    do i = 1 to lbound(a);
 
IBM3524I E
Second argument to BUILTIN name built-in is not positive. A value of 1 is assumed.
Explanation:

The DIMENSION, HBOUND and LBOUND built-in functions require that the second argument be positive.

IBM3525I E
Second argument to BUILTIN name built-in is greater than the number of dimensions for the first argument. A value of dimension count is assumed.
Explanation:

The second argument to the LBOUND, HBOUND, and DIMENSION built-in functions must be no greater than the number of dimensions of their array arguments.

 
 
    dcl a(5,10) fixed bin;
    do i = 1 to lbound(a,3);
 
IBM3526I E
Repeated declaration of identifier is invalid and will be ignored.
Explanation:

Level 1 variable names must not be repeated in the same block.

 
 
    dcl a char, a fixed;
 
IBM3527I E
Missing THEN assumed.
Explanation:

THEN keyword must be part of any IF statement.

IBM3530I E
identifier is an array. ACTIVATE and DEACTIVATE are invalid for arrays.
Explanation:

Only scalars may be activated.

IBM3531I E
identifier is a statement label. ACTIVATE and DEACTIVATE are invalid for labels.
Explanation:

Labels may not be activated.

IBM3533I E
THEN clause outside of an open IF statement is ignored.
Explanation:

THEN clauses are valid only immediately after an IF <expression>.

 
 
    %if a > b; %then;
 
IBM3534I E
ELSE clause outside of an open IF-THEN statement is ignored.
Explanation:

ELSE clauses are valid only immediately after an IF-THEN statement.

 
 
    do; if a > b then; end; else a = 0;
 
IBM3536I E
END label is not a label on any open group.
Explanation:

A Label on END statement must match a LABEL on an open DO, PROCEDURE, or SELECT statement.

 
 
    a: do;
      ...
    end b;
 
IBM3537I E
An END statement may be missing after an OTHERWISE unit. One will be inserted.
Explanation:

After an OTHERWISE unit in a SELECT statement, only an END statement is valid.

 
 
    select;
      when ( ... )
        do;
        end;
      otherwise
        do;
        end;
    display( ... );
 
IBM3538I E
%END statement found without any open %PROCEDURE, %DO or %SELECT statements. It will be ignored.
Explanation:

Any %END statement should be part of a %PROCEDURE-%END, %DO-%END or %SELECT-%END group.

IBM3539I E
STRINGSIZE condition raised while evaluating expression. Result is truncated.
Explanation:

During the conversion of a user expression during the compilation, the target string was found to be shorter than the source, thus causing the STRINGSIZE condition to be raised.

IBM3540I E
STRINGRANGE condition raised while evaluating expression. Arguments are adjusted to fit.
Explanation:

If all the arguments in a SUBSTR reference are constants or restricted expressions, the reference will be evaluated at compile- time and the STRINGRANGE condition will occur if the arguments do not comply with the rules described for the SUBSTR built-in function.

 
 
    a = substr( ’abcdef’, 5, 4 );
 
IBM3542I E
LEAVE/ITERATE label is not a label on any open DO group.
Explanation:

LEAVE/ITERATE must specify a label on an open DO loop.

 
 
    %a: do jx = 1 to 1729;
      %leave b;
    %end;
 
IBM3543I E
ITERATE/LEAVE statement is invalid outside an open DO statement. The statement will be ignored.
Explanation:

ITERATE/LEAVE statements are valid only inside DO groups.

 
 
    %a: do jx = 1 to 1729;
    %end;
    %leave a;
 
IBM3544I E
GX literals should contain a multiple of 4 hex digits.
Explanation:

GX literals must represent graphic strings and hence must contain a multiple of 4 hex digits.

 
 
    x = ’00’gx;
 
IBM3545I E
Upper bound for dimension dimension number of array variable name is less than lower bound. Bounds will be reversed.
Explanation:

A variable has been declared with an upper bound that is less than its lower bound. The upper and lower bounds will be swapped in order to correct this. For example, DECLARE x(3:1) will be changed to DECLARE x(1:3).

IBM3546I E
Identifier is too long. It will be collapsed to identifier.
Explanation:

All identifiers must be contained in 31 bytes or less. PL/I DBCS identifiers must have 14 or fewer DBCS characters.

IBM3547I E
B assumed to complete iSUB.
Explanation:

There is no language element of the form 1su.

 
 
    dcl a(10) def b(1su, 1sub );
 
IBM3548I E
Digit in BINARY constant is not zero or one.
Explanation:

In a BINARY constant, each digit must be a zero or one.

IBM3549I E
Characters in BIT literals must be 0 or 1.
Explanation:

In a BIT literal, each character must be either zero or one.

IBM3550I E
Character with decimal value n does not belong to the PL/I character set. It will be ignored.
Explanation:

The indicated character is not part of the PL/I character set. This can occur if a program containing NOT or OR symbols is ported from another machine and those symbols are translated to a character that is not part of the PL/I character set. Using the NOT and OR compiler options can help avoid this problem.

IBM3551I E
Characters in hex literals must be 0-9 or A-F.
Explanation:

In a hex literal, each character must be either 0-9 or A-F.

IBM3552I E
The statement element character is invalid. The statement will be ignored.
Explanation:

The statement entered could not be parsed because the specified element is invalid.

IBM3553I E
Use of underscore as initial character in an identifier accepted although invalid under LANGLVL(SAA).
Explanation:

Under LANGLVL(SAA), identifiers must start with an alphabetic character or with one of the extralingual characters. They may not start with an underscore. Under LANGLVL(SAA2), identifiers may start with an underscore, although names starting with _IBM are reserved for use by IBM.

IBM3556I E
Character with decimal value n does not belong to the PL/I character set. It is assumed to be an OR symbol.
Explanation:

The indicated character is not part of the PL/I character set, but was immediately followed by the same character. This can occur if a program containing an OR symbol is ported from another machine and this symbol is translated to a character that is not part of the PL/I character set. Using the OR compiler option can help avoid this problem.

IBM3557I E
Character with decimal value n does not belong to the PL/I character set. It is assumed to be a NOT symbol.
Explanation:

The indicated character is not part of the PL/I character set, but was immediately followed by an =, < or > symbol. This can occur if a program containing a NOT symbol is ported from another machine and this symbol is translated to a character that is not part of the PL/I character set. Using the NOT compiler option can help avoid this problem.

IBM3565I E
Statement type resolution requires too many lexical units to be examined. The statement will be ignored.
Explanation:

To determine if a statement is an assignment or another PL/I statement, many elements of the statement may need to be examined. If too many have to be examined, the compiler will flag the statement as in error. For instance, the following statement could be a DECLARE until the equal sign is encountered by the lexer.

 
 
    dcl ( a, b, c ) = d;
 
IBM3567I E
Statements inside a SELECT must be preceded by a WHEN or an OTHERWISE clause.
Explanation:

A WHEN or OTHERWISE may be missing.

 
 
    select;
      i = i + 1;
      when ( a > 0 )
        ...
 
IBM3570I E
Extent expression is negative. It will be replaced by the constant 1.
Explanation:

Extents must be positive.

 
 
    dcl x char(-10);
 
IBM3580I E
Parameter keyword may not be set more than once. First setting is assumed.
Explanation:

In a statement-form procedure invocation, each parameter may be specified only once. Any subsequent specifications will be ignored. In the example code, 17 would be returned for both invocations of P.

 
 
    %p: proc( a ) stmt returns( char );
       dcl a char;
       return( a );
    %end;
    %act p;
 
    display( p a(17) a(29); );
 
    display( p(17) a(29); );
 
IBM3581I E
Unknown keyword in statement-form procedure invocation. keyword and any argument are ignored.
Explanation:

In a statement-form procedure invocation, any keyword specified must be the name of a parameter for that procedure.

 
 
    %p: proc( a ) stmt returns( char );
       dcl a char;
       return( a );
    %end;
    %act p;
 
    display( p a(17) b(29); );
 
IBM3582I E
Parameter identifier is not declared.
Explanation:

Each parameter in a procedure should be declared.

 
 
    %a: proc( b, c );
      dcl b fixed;
    %end;
 
IBM3583I E
Labels on keyword statements are invalid and ignored.
Explanation:

Labels are not permitted on DECLARE statements or on WHEN and OTHERWISE clauses.

IBM3589I E
The identifier identifier is not the name of a built-in function. The BUILTIN attribute will be ignored.
Explanation:

The BUILTIN attribute can be applied only to identifiers that are the names of built-in functions or subroutines.

IBM3590I E
The attribute keyword is not supported and will be ignored.
Explanation:

The named attribute is not supported by the macro facility.

 
 
    %dcl a char external;
 
IBM3591I E
Right parenthesis will be assumed at end of argument list.
Explanation:

A right parenthesis is probably missing. If this occurs in the source, all the characters after the unmatched left parenthesis in the source will be interpreted as parameters to the function. If this occurs in a replacement string, all the characters after the unmatched left parenthesis in the string will be interpreted as parameters to the function.

IBM3603I E
The end of the source was reached before the logical end of the program. Null statements and END statements will be inserted as necessary to complete the program.
Explanation:

The source should contain END statements for all PROCEDUREs, DO groups, and SELECT statements, as well as statements for all IF-THEN and ELSE clauses.

IBM3604I E
The procedure name proc-name has already been declared. The explicit declaration of the procedure name will not be accepted.
Explanation:

Declarations for internal procedures are not permitted.

 
 
    a: proc;
      dcl b entry options(byvalue);
      b: proc;
 
IBM3609I E
A SELECT statement may be missing. A SELECT statement, without an expression, will be inserted.
Explanation:

A WHEN or OTHERWISE clause has been found outside of a SELECT statement.

IBM3610I E
Semicolon inserted after ELSE keyword.
Explanation:

An END statement enclosing a statement such as DO or SELECT has been found before the statement required after ELSE.

 
 
    do;
      if a > b then
        ...
      else
    end;
 
IBM3612I E
Semicolon inserted after OTHERWISE keyword.
Explanation:

An END statement may be misplaced or a semicolon may be missing.

IBM3613I E
Semicolon inserted after THEN keyword.
Explanation:

An END statement may be misplaced or a semicolon may be missing.

IBM3614I E
Semicolon inserted after WHEN clause.
Explanation:

An END statement may be misplaced or a semicolon may be missing.

IBM3615I E
Source file does not end with the logical end of the program.
Explanation:

The source file contains statements after the END statement that closed the first PACKAGE or PROCEDURE. These statements will be ignored, but their presence may indicate a programming error.

IBM3616I E
Subscripts have been specified for the variable variable name, but it is not an array variable.
Explanation:

Subscripts can be specified only for elements of an array.

IBM3617I E
Second argument in SUBSTR reference is less than 1. It will be replaced by 1.
Explanation:

Otherwise the STRINGRANGE condition would be raised.

IBM3618I E
Second argument in SUBSTR reference is too big. It will be trimmed to fit.
Explanation:

Otherwise the STRINGRANGE condition would be raised.

IBM3619I E
Third argument in SUBSTR reference is less than 0. It will be replaced by 0.
Explanation:

Otherwise the STRINGRANGE condition would be raised.

IBM3620I E
Third argument in SUBSTR reference is too big. It will be trimmed to fit.
Explanation:

Otherwise the STRINGRANGE condition would be raised.

IBM3621I E
More than 15 dimensions have been specified. Excess will be ignored.
Explanation:

The maximum number of dimensions allowed for a variable, including all inherited dimensions, is 15.

IBM3624I E
End-of-comment marker found when there are no open comments. Marker will be ignored.
Explanation:

An */ was found when there was no open comment.

IBM3625I E
There is no compiler directive directive. Input up to the next semicolon will be ignored.
Explanation:

See the Language Reference Manual for the list of supported compiler directives.

IBM3626I E
Listing control statement must start with a percent symbol.
Explanation:

A listing control statement, even when in a preprocessor procedure, must be preceded by a "%".

 
 
    %a: proc;
      skip;
    %end;
 
IBM3628I E
X literals should contain a multiple of 2 hex digits.
Explanation:

An X literal may not contain an odd number of digits.

IBM3638I E
Excess arguments for ENTRY ENTRY name ignored.
Explanation:

More arguments were specified in an ENTRY reference than were defined as parameters in that ENTRY’s declaration.

 
 
    dcl e entry( fixed bin );
    call e( 1, 2 );
 
IBM3639I E
Excess arguments for BUILTIN name built-in ignored.
Explanation:

More arguments were specified for the indicated built-in function than are supported by that built-in function.

 
 
    i = acos( j, k );
 
IBM3650I E
keyword keyword accepted although invalid under LANGLVL(SAA).
Explanation:

The indicated keyword (UNSIGNED in the example below) is not defined in the SAA level-1 language.

 
 
    dcl x fixed bin unsigned;
 
IBM3651I E
Use of S, D and Q constants accepted although invalid under LANGLVL(SAA).
Explanation:

The definition of the SAA level-1 language does not include S, D, and Q floating-point constants.

IBM3652I E
Use of underscores in constants accepted although invalid under LANGLVL(SAA).
Explanation:

The definition of the SAA level-1 language does not permit using underscores in numeric and hex constants.

IBM3653I E
Use of asterisks for names in declares accepted although invalid under LANGLVL(SAA).
Explanation:

The definition of the SAA level-1 language does not permit using asterisks for structure element names.

IBM3654I E
Use of XN constants accepted although invalid under LANGLVL(SAA).
Explanation:

The definition of the SAA level-1 language does not include XN constants.

IBM3656I E
Use of 3 arguments with BUILTIN name built-in accepted although invalid under LANGLVL(SAA).
Explanation:

Under LANGLVL(SAA), the VERIFY and INDEX built-in functions are supposed to have exactly 2 arguments.

 
 
     i = verify( s, j, k );
 
IBM3657I E
Use of 1 argument with BUILTIN name built-in accepted although invalid under LANGLVL(SAA).
Explanation:

Under LANGLVL(SAA), the DIM, LBOUND and HBOUND built-in functions are supposed to have 2 arguments.

 
 
     i = dim( a );
 
IBM3750I S
note
Explanation:

This message is used by %NOTE statements with a return code of 12.

IBM3760I S
Too few arguments have been specified for the ENTRY ENTRY name.
Explanation:

The number of arguments must match the number of parameters in the ENTRY declaration.

IBM3761I S
Procedures may not be nested.
Explanation:

Macro procedures may not be nested.

IBM3762I S
No percent statements are allowed inside procedures.
Explanation:

Inside a procedure, statements should not begin with a percent. The %DCL in the example below should be just DCL.

 
 
     %a: proc( x ) returns( char );
       %dcl x char;
       return( ’<’ || x || ’>’ );
     %end;
 
IBM3763I S
Not enough virtual memory is available to continue the compile.
Explanation:

The compilation requires more virtual memory than is available. It may help to specify one or more of the following compiler options: NOTEST, NOXREF, NOATTRIBUTES, and/or NOAGGREGATE

IBM3764I S
BUILTIN name argument must be a parameter.
Explanation:

An expression contains the named built-in function with an argument that is not a parameter.

IBM3765I S
BUILTIN name argument must be a reference.
Explanation:

An expression contains the named built-in function with an argument that is not a reference.

IBM3768I S
The use of asterisks as subscripts is not permitted in the macro facility.
Explanation:

In the macro facility, all subscripts must be scalar expressions.

IBM3769I S
Argument to BUILTIN name built-in must have type CHARACTER(1) NONVARYING.
Explanation:

This applies to the RANK built-in function.

IBM3770I S
First argument to BUILTIN name built-in must be an array.
Explanation:

An expression contains the named built-in function with a first argument that is not an array. This message applies, for instance, to the DIMENSION, HBOUND, and LBOUND built-in functions.

IBM3772I S
Third argument to BUILTIN name built-in would force STRINGRANGE.
Explanation:

If a third argument is given for one of the built-in functions INDEX or VERIFY, it must be positive.

IBM3773I S
Second argument to BUILTIN name built-in must be nonnegative.
Explanation:

The second argument for the built-in functions CHARACTER, BIT, and GRAPHIC must be zero or greater.

IBM3774I S
Too few arguments have been specified for the BUILTIN name built-in.
Explanation:

Supply the minimum number of arguments required.

IBM3778I S
Syntax of the %INCLUDE statement is incorrect.
Explanation:

%INCLUDE must be followed by a name and either a semicolon or else a second name in parenthesis and then a semicolon.

IBM3779I S
File specification after %INCLUDE is too long.
Explanation:

The maximum length of the file specification is 8 characters.

IBM3780I S
File specification missing after %INCLUDE.
Explanation:

%INCLUDE must be followed by a file name, not just a semicolon.

IBM3781I S
Procedures may have no more than 63 parameters.
Explanation:

The excess parameters will be removed from the proc statement.

IBM3789I S
Index number index number into the variable variable name is less than the lower bound for that dimension.
Explanation:

Executing such a statement would most likely cause a protection exception.

 
 
    %dcl a(5:10)  fixed;
 
    %a(1) = 0;
 
IBM3790I S
Index number index number into the variable variable name is greater than the upper bound for that dimension.
Explanation:

Executing such a statement would most likely cause a protection exception.

 
 
    %dcl a(5:10)  fixed;
 
    %a(20) = 0;
 
IBM3791I S
Each dimension of an array must contain no more than 2147483647 elements.
Explanation:

It must be possible to compute the value of the DIMENSION built-in function for an array. In DECLARE x(x:y), ( y-x+1) must be less than 214748648.

IBM3792I S
Array variable name has too many elements. Bounds set to 1.
Explanation:

Arrays are limited to 2**20 elements.

IBM3793I S
Too few subscripts specified for the variable variable name.
Explanation:

The number of subscripts given for a variable must match that variable’s number of dimensions

IBM3794I S
Too many subscripts specified for the variable variable name.
Explanation:

The number of subscripts given for a variable must match that variable’s number of dimensions

IBM3796I S
Array expressions cannot be assigned to non-arrays, and if any target in a multiple assignment is an array, then all the targets must arrays.
Explanation:

Array expressions may not, for instance, be assigned to structures or scalars.

IBM3797I S
RETURN statement without an expression is invalid inside a PROCEDURE that specified the RETURNS attribute.
Explanation:

All RETURN statements inside functions must specify a value to be returned.

 
 
    %a: proc returns( fixed );
 
      return;
    %end;
IBM3798I S
RETURN statement with an expression is invalid inside a PROCEDURE that did not specify the RETURNS attribute.
Explanation:

A statement of the form RETURN(x) is valid inside only PROCEDUREs that are defined with a RETURNS attribute.

 
 
    %a: proc;
 
      return( ’this is invalid’ );
    %end;
IBM3800I S
Function function name contains no RETURN statement.
Explanation:

Functions must contain at least one RETURN statement.

IBM3801I S
Target in assignment is invalid.
Explanation:

The target in an assignment must be character or fixed element reference. Pseudovariables are not supported.

IBM3802I S
Statement labels may not be used in expressions.
Explanation:

Statement labels may be used only in GOTO, LEAVE and ITERATE statements.

IBM3803I S
Target in concatenate-equals assignment must have type char.
Explanation:

Compound concatenate assignments with fixed targets are not supported.

 
 
    %dcl a fixed;
 
    %a = ’0’;
    %a ||= ’1’;
 
IBM3804I S
Target in arithmetic-equals assignment must have type fixed.
Explanation:

Compound arithmetic assignments with character targets are not supported.

 
 
    %dcl a char;
 
    %a = ’0’;
    %a += ’1’;
 
IBM3811I S
Expression contains too many nested subexpressions.
Explanation:

The compiler’s space for evaluating expressions has been exhausted. Rewrite the expression in terms of simpler expressions.

IBM3812I S
Result of concatenating a string of length string length to a string of length string length would produce a string that is too long.
Explanation:

The result of a concatenation must not have a length greater than the maximum allowed for a string.

IBM3813I S
Result of BUILTIN name applied repetition value times to a string of length string length would produce a string that is too long.
Explanation:

The result of COPY and REPEAT must not have a length greater than the maximum allowed for a string.

IBM3814I S
Unsupported use of aggregate expression.
Explanation:

The only valid aggregate expression is the use of an array name as the first argument to the HBOUND or LBOUND built-in functions.

IBM3815I S
Operand in bit operation must have length less than 32768.
Explanation:

Bit operations are limited to strings of length 32767 or less.

IBM3816I S
Second and third arguments to the TRANSLATE built-in function must have length less than 32768.
Explanation:

The TRANSLATE built-in function is not supported if the second or third argument is longer than 32767 characters.

IBM3817I S
Result of BUILTIN name would exceed maximum string length.
Explanation:

The result of a COMMENT or QUOTE built-in function must not be a string that would have length greater than the supported maximum.

IBM3820I S
Under the INCONLY option, the use of INCLUDE or XINCLUDE as a macro procedure name is invalid unless the colon follows immediately after the name.
Explanation:

If you must use INCLUDE or XINCLUDE as a macro name, put the colon on the same line as the name.

IBM3821I S
Under the INCONLY option, the use of INCLUDE or XINCLUDE as a macro statement label is invalid unless the colon follows immediately after the name.
Explanation:

If you must use INCLUDE or XINCLUDE as a macro statement label, put the colon on the same line as the name.

IBM3822I S
Under the INCONLY option, the use of INCLUDE or XINCLUDE as a macro variable that is the target of an assignment is invalid unless the equals sign follows immediately after the name.
Explanation:

If you must use INCLUDE or XINCLUDE as a macro variable name, put the equals sign in the assignment on the same line as the name. For example, change the first assignment below into the second.

 
 
    %xinclude
      = 17;
 
    %xinclude = 17;
IBM3837I S
GOTO target is inside a (different) DO loop.
Explanation:

The target of a GOTO cannot be inside a DO loop unless the GOTO itself is in the same DO loop.

IBM3841I S
The INCLUDE file include-file-name could not be opened.
Explanation:

The INCLUDE file could not be found, or if found, it could not be opened.

IBM3842I S
Statements are nested too deep.
Explanation:

The nesting of PROCEDURE, DO, SELECT and similar statements is greater than that supported by the compiler. Rewrite the program so that it is less complicated.

IBM3844I S
The function name built-in is not supported.
Explanation:

Support for the indicated built-in function has been discontinued.

IBM3846I S
The keyword statement is not supported.
Explanation:

Support for the indicated statement has been discontinued.

IBM3848I S
Use of iSUB is not supported.
Explanation:

iSUB is only supported in syntax checking.

IBM3853I S
Nesting of DO statements exceeds the maximum.
Explanation:

DO statements can be nested only 100 deep. Simplify the program.

IBM3854I S
Nesting of IF statements exceeds the maximum.
Explanation:

IF statements can be nested only 100 deep. Simplify the program.

IBM3855I S
Nesting of SELECT statements exceeds the maximum.
Explanation:

SELECT statements can be nested only 50 deep. Simplify the program.

IBM3856I S
Nesting of blocks exceeds the maximum.
Explanation:

Blocks may be nested only 30 deep.

IBM3870I S
The fetch of the CICS backend failed.
Explanation:

Check that the CICS modules are accessible, otherwise report this error to IBM.

IBM3871I S
The CICS backend reported an internal error while attempting to perform its initialization.
Explanation:

Report this error to IBM.

IBM3872I S
The CICS backend reported an internal error while attempting to parse its options.
Explanation:

Report this error to IBM.

IBM3873I S
The CICS backend reported an internal error while attempting to build and emit the local declares.
Explanation:

Report this error to IBM.

IBM3874I S
The CICS backend reported an internal error while attempting to translate an EXEC statement.
Explanation:

Report this error to IBM.

IBM3875I S
The CICS backend reported an internal error while attempting to translate a CICS macro (such as DFHVALUE).
Explanation:

Report this error to IBM.

IBM3876I S
The CICS backend reported an internal error while attempting to perform its termination.
Explanation:

Report this error to IBM.

IBM3909I S
The attribute attribute conflicts with the attribute attribute.
Explanation:

The named attributes, for example PARAMETER and INITIAL, are mutually exclusive.

IBM3911I S
The statement label character has already been declared.
Explanation:

All statement labels in any block must be unique.

IBM3914I S
GOTO target must be a LABEL reference.
Explanation:

x in GOTO x must have type LABEL. x must not have type FORMAT.

IBM3915I S
GOTO target must be a scalar.
Explanation:

x in GOTO x must not be an array.

IBM3916I S
The procedure proc-name has already been defined.
Explanation:

Sister procedures must have different names.

 
 
    % b: proc;
    % end;
    % b: proc;
    % end;
 
IBM3917I S
Program contains no valid source lines.
Explanation:

The source contains either no statements or all statements that it contains are invalid.

IBM3920I S
FIXED BINARY constant contains too many digits.
Explanation:

A FIXED BINARY constant must contain 31 or fewer digits.

IBM3921I S
FIXED DECIMAL constant contains too many significant digits.
Explanation:

The maximum precision of FIXED DECIMAL constants is set by the FIXEDDEC suboption of the LIMITS compiler option.

IBM3922I S
Exponent in FLOAT BINARY constant contains more digits than the implementation maximum.
Explanation:

The exponent in a FLOAT BINARY constant may contain no more than 5 digits.

IBM3923I S
Mantissa in FLOAT BINARY constant contains more significant digits than the implementation maximum.
Explanation:

The mantissa in a FLOAT BINARY constant may contain no more than 64 digits.

IBM3924I S
Exponent in FLOAT DECIMAL constant contains more digits than the implementation maximum.
Explanation:

The exponent in a FLOAT BINARY constant may contain no more than 4 digits.

IBM3925I S
Mantissa in FLOAT DECIMAL constant contains more significant digits than the implementation maximum.
Explanation:

The mantissa in a FLOAT BINARY constant may contain no more than 18 digits.

IBM3926I S
Constants must not exceed 30720 bytes.
Explanation:

The number of bytes used to represent a constant in your program must not exceed 30720. This limit holds even for bit strings where the internal representation will consume only one-eighth the number of bytes as the external representation does.

IBM3927I S
Numeric constants must be real, unscaled and fixed.
Explanation:

Any complex, scaled or floating point constant will be converted to an integer value.

 
 
     %a = 3.1415;
 
IBM3928I S
Only B, BX and X string suffixes are supported.
Explanation:

G, GX, M, A and E string suffixes are not supported.

 
 
     %a = ’31’e;
 
IBM3930I S
Invalid syntax in statement-form of procedure invocation. Text up to next semicolon will be ignored.
Explanation:

In the invocation of a statement-form procedure, all characters that are not part of comments or key names should be enclosed in parentheses following one of the keys. For example, the "+" in the display statement below should not be present.

 
 
     %a: proc( x ) stmt returns( char );
       dcl x char;
       return( 1729 );
     %end;
     %act a;
 
     display( a + x(5); );
 
IBM3931I S
Under the FIXED(DEC) option, decimal constants must have no more than 5 digits.
Explanation:

Under the FIXED(BIN), decimal constants that represent any valid FIXED BIN(31) number are supported.

IBM3943I S
The number of error messages allowed by the FLAG option has been exceeded.
Explanation:

Compilation will terminate when the number of messages has exceeded the limit set in the FLAG compiler option.

IBM3948I S
condition-name condition with ONCODE=oncode-value raised while evaluating expression.
Explanation:

Evaluation of an expression raised the named condition.

 
 
    %a = a / 0;
 
IBM3949I S
Parameter name identifier appears more than once in parameter list.
Explanation:

Each identifier in a parameter list must be unique.

 
 
    a: proc( b, c, b );
 
IBM3956I S
ITERATE is valid only for iterative DO-groups.
Explanation:

ITERATE is not valid inside type-I do groups.

IBM3957I S
RETURN statement outside of a PROCEDURE is invalid.
Explanation:

RETURN statements are valid only inside procedures.

IBM3958I S
INCLUDE statement inside of a PROCEDURE is invalid.
Explanation:

INCLUDE statements are permitted only outside any preprocessor procedures.

 
 
    %a: proc;
       include sample;
    %end;
 
IBM3959I S
Length of parameter exceeds 32767 bytes.
Explanation:

Parameters to macro procedures must be no longer than 32767 bytes.

IBM3960I S
End-of-source has been encountered after an unmatched comment marker.
Explanation:

An end-of-comment marker is probably missing.

IBM3961I S
End-of-source has been encountered after an unmatched quote.
Explanation:

A closing quote is probably missing.

IBM3962I S
Replacement value contains no end-of-comment delimiter. A comment delimiter will be assumed at the end of the replacement value.
Explanation:

An end-of-comment marker is probably missing.

IBM3963I S
Replacement value contains no end-of-string delimiter. A string delimiter will be assumed at the end of the replacement value.
Explanation:

A closing quote is probably missing.

IBM3964I S
ANSWER statement outside of a PROCEDURE is invalid.
Explanation:

ANSWER statements are valid only inside procedures.

IBM3965I S
ANSWER statement inside of a PROCEDURE with RETURNS is invalid.
Explanation:

ANSWER statements are not valid inside functions.

 
 
    %a: proc returns( char );
      answer( ’this is invalid’ );
      return( ’this is ok however’ );
    %end;
 
    %b: proc;
      answer( ’this is valid’ );
    %end;
 
IBM3966I S
Source has caused too many rescans.
Explanation:

A rescan of a replacement string or a rescan of a string returned by a preprocessor has caused further replacement leading to another rescan etc., and the maximum depth of rescanning was exceeded.

For instance, the following macro, which is meant to count the number of dcl statements in a compilation, would produce this message. If the %ACTIVATE statement specified NORESCAN, it would work correctly.

 
 
    %dcl dcl_Count fixed;
    %dcl_Count = 0;
 
    %dcl: proc returns( char );
       dcl_count = dcl_count + 1;
       return( ’dcl’ );
    %end;
 
    %activate dcl;
 
IBM3974I S
Every shift-in character after the left margin of a source line must have a matching shift-out character before the right margin of the same line.
Explanation:

DBCS shift codes must be paired.

IBM3975I S
Every shift-in character within a string generated for rescan must have a matching shift-out character within that same string.
Explanation:

DBCS shift codes must be paired.

IBM3976I S
DBCS characters are allowed only in G and M constants.
Explanation:

Hex strings (strings ending in one of the suffixes X, BX, B4, GX or XN), bit strings, (strings ending in the suffix B), and character strings not ending in the suffix M must contain only SBCS characters.

IBM3977I S
SBCS characters are not allowed in G constants.
Explanation:

Mixed SBCS and DBCS is allowed only in M constants.

IBM3978I S
Invalid use of SBCS encoded as DBCS.
Explanation:

Outside of comments, SBCS can be encoded as DBCS only as part of an identifier.

IBM3980I S
Recursion of procedures is not allowed.
Explanation:

A procedure must not invoke itself directly or indirectly.

IBM3981I S
BUILTIN function may not be used outside a procedure.
Explanation:

The named built-in function may be used only inside procedures.

IBM3982I S
Procedure procedure-name is undefined and cannot be invoked.
Explanation:

A procedure must be defined (correctly) before it can be invoked.

IBM3983I S
Premature end-of-source in scan.
Explanation:

The source ended during a scan when a right parenthesis or semicolon was required.

 
 
    %a: proc() stmt returns( char );
      return( ’1729’ );
    %end;
    %dcl a entry;
 
    a /* and no more source follows */
 
IBM3984I S
File filename could not be opened.
Explanation:

The named source file could not be opened. Make sure that the file is named correctly, that it exists and that it is readable.

IBM3997I S
Internal preprocessor error: no WHEN clause satisfied within module name
Explanation:

This message indicates that there is an error in the macro preprocessor. Please report the problem to IBM.

IBM3998I S
Internal preprocessor error: protection exception in module name
Explanation:

This message indicates that there is an error in the front end of the compiler. Please report the problem to IBM.

IBM3999I U
note
Explanation:

This message is used by %NOTE statements with a return code of 16.


Terms of use | Feedback

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