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

MACRO, CICS, and SQL Preprocessor Messages (3000-3999)

IBM3000I I
note
Explanation:

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

IBM3019I I
Program contains no EXEC SQL statements requiring translation.
Explanation:

The SQL suboption has been specified for the PP option, but the program contains no EXEC SQL statements other than possibly EXEC SQL INCLUDE statements. The DBRMLIB will not be updated.

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.

IBM3024I I
note
Explanation:

This message is used to report DB2 backend messages with a return code of 0.

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 attribute 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;
 
IBM3259I W
note
Explanation:

This message is used to report DB2 backend messages with a return code of 4.

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.

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,);
 
IBM3312I 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;
 
IBM3313I 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;
 
IBM3314I W
The reference reference could refer to a parent or its child, but the child is assumed.
Explanation:

For a structure named X with first child named X, a reference to X would by PL/I rules be resolved to the parent. But references to structures containing structures are invalid in SQL statements and so the reference is assumed to refer to the child. The reference should be changed from X to X.X.

IBM3315I W
The reference reference is an array of structures. Arrays of structures are not valid in SQL statements, but because this structure consists of only one element, the reference is treated as if it were a reference to its lone child.
Explanation:

If a dimensioned structure named A consists of just one child B, a reference to A is treated as a reference to A.B.

IBM3316I W
The reference reference is a structure containing an array. Structures containing arrays are not valid in SQL statements, but because this structure consists of only one element, the reference is treated as if it were a reference to its lone child.
Explanation:

If a structure named A consists of just one child B and B is an array, a reference to A is treated as a reference to A.B.

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.

IBM3501I E
note
Explanation:

This message is used to report DB2 backend messages with a return code of 8.

IBM3502I E
An integer with a K suffix must have no more than 7 digits.
Explanation:

An integer of the form dddK must have no more than 7 digits. The specified value is replaced by 1K.

IBM3503I E
In an integer with a K suffix, the digits must specify a value less than or equal to 2097152.
Explanation:

The largest accepted value for an integer with a K suffix is 2097152K. The specified value is replaced by 2097151K.

IBM3504I E
An integer with an M suffix must have no more than 4 digits.
Explanation:

An integer of the form dddM must have no more than 4 digits. The specified value is replaced by 1M.

IBM3505I E
In an integer with an M suffix the digits must specify a value less than or equal to 2048.
Explanation:

The largest accepted value for an integer with an M suffix is 2048M. The specified value is replaced by 2047M.

IBM3506I E
An integer with a G suffix must have only 1 digit.
Explanation:

An integer of the form dddG must have no more than 1 digit. The specified value is replaced by 1G.

IBM3507I E
In an integer with an G suffix, the digits must specify a value less than or equal to 2.
Explanation:

The largest accepted value for an integer with an G suffix is 2G. The specified value is replaced by 1G.

IBM3508I E
Numeric precision of 0 replaced by 1.
Explanation:

Numeric precisions must be positive.

IBM3509I E
DECLARE statement has invalid syntax. No variables in it may be used in EXEC SQL statements.
Explanation:

Fix the DECLARE statement so that it is syntactically correct.

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 );
 
IBM3515I E
Scale factor is bigger than 127. It is replaced by 127.
Explanation:

Scale factors must be between -128 and 127 inclusive.

IBM3516I E
Scale factor is less than -128. It is replaced by -128.
Explanation:

Scale factors must be between -128 and 127 inclusive.

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;
 
IBM3518I E
identifier does not conform to the NAMEPREFIX option.
Explanation:

If the NAMEPREFIX option is specified, the names of all macro variables and procedures must start with the character specified in that option.

IBM3519I E
Characters in B3 literals must be 0-7.
Explanation:

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

IBM3520I E
Structure level of 0 replaced by 1.
Explanation:

Structure level numbers must be positive.

IBM3521I E
Structure level greater than 255 specified. It is replaced by 255.
Explanation:

The maximum structure level supported is 255.

 
 
    dcl
      1 a,
        256 b,
        2 c,
 
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.

IBM3528I E
Duplicate specification of arithmetic precision. Subsequent specification ignored.
Explanation:

The precision attribute must be specified only once in a DECLARE statement.

 
 
    dcl a fixed(15) bin(31);
 
IBM3529I E
Scale factors are not allowed in FLOAT declarations.
Explanation:

Scale factors are valid only in declarations of FIXED BIN or FiXED DEC. The first declaration below is invalid and should be changed to one of the subsequent declarations.

 
 
    dcl a1 float dec(15,2);
 
    dcl a2 fixed dec(15,2);
    dcl a3 float dec(15);
 
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.

IBM3558I E
WX literals should contain a multiple of 4 hex digits.
Explanation:

WX literals must represent unicode strings and hence must contain a multiple of 4 hex digits.

 
 
    x = ’00’wx;
 
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 might 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);
 
IBM3571I E
The SQL and PL/I float options are inconsistent.
Explanation:

The compiler option DEFAULT(IEEE | HEXADEC) does not match the SQL preprocessor option FLOAT(IEEE | S390). Make sure they are consistent and resubmit your job.

IBM3572I E
Initial level number in a structure is not one.
Explanation:

The level-1 DECLARE statement might be missing.

 
 
    dcl
      2 a,
        3 b,
        3 c,
 
IBM3573I E
Elements with level numbers greater than one follow an element without a level number. A level number of 1 is assumed.
Explanation:

A structure level is probably missing.

 
 
    dcl
        a,
        2 b,
        2 c,
 
IBM3574I E
Variables declared without a name must be structure members or followed by a substructure list.
Explanation:

The use of an asterisk in place of a name is permitted only for structure or union names, or for members of structures or unions. An asterisk must not be used for a level-1 structure name that specifies the LIKE attribute.

 
 
    dcl a fixed bin(15), 
    * char(20) static init(’who can use me’);
 
IBM3575I E
Duplicate specification of attribute. Subsequent specification ignored.
Explanation:

Attributes such as CHAR must not be repeated for an element of a DECLARE statement.

 
 
    dcl a char(10) char(20);
 
IBM3576I E
The SQL statement is empty and is ignored.
Explanation:

EXEC SQL statements must consist of more than merely EXEC SQL.

IBM3577I E
INCONLY option is ignored because preceded by other options.
Explanation:

The INCONLY option must be specified without any other options.

IBM3580I E
Parameter keyword may not be set more than once. First setting is assumed.
Explanation:

In a statement-form procedure invocation, each parameter must 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 might be misplaced or a semicolon might be missing.

IBM3613I E
Semicolon inserted after THEN keyword.
Explanation:

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

IBM3614I E
Semicolon inserted after WHEN clause.
Explanation:

An END statement might be misplaced or a semicolon might 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 );
 
IBM3640I E
The attribute attribute is invalid if it is not followed by an element with a greater logical level.
Explanation:

The named attribute is valid only on parent structures.

 
 
    dcl
      1 a,
        2 b union,
          2 c1  fixed bin(31),
          2 c2  float bin(21),
        ...
 
IBM3641I E
Level number following LIKE specification is greater than the level number for the LIKE specification. LIKE attribute is ignored.
Explanation:

LIKE cannot be specified on a parent structure or union.

 
 
    dcl
      1 a like x,
        2 b,
        2 c,
 
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 );
 
IBM3658I E
The INCLUDE file filename has been deprecated.
Explanation:

The named INCLUDE file was specifed in the INCLUDE suboption of the DEPRECATE option, and so any attempt to include it is flagged.

IBM3750I S
note
Explanation:

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

IBM3751I S
A colon in an EXEC SQL statement must be followed by an identifier that starts a host variable reference.
Explanation:

A colon in an EXEC SQL statement must be followed by a host variable reference, and such a reference must start with an identifier.

IBM3752I S
Dot-qualified reference implies too many structure levels.
Explanation:

Structures are limited to at most 15 logical levels, and so any dot-qualified reference must have at most 14 dots (or else it would imply the structure had at least 16 logical levels).

IBM3753I S
Length in SQL TYPE IS type name is too large.
Explanation:

The maximum length for BIN is 255 and for VARBINARY 32704. See the Programming Guide for the maximum lengths for BLOBs, CLOBs, and DBCLOBs.

IBM3754I S
SQL TYPE IS type name must be followed by an opening left parenthesis.
Explanation:

The correct syntax is SQL TYPE IS type( length ).

IBM3755I S
SQL TYPE IS type name must have an integer specifying its length after the opening left parenthesis
Explanation:

The correct syntax is SQL TYPE IS type( length ).

IBM3756I S
SQL TYPE IS type name must have a closing right parenthesis after the integer specifying its length.
Explanation:

The correct syntax is SQL TYPE IS type( length ).

IBM3757I S
SQL TYPE IS XML AS type name must be followed by an opening left parenthesis.
Explanation:

The correct syntax is SQL TYPE IS XML AS type( length ).

IBM3758I S
SQL TYPE IS XML AS type name must have an integer specifying its length after the opening left parenthesis
Explanation:

The correct syntax is SQL TYPE IS XML AS type( length ).

IBM3759I S
SQL TYPE IS XML AS type name must have a closing right parenthesis after the integer specifying its length.
Explanation:

The correct syntax is SQL TYPE IS XML AS type( length ).

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: NOINSOURCE, 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.

IBM3766I S
Aggregate contains more than 15 logical levels.
Explanation:

The maximum physical level allowed is 255, but the maximum logical level is 15.

IBM3767I S
Length in SQL TYPE IS type name must be greater than zero.
Explanation:

The length in BIN, VARBIN, BLOB, CLOB, and DBCLOB types must be positive.

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.

IBM3771I S
note
Explanation:

This message is used to report DB2 backend messages with a return code of 12.

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.

IBM3782I S
SQL TYPE IS XML must be followed by the keyword AS.
Explanation:

The correct syntax is SQL TYPE IS XML AS type( length ).

IBM3783I S
SQL TYPE IS XML AS must be followed by a valid type name.
Explanation:

The correct syntax is SQL TYPE IS XML AS type( length ).

IBM3784I S
SQL TYPE IS TABLE must be followed by the keyword LIKE.
Explanation:

The correct syntax is SQL TYPE IS TABLE LIKE table-name AS LOCATOR.

IBM3785I S
SQL TYPE IS TABLE LIKE must be followed by a table name.
Explanation:

The correct syntax is SQL TYPE IS TABLE LIKE table-name AS LOCATOR.

IBM3786I S
SQL TYPE IS TABLE LIKE must be followed by the keyword AS after the table name.
Explanation:

The correct syntax is SQL TYPE IS TABLE LIKE table-name AS LOCATOR.

IBM3787I S
SQL TYPE IS TABLE must be followed by the keyword LOCATOR after the table name and the AS keyword.
Explanation:

The correct syntax is SQL TYPE IS TABLE LIKE table-name AS LOCATOR.

IBM3788I S
SQL TYPE IS must be followed by a valid type name.
Explanation:

The keywords SQL TYPE IS must be followed by a type name such as XML.

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. For example, in DECLARE A(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

IBM3795I S
Shift-out code has no closing shift-in code before the right margin.
Explanation:

Every DBCS shift-out code between the margins must have a matching DBCS shift-in code between the margins.

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;
IBM3799I S
The DECLARE statement for the host variable reference is not inside an SQL DECLARE SECTION.
Explanation:

Under the SQL option STDSQL(YES), all host variables must be declared between SQL BEGIN DECLARE SECTION and SQL END DECLARE SECTION statements.

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 must 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’;
 
IBM3805I S
SQL TYPE IS XML type must be followed by the keyword LARGE.
Explanation:

The correct syntax is SQL TYPE IS XML AS type LARGE OBJECT( length ).

IBM3806I S
SQL TYPE IS XML type LARGE must be followed by the keyword OBJECT.
Explanation:

The correct syntax is SQL TYPE IS XML AS type LARGE OBJECT( length ).

IBM3807I S
SQL TYPE IS CHARACTER must be followed by the keyword LARGE.
Explanation:

The correct syntax is SQL TYPE IS CHARACTER LARGE OBJECT( length ).

IBM3808I S
SQL TYPE IS BINARY must be followed by the keyword LARGE or by a length enclosed in parentheses.
Explanation:

The correct syntax is SQL TYPE IS BINARY LARGE OBJECT( length ) or SQL TYPE IS BINARY( length ).

IBM3809I S
SQL TYPE IS type LARGE must be followed by the keyword OBJECT.
Explanation:

The correct syntax is SQL TYPE IS type LARGE OBJECT( length ).

IBM3810I S
Statement has too many labels.
Explanation:

The compiler’s limit on the number of labels on a statement has been exceeded. Reduce the number of labels on the statement.

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 must 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.

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

Report this error to IBM.

IBM3880I S
The reference reference could not be resolved.
Explanation:

All SQL host variables must be declared within the current block scope.

IBM3881I S
The reference reference is ambiguous.
Explanation:

All SQL host variables must be unambiguous. This can be fixed by supplying enough structure qualification.

IBM3882I S
The indicator array reference must have only one dimension.
Explanation:

An indicator array in an EXEC SQL statement must not be multi-dimensional.

IBM3883I S
The indicator array reference must have constant bounds.
Explanation:

An indicator array in an EXEC SQL statement must have bounds that are specified simply as optionally signed integers.

IBM3884I S
The indicator variable reference is used with a structure and hence must be an array.
Explanation:

An indicator variable in an EXEC SQL statement must be an array if it is used with a structure.

IBM3885I S
The host variable host-variable must have only one dimension.
Explanation:

A host variable in an EXEC SQL statement must not be multi-dimensional.

IBM3886I S
The host variable host-variable must have constant bounds.
Explanation:

A host variable in an EXEC SQL statement must have bounds that are specified simply as optionally signed integers.

IBM3887I S
The host variable host-variable must be CONNECTED.
Explanation:

A host variable in an EXEC SQL statement must be one-dimensional and that dimension must not be specified on a parent unless the parent has the DIMACROSS attribute..

IBM3888I S
The reference host-reference has no corresponding DB2 type.
Explanation:

All SQL host variables must have a corresponding DB2 type. For example, while FIXED DEC(7,-2) is valid in a PL/I declaration, there is no corresponding DB2 type because DB2 requires that in FIXED DEC(p,q), q is non-negative and no greater than p.

IBM3889I S
The reference host-reference is a union and thus must not be used as a host variable.
Explanation:

All SQL host variables must have a corresponding DB2 type. There is no type matching a union.

IBM3890I S
The reference host-reference is an array of structures and thus must not be used as a host variable.
Explanation:

A structure may be used as a host variable only if it is not an array.

IBM3891I S
The reference host-reference contains arrays and thus must not be used as a host variable.
Explanation:

A structure may be used as a host variable only if none of its members are arrays.

IBM3892I S
The reference host-reference contains a substructure and thus must not be used as a host variable.
Explanation:

A structure may be used as a host variable only if none of its members are structures.

IBM3893I S
The reference host-reference contains unnamed elements and thus must not be used as a host variable.
Explanation:

A structure may be used as a host variable only if all of its members are named.

IBM3894I S
The indicator variable reference must be FIXED BIN(15).
Explanation:

An indicator variable must be a native, real halfword integer.

IBM3895I S
The indicator variable reference is used with an array and hence must be an array as well.
Explanation:

An indicator variable in an EXEC SQL statement must be an array if it is used with an array.

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;
 
IBM3929I S
EXEC SQL statements must be in a PROCEDURE.
Explanation:

EXEC SQL statements are not allowed at the PACKAGE level.

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.

IBM3934I S
EXEC SQL INCLUDE statement has incorrect syntax.
Explanation:

EXEC SQL INCLUDE must be followed by one identifier and then by a semicolon.

IBM3935I S
The FETCH of the SQL backend failed.
Explanation:

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

IBM3936I S
The SQL backend must be from DB2 V9 or later.
Explanation:

Switch to a more current level of DB2.

IBM3937I S
The EXEC SQL statement is too long.
Explanation:

The EXEC SQL statement must be fewer than 500K bytes.

IBM3938I S
The EXEC SQL statement has too many host variables
Explanation:

The EXEC SQL statement must use no more than 1500 host variables.

IBM3939I S
The DBNAME option must specify a valid database name.
Explanation:

When invoking the SQL preprocessor on Windows or AIX, the DBNAME option must be specified, and the option must specify a valid database name.

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)