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

Compiler Warning Messages (1078-1225, 2600-2799)

IBM1078I W
Statement may never be executed.
Explanation:

This message warns that the compiler has detected a statement that can never be run as the flow of control must always pass it by.

IBM1079I W
Too few arguments have been specified for the ENTRY ENTRY name.
Explanation:

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

IBM1080I W
The keyword label-name, which could form a complete statement, is accepted as a label name, but a colon may have been used where a semicolon was meant.
Explanation:

A PL/I keyword which could form a complete statement has been used as statement label. This usage is accepted, but a colon may have been used where a semicolon was intended.

 
 
     dcl a fixed bin(31) ext;
 
     if a = 0 then
       put skip list( ’a = 0’ )
     else:
 
     a = a + 1;
 
IBM1081I W
keyword expression should be scalar. Lower bounds assumed for any missing subscripts.
Explanation:

The expression in the named keyword clause should be a scalar, but an array reference was specified.

 
   dcl p     pointer;
   dcl x     based char(10);
   dcl a(10) area(1000);
 
   allocate x in(a) set(p);
IBM1082I W
Argument number argument-number in entry reference entry name is a scalar, but its declare specifies a structure.
Explanation:

A scalar may be passed as the argument when a structure is expected, but this require building a "dummy" structure and assigning the scalar to each field in that structure.

 
 
   dcl e entry( 1 2 fixed bin(31),
                  2 fixed bin(31)  );
   dcl i fixed bin(15);
   call e( i );
 
IBM1083I W
Source in label assignment is inside a DO-loop, and an illegal jump into the loop may be attempted. Optimization will also be very inhibited.
Explanation:

GOTO statements may not jump into DO loops, and the compiler will flag any GOTO whose target is a label constant inside a (different) DO loop. However, if a label inside a DO loop is assigned to a label variable, then this kind of error may go undetected.

IBM1084I W
Nonblanks after right margin are not allowed under RULES(NOLAXMARGINS).
Explanation:

Under RULES(NOLAXMARGINS), there should be nothing but blanks after the right margin.

IBM1085I W
variable may be uninitialized when used.
Explanation:

The indicated variable may be used before it has been initialized.

IBM1086I W
built-in function will be evaluated using long rather than extended routines.
Explanation:

The indicated built-in function has an extended float argument, but since the corresponding extended routine is not yet available, it will be evaluated using the appropriate long routine.

IBM1087I W
FLOAT source is too big for its target. An appropriate HUGE value of assumed value is assumed.
Explanation:

A value larger than HUGE(1s0) cannot be assigned to a short float. Under hexadecimal float, the value 3.141592E+40 could be assigned to a short float, but under IEEE, the maximum value that a short float can hold is about 3.40281E+38.

IBM1088I W
FLOAT literal is too big for its implicit precision. The E in the exponent will be replaced by a D.
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.

IBM1089I W
Control variable in DO loop cannot exceed TO value, and loop may be infinite.
Explanation:

If the TO value is equal to the maximum value that a FIXED or PICTURE variable can hold, then a loop dominated by that variable will run endlessly unless exited inside the loop by a LEAVE or GOTO. For example, in the first code fragment below, x can never be bigger than 99, and the loop would be infinite. In the second code fragment below, y can never be bigger than 32767, and the loop would be infinite.

 
 
     dcl x pic’99’;
 
     do x = 1 to 99;
       put skip list( x );
     end;
 
     dcl y fixed bin(15);
 
     do y = 1 to 32767;
       put skip list( y );
     end;
 
IBM1090I W
Constant used as locator qualifier.
Explanation:

An expression contains a reference to a based variable with a constant value for its locator qualifier. This may cause a protection exception on some systems. It may also indicate that the variable was declared as based on NULL or SYSNULL and that this constant value is being used as its locator qualifier.

 
 
     dcl a fixed bin(31) based( null() );
 
     a = 0;
 
IBM1091I W
FIXED BIN precision less than storage allows.
Explanation:

Except in unusual circumstances, the precision in a FIXED BIN declaration should be 7, 15, 31 or 63 if SIGNED and one greater if UNSIGNED. This message may indicate that a declare specified, for example, FIXED BIN(8) when UNSIGNED FIXED BIN(8) was meant.

IBM1092I W
GOTO whose target is or may be in another block severely limits optimization.
Explanation:

Try to change the code so that it sets and tests a switch instead, or limit GOTOs to very small modules that do not need optimization.

IBM1093I W
PLIXOPT string is invalid. See related runtime message message-number.
Explanation:

The PLIXOPT string could not be parsed. See the cited Language Environment message for more detail.

IBM1094I W
Element option in PLIXOPT is invalid. See related runtime message message-number.
Explanation:

The PLIXOPT string contains an invalid item. See the cited Language Environment message for more detail.

IBM1095I W
Element option in PLIXOPT has been remapped to option. See related runtime message message-number.
Explanation:

The PLIXOPT string contains a run-time option which is not supported by LE. See the cited Language Environment message for more detail.

IBM1096I W
STAE and SPIE in PLIXOPT is not supported. See related runtime message message-number.
Explanation:

The SPIE and STAE options have been replaced by the TRAP option. TRAP(ON) is equivalent to SPIE and STAE; TRAP(OFF) is equivalent to NOSPIE and NOSTAE. The combination SPIE and NOSTAE and the combination NOSPIE and STAE are no longer supported. See the cited Language Environment message for more detail.

IBM1097I W
Scalar accepted as argument number argument-number in ENTRY reference ENTRY name although parameter description specifies an array.
Explanation:

Generally, scalars should not be passed where arrays are expected, but in some situations, this may be desired.

 
 
    dcl a entry( (*) fixed bin )
          option(nodescriptor);
 
    call a( 0 );
 
IBM1098I W
Extraneous comma at end of statement ignored.
Explanation:

A comma was followed by a semicolon rather than by a valid syntactical element (such as an identifier). The comma will be ignored in order to make the semicolon valid.

 
 
    dcl 1 a, 2 b fixed bin, 2 c fixed bin, ;
 
IBM1099I W
FIXED DEC(source-precision,source-scale) operand will be converted to FIXED BIN(target-precision,target-scale). Significant digits may be lost.
Explanation:

Under RULES(IBM), when a comparison or arithmetic operation has an operand that is FIXED BIN and an operand that is FIXED DEC with a non-zero scale factor, then the FIXED DEC operand will be converted to FIXED BIN. Under RULES(ANS), when a comparison or arithmetic operation has an operand that is FIXED BIN and an operand that is FIXED DEC with a zero scale factor, then the FIXED DEC operand will be converted to FIXED BIN. In each case, significant digits may be lost, and if there is a fractional part, it may not be exactly represented as binary. For instance, under RULES(IBM), the assignment statement below will cause the target to have the value 29.19, and in the comparison, C will be converted to FIXED BIN(31,10) and significant digits will be lost (in fact, SIZE would be raised, but since it is disabled, this program would be in error).

 
 
     dcl a fixed dec(07,2) init(12.2);
     dcl b fixed bin(31,0) init(17);
     dcl c fixed dec(15,3) init(2097151);
     dcl d fixed bin(31,0) init(0);
 
     a = a + b;
 
     if c = d then;
 
IBM1100I W
The attribute attribute-option is not valid on BEGIN blocks and is ignored.
Explanation:

An attribute (REDUCIBLE in the example below) has been specified in the OPTIONS clause on a BEGIN statement, but that attribute is not valid for BEGIN blocks.

 
 
     begin options( reducible );
 
IBM1101I W
option-name is not a known PROCEDURE attribute and is ignored.
Explanation:

An attribute (DATAONLY in the example below) has been specified in the OPTIONS clause on a PROCEDURE statement, but that attribute is not valid for PROCEDUREs.

 
 
     a: proc options( dataonly );
 
IBM1102I W
option-name is not a known BEGIN attribute and is ignored.
Explanation:

The indicated attribute is valid on PROCEDURE statements, but not on BEGIN statements.

 
 
   begin recursive;
 
IBM1103I W
option-name is not a supported compiler option and is ignored.
Explanation:

The compiler option is not supported on this platform.

 
   *process map;
IBM1104I W
Suboptions of the compiler option option-name are not supported and are ignored.
Explanation:

Suboptions of the compiler option are not supported on this platform.

 
   *process list(4);
IBM1105I W
A suboption of the compiler option option-name is too long. It is shortened to number-of-letters characters.
Explanation:

Various compiler options have limits on the size of subfields. Refer to the :cit.Programming Guide:ecit. for the limits of specific compiler options.

 
   *process margini( ’+-’ );
IBM1106I W
Condition prefixes on keyword statements are ignored.
Explanation:

Condition prefixes are not allowed on DECLARE, DEFAULT, IF, ELSE, DO, END, SELECT, WHEN or OTHERWISE statements.

 
 
     (nofofl): if (x+y) > 0 then
 
IBM1107I W
option-name is not a known ENTRY statement attribute and is ignored.
Explanation:

An attribute (DATAONLY in the example below) has been specified in the OPTIONS clause on an ENTRY statement, but that attribute is not valid for ENTRY statements.

 
 
     a: entry options( dataonly );
 
IBM1108I W
The character char specified in the option option is already defined and may not be redefined. The redefinition will be ignored.
Explanation:

A character specified in the OR, NOT, QUOTE or NAMES compiler option is already defined in the PL/I character set or by another compiler option.

 
   *process not(’=’);
   *process not(’!’) or(’!’);
IBM1109I W
The second argument in the C-format item will be ignored.
Explanation:

If you wish to display the real and imaginary parts of a complex number using different formats, use the REAL and IMAG built-in functions and 2 format items.

 
 
     put edit ( x ) ( c( e(10,6), e(10,6) ) );
 
IBM1110I W
The %INCLUDE statement should be on a line by itself. The source on the line after the %INCLUDE statement is ignored.
Explanation:

Split the text into 2 lines.

 
 
     %include x; %include y;
 
IBM1111I W
CHECK prefix is not supported and is ignored.
Explanation:

The CHECK prefix is not part of the SAA PL/I language.

 
 
     (check): i = j + 1;
 
IBM1112I W
condition-name condition is not supported and is ignored.
Explanation:

The CHECK and PENDING conditions are not part of the SAA PL/I language.

 
 
     on check ...
 
IBM1113I W
verb-name statement is not supported and is ignored.
Explanation:

The named statement, for example the CHECK statement, is not part of the SAA PL/I language.

IBM1114I W
Comparands are both constant.
Explanation:

Both operands in a comparison are constant, and consequently, the result of the comparison is also a constant. If this comparison is the expression in an IF clause, for example, this means that either the THEN or ELSE clause will never be executed.

IBM1115I W
INITIAL list contains count items, but the array variable name contains only array size. Excess is ignored.
Explanation:

For an array, an INITIAL list should not contain more values than the array has elements.

 
 
    dcl a init( 1, 2 ), b(5) init( (10) 0 );
 
IBM1116I 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.

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

IBM1118I 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;
 
IBM1119I W
Code generated for DO group would be more efficient if control variable were not an aggregate member.
Explanation:

The control variable in the DO loop is a member of an array, a structure or an union, and consequently, the code generated for the loop will not be optimal.

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

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

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

 
 
     display( ’Program starting’ ;
 
IBM1123I W
The ENVIRONMENT option option-name has been specified without a suboption. The option option-name is ignored.
Explanation:

Certain ENVIRONMENT options, such as RECSIZE, require suboptions.

 
 
     dcl f file env( recsize );
 
IBM1124I W
A suboption has been specified for the ENVIRONMENT option option-name. The suboption will be ignored.
Explanation:

Certain ENVIRONMENT options, such as CONSECUTIVE, should be specified without any suboptions.

 
 
     dcl f file env( consecutive(1) );
 
IBM1125I W
The ENVIRONMENT option option-name has been specified more than once.
Explanation:

ENVIRONMENT options should not be repeated.

 
 
     dcl f file env( consecutive consecutive );
 
IBM1126I W
The ENVIRONMENT option option-name has an invalid suboption. The option will be ignored.
Explanation:

The suboption type is incorrect.

 
 
     dcl f file env( regional(5) );
 
IBM1127I W
option-name is not a known ENVIRONMENT option. It will be ignored.
Explanation:

There is no such supported ENVIRONMENT option.

 
 
     dcl f file env( unknown );
 
IBM1128I W
The ENVIRONMENT option option-name conflicts with the LANGLVL compiler option. The option will be ignored.
Explanation:

The indicated option is valid only with LANGLVL(OS).

 
 
     dcl f file env( fb );
 
IBM1129I W
verb-name processor-name statement ignored up to closing semicolon.
Explanation:

An EXEC SQL or EXEC CICS statement has been found in the source program. The compiler will ignore these statements.

 
 
     exec sql ...;
 
IBM1130I W
The external name identifier is too long. It will be shortened to identifier.
Explanation:

The maximum length of external names is set by the EXTNAME suboption of the LIMITS compiler option.

 
 
    dcl this_name_is_long static external pointer;
 
IBM1131I W
An EXTERNAL name specification for name has been specified on its PROCEDURE statement and in the EXPORTS clause of the PACKAGE statement. The EXPORTS specification will be used.
Explanation:

The name specified in the EXTERNAL attribute in the EXPORTS clause overrides the name specified in the EXTERNAL attribute on the PROCEDURE statement.

 
 
     a: package exports( b ext(’_B’) );
 
       b: proc  ext( ’BB’ );
 
IBM1132I W
An EXTERNAL name specification for name has been specified in its declaration and in the RESERVES clause of the PACKAGE statement. The RESERVES specification will be used.
Explanation:

The name specified in the EXTERNAL attribute in the RESERVES clause overrides the name specified in the EXTERNAL attribute in the DECLARE statement.

 
 
     a: package reserves( b ext(’_B’) );
 
       dcl b ext( ’BB’ ) static ...
 
IBM1133I W
The FORMAT CONSTANT array label-name is not fully initialized.
Explanation:

An element of a FORMAT CONSTANT array has not been defined, for example, f(2) in the example below.

 
 
     f(1): format( x(2), a );
 
     f(3): format( x(4), a );
 
IBM1134I W
The LABEL CONSTANT array label-reference is not fully initialized.
Explanation:

The named variable defines a statement label array, but not all the elements in that array are labels for statements in the containing procedure.

 
 
     l(1): display( ... );
 
     l(3): display( ... );
 
IBM1135I W
Logical operand is constant.
Explanation:

An argument to one of the logical operators (or, and or not) is a constant. The result of the operation may also be a constant. If this operation is the expression in an IF clause, for example, this means that either the THEN or ELSE clause will never be executed.

 
 
     if a | ’1’b then
 
IBM1136I W
Function invoked as a subroutine.
Explanation:

A function, for example, a PROCEDURE or ENTRY statement with the RETURNS attribute, has been invoked in a CALL statement. The value that is returned by the function will be discarded, but the OPTIONAL attribute should be used to indicate that this is valid.

IBM1137I W
The attribute attribute is invalid in GENERIC descriptions and will be ignored.
Explanation:

The named attribute is invalid in GENERIC description lists.

 
 
     dcl g generic ( f1 when( connected ),
                     f2 otherwise );
 
IBM1138I W
Number of items in INITIAL list is count for the array variable name which contains array size elements.
Explanation:

The array will be incompletely initialized. If the named variable is part of a structure, subsequent elements in that structure with this problem will be flagged with message 2602. This may be a programming error (in the example below, 4 should probably have been 6) and may cause exceptions when the program is run.

 
 
     dcl a(8) fixed dec init( 1, 2, (4) 0 );
 
IBM1139I 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.

IBM1140I W
Syntax of the LANGLVL option in the %OPTION statement is incorrect.
Explanation:

The LANGLVL option in the %OPTION statement must be specified as either LANGLVL(SAA) or LANGLVL(SAA2).

IBM1141I W
Syntax of the %NOPRINT statement is incorrect.
Explanation:

The %NOPRINT statement must be followed, with optional intervening blanks, by a semicolon.

IBM1142I W
Syntax of the %PAGE statement is incorrect.
Explanation:

The %PAGE statement must be followed, with optional intervening blanks, by a semicolon.

IBM1143I W
Syntax of the %PRINT statement is incorrect.
Explanation:

The %PRINT statement must be followed, with optional intervening blanks, by a semicolon.

IBM1144I 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);
 
IBM1145I W
Syntax of the %SKIP statement is incorrect.
Explanation:

The %SKIP statement must be followed by a semicolon with optional intervening blanks and a parenthesized integer.

IBM1146I W
Syntax of the TEST option in the %OPTION statement is incorrect.
Explanation:

The TEST option in the %OPTION statement must be specified without any suboptions.

IBM1147I W
Syntax of the NOTEST option in the %OPTION statement is incorrect.
Explanation:

The NOTEST option in the %OPTION statement must be specified without any suboptions.

IBM1148I W
Syntax of the %PUSH statement is incorrect.
Explanation:

The %PUSH statement must be followed, with optional intervening blanks, by a semicolon.

IBM1149I W
Syntax of the %POP statement is incorrect.
Explanation:

The %POP statement must be followed, with optional intervening blanks, by a semicolon.

IBM1150I W
Syntax of the %NOTE statement is incorrect.
Explanation:

The %NOTE statement must be followed by, in parentheses, a note and an optional return code, and then a semicolon.

IBM1151I W
FIXED BINARY precision is reduced to maximum value.
Explanation:

The maximum FIXED BIN precision depends on the LIMITS option.

IBM1152I W
FIXED DECIMAL precision is reduced to maximum value.
Explanation:

The maximum FIXED DEC precision depends on the LIMITS option.

IBM1153I W
FLOAT BINARY precision is reduced to maximum value.
Explanation:

The maximum FLOAT BIN precision is 64 on Intel, 106 on AIX and 109 on z/OS.

IBM1154I W
FLOAT DECIMAL precision is reduced to maximum value.
Explanation:

The maximum FLOAT DEC precision is 18 on Intel, 32 on AIX and 33 on z/OS except for DFP which has a maximum of 34.

IBM1155I W
The aggregate aggregate-name contains noncomputational values. Those values will be ignored.
Explanation:

Some members of an aggregate referenced in an I/O statement are noncomputational. The computational members will be correctly processed, but the noncomputational ones will be ignored.

 
   dcl 1 x,
         2 y ptr,
         3 fixed bin(31);
   put skip list(x);
IBM1156I W
Arguments to MAIN procedure are not all POINTER.
Explanation:

Under SYSTEM(CICS), SYSTEM(TSO) and SYSTEM(IMS), the arguments to the MAIN procedure should all have type POINTER.

IBM1157I W
note
Explanation:

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

IBM1158I W
A option is missing in the specification of the option option. One is assumed.
Explanation:

A closing quote or parenthesis is missing in the specification of a compiler option. A quoted string must not cross line boundaries.

IBM1159I W
The string option is not recognized as a valid option keyword and is ignored.
Explanation:

An invalid compiler option has been specified.

IBM1160I W
The third argument to the MARGINS option is not supported.
Explanation:

Printer control characters are not supported on input source records.

IBM1161I W
The suboption suboption is not valid for the option compiler option.
Explanation:

A suboption of a compiler option is incorrect. The suboption may be unknown or outside the allowable range.

 
   *process flag(q)  margins(1002);
IBM1162I W
A required suboption is missing for the suboption option.
Explanation:

A required suboption of a compiler option is missing.

 
   *process or;
IBM1163I W
Required sub-fields are missing for the option option. Default values are assumed.
Explanation:

Required suboptions of a compiler option are missing.

 
   *process margins;
IBM1164I W
option-name should be specified within OPTIONS, but is accepted as is.
Explanation:

The option, for example REORDER, is accepted outside of the OPTIONS attribute, but it should be specified within the OPTIONS attribute. This would also conform to the ANSI standard.

IBM1165I W
The OPTIONS option option-name has been specified more than once.
Explanation:

The only supported LINKAGE options are OPTLINK and SYSTEM.

IBM1166I W
option-name is not a known LINKAGE suboption. The LINKAGE option will be ignored.
Explanation:

The only supported LINKAGE options are OPTLINK and SYSTEM.

IBM1167I W
Maximum number of %PUSH statements exceeded. The control statement is ignored.
Explanation:

The maximum number of pending %PUSH statements is 63.

IBM1168I W
No %PUSH statements are in effect. The %POP control statement is ignored.
Explanation:

A %POP has been issued when no %PUSH statement are pending.

IBM1169I W
No precision was specified for the result of the builtin name built-in. The precision will be determined from the argument.
Explanation:

This message applies to the FIXED and FLOAT built-in functions when only one argument is given. The precision is not set to a default, but is instead derived from the argument. For example, if x is FLOAT BIN(21), FIXED(x) will return a FIXED BIN(21) value.

IBM1170I W
The OPTIONS attribute option-attribute is not supported and is ignored.
Explanation:

The indicated element of the OPTIONS list is not supported.

 
 
    dcl a ext entry options( nomap );
 
IBM1171I 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.

IBM1172I W
A zero length string has been entered for the option-name option. The option is ignored.
Explanation:

User-specified string has zero length. This can occur when OR(’’) or OR(’Á’) has been specified on the command line. In the latter case, the single ’Á’ character has been interpreted as an escape.

IBM1173I W
SELECT statement contains no WHEN clauses.
Explanation:

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

IBM1174I W
The reference in the from-into clause clause may not be byte-aligned.
Explanation:

The reference specified in the FROM or INTO clause may not be byte-aligned. If the reference is indeed not byte-aligned, unpredictable results may occur.

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

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

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

IBM1177I 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 on Intel, 32 on AIX and 33 on z/OS.

IBM1178I 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 on Intel, 106 on AIX and 109 on z/OS.

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

The precision for a float literal is implied by the 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.

IBM1180I W
Argument to BUILTIN name built-in is not byte aligned.
Explanation:

This message applies to the ADDR, CURRENTSTORAGE/SIZE and STORAGE/SIZE built-in functions. Applying any one of these built-in functions to a variable that is not byte-aligned may not produce the results you expect.

IBM1181I W
A WHILE or UNTIL option at the end of a series of DO specifications applies only to the last specification.
Explanation:

In the following code snippet, the WHILE clause applies only to the last DO specification, that is only when I = 5;

 
 
    do i = 1, 3, 5 while( j < 5 );
 
IBM1182I W
Invocation of a NONRECURSIVE procedure from within that procedure is invalid. RECURSIVE attribute is assumed.
Explanation:

A procedure contains code that will cause it to be recursively invoked, but the procedure was not declared with RECURSIVE attribute.

 
 
    a: proc( n );
       ...
       if n > 0 then call a;
 
IBM1183I W
condition-name condition is disabled. Statement is ignored.
Explanation:

The SIGNAL statement is ignored if the condition it would raise is disabled. Some conditions, like SIZE, are disabled by default.

 
 
    (nofofl): signal fixedoverflow;
 
IBM1184I W
Source with length string-length in INITIAL clause for variable name is longer than target. Source will be truncated.
Explanation:

The string in the INITIAL clause (’TooBig’ in the example below) will be trimmed to fit (to ’TooB’).

 
 
    dcl x char(4) static init(’tooBig’);
 
IBM1185I W
Source in RETURN statement has length greater than that in the corresponding RETURNS attribute.
Explanation:

The string in the RETURNS clause (’TooBig’ in the example below) will be trimmed to fit (to ’TooB’).

 
 
    x: proc returns( char(4) );
       ...
       return( ’TooBig’ );
 
IBM1186I W
Source in string assignment is longer than target.
Explanation:

The source in the assignment (’TooBig’ in the example below) will be trimmed to fit (to ’TooB’).

 
 
    dcl x char(4);
    x = ’TooBig’;
 
IBM1187I W
Argument number argument-number in entry reference entry name is longer than the corresponding parameter.
Explanation:

The source in the entry invocation (’TooBig’ in the example below) will be trimmed to fit (to ’TooB’).

 
 
    dcl x entry( char(4) );
    call x( ’TooBig’ );
 
IBM1188I W
Result of concatenating two strings is too long.
Explanation:

The length of the string produced by concatenating two strings must not be greater than the maximum allowed for the derived string type.

IBM1189I W
NODESCRIPTOR attribute conflicts with the NONCONNECTED attribute for the parameter parameter name. CONNECTED is assumed.
Explanation:

If NODESCRIPTOR is specified (or implied) for a procedure, aggregate parameters should have the CONNECTED attribute. The CONNECTED attribute can be explicitly coded, or it can be implied by the DEFAULT(CONNECTED) compiler option.

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

IBM1191I W
Result of FIXED BIN divide will not be scaled.
Explanation:

When dividing a FIXED BIN(p1,0) value by a FIXED BIN(p2,0) value where 31 > p1, the result will have the attributes FIXED BIN(p1,0). With ANSI 76, it would have the attributes FIXED BIN(31,31-p1).

IBM1192I W
WHEN clauses contain duplicate values.
Explanation:

In a dominated SELECT statement, if a WHEN clause has the same value as an earlier WHEN clause, the code for the second WHEN clause will never be executed. This message will be produced only if the SELECT statement is otherwise suitable for transformation into a branch table.

IBM1193I W
statement count statements in block block name. Optimization restricted.
Explanation:

Optimization will be restricted for any procedure or begin-block. that contains more statements than specified in the MAXSTMT option. To avoid this, the block could be split up into more manageable parts.

IBM1194I W
More than one argument to MAIN procedure.
Explanation:

A MAIN procedure should have at most one argument, except under SYSTEM(CICS) and SYSTEM(IMS).

IBM1195I W
Argument to MAIN procedure is not CHARACTER VARYING.
Explanation:

The argument to the MAIN procedure should be CHARACTER VARYING, except under SYSTEM(CICS), SYSTEM(TSO) and SYSTEM(IMS).

IBM1196I W
AREA initialized with EMPTY - INITIAL attribute is ignored.
Explanation:

Any INITIAL attribute specified for an AREA variable is ignored. The variable will, instead, be initialized with the EMPTY built-in function.

IBM1197I W
file-name assumed as file condition reference.
Explanation:

All file conditions should be qualified with a file reference, but ENDFILE and ENDPAGE are accepted without a file reference. SYSIN and SYSPRINT are then assumed, respectively.

IBM1198I W
A null argument list is assumed for variable name.
Explanation:

An ENTRY reference is used where the result of invoking that entry is probably meant to be used.

 
 
   dcl e1 entry returns( ptr );
   dcl q  ptr based;
   e1->q = null();
 
   dcl e2 entry returns( bit(1) );
   if e2 then ...
 
IBM1199I 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 );
 
IBM1200I W
Use of DATE built-in function may cause problems.
Explanation:

The DATE built-in returns a two-digit year. It might be better to use the DATETIME built-in which returns a four-digit year.

IBM1201I W
suboption conflicts with a previously specified suboption for the option compiler option.
Explanation:

There is a conflict of suboptions for the LANGLVL compiler option. The SAA2 and OS suboptions are mutually exclusive.

 
   *process langlvl(saa2 os);
IBM1202I W
Syntax of the %OPTION statement is incorrect.
Explanation:

The only option supported in the %OPTION statement is the LANGLVL option.

IBM1203I W
Argument to PLITEST built-in subroutine is ignored.
Explanation:

Change the invocation of PLITEST so that no argument is passed.

IBM1204I W
INTERNAL CONSTANT assumed for initialized STATIC LABEL.
Explanation:

LABEL variables require block activation information, and hence they cannot be initialized at compile-time. For a STATIC LABEL variable with the INITIAL attribute, if the variable is a member of a structure or an union, a severe message will be issued. Otherwise, its attributes will be changed to INTERNAL CONSTANT in order to eliminate the requirement for block activation information. Such a variable must be initialized with LABEL CONSTANTs from containing blocks.

IBM1205I W
Arguments of the option compiler option must be the same length.
Explanation:

If two arguments of the NAMES option are specified, they must be the same length. The second argument is the uppercase value of the first. If a character in the first string does not have an uppercase value, use the character itself as the uppercase value. For example:

 
     names( ’$!@’ ’$!@’)
IBM1206I W
BIT operators should be applied only to BIT operands.
Explanation:

In an expression of the form x & y, x | y, or x ^ y, x and y should both have BIT type.

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

IBM1208I W
INITIAL list for the array variable name contains only one item.
Explanation:

The array will be incompletely initialized. If the named variable is part of a structure, subsequent elements in that structure with this problem will be flagged with message 2603. An asterisk can be used as an initialization factor to initialize all the elements with one value. In the example below, a(1) is initialized with the value 13, while the elements a(2) through a(8) are uninitialized. In contrast, all the elements in b are initialized to 13.

 
    dcl a(8) fixed bin init( 13 );
    dcl b(8) fixed bin init( (*) 13 );
 
IBM1209I W
INDEXED environment option for file file name will be treated as ORGANIZATION(INDEXED).
Explanation:

Since ISAM is not being simulated on the OS/2 platform, the file will be treated in a manner similar to VSAM KSDS. The file specified in the first declaration below would be handled in the same manner as the file in the second declaration. Both are treated as ORGANIZATION(INDEXED).

 
 
     dcl f1 file env(indexed);
     dcl f2 file env(organization(indexed));
 
IBM1210I W
The field width specified in the keyword-format item may be too small for complete output of the data item.
Explanation:

The format width is too small for output. It may be valid if the format is being used for input.

IBM1211I W
Source with length string-length is longer than the target variable.
Explanation:

The source in the assignment (’TooBig’ in the example below) will be trimmed to fit (to ’TooB’). If the target is a pseudovariable, message 1186 is issued instead.

 
 
    dcl x char(4);
    x = ’TooBig’;
 
IBM1212I W
The A format item requires an argument when used in GET statement. An L format item is assumed in its place.
Explanation:

A width must be specified on A format items when specified on a GET statement.

 
     get edit(name) (a);
IBM1213I W
The procedure proc name is not referenced.
Explanation:

The named procedure is not external and is never referenced in the compilation unit. This may represent an error (if it was supposed to be called) or an opportunity to eliminate some dead code.

IBM1214I W
A dummy argument will be created for argument number argument-number in entry reference entry name.
Explanation:

An argument passed BYADDR to an entry does not match the corresponding parameter in the entry description. The address of the argument will not be passed to the entry. Instead, the argument will be assigned to a temporary with attributes that do match the parameter in the entry description, and the address of that temporary will be passed to the entry. This means that if the entry alters the value of this parameter, the alteration will not be visible in the calling routine.

 
 
   dcl e entry( fixed bin(31) );
   dcl i fixed bin(15);
   call e( i );
 
IBM1215I W
The variable variable name is declared without any data attributes.
Explanation:

It will be given the default attributes, but this may be because of an error in the declare. For instance, in the following example, parentheses may be missing

 
 
   dcl a, b fixed bin;
 
IBM1216I W
The structure member variable name is declared without any data attributes. A level number may be incorrect.
Explanation:

It will be given the default attributes, but this may be because of an error in the declare. For instance, in the following example, the level number on c and d should probably be 3.

 
 
   dcl a, b fixed bin;
     1 a,
       2 b,
         2 c,
         2 d;
 
IBM1217I W
An unnamed structure member is declared without any data attributes. A level number may be incorrect.
Explanation:

It will be given the default attributes, but this may be because of an error in the declare. For instance, in the following example, the level number on c and d should probably be 3.

 
 
   dcl a, b fixed bin;
     1 a,
       2 *,
         2 c,
         2 d;
 
IBM1218I 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) );
 
IBM1219I 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;
 
IBM1220I 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;
 
IBM1221I W
Statement uses count bytes for temporaries.
Explanation:

This message is produced if a statement uses more bytes for temporaries than allowed by the MAXTEMP compiler option.

IBM1222I W
Comparison involving 2-digit year is problematic.
Explanation:

Comparisons involving data containing 2-digit year fields may cause problems if exactly one of the years is later than 1999.

IBM1223I W
Literal in comparison interpreted with DATE attribute.
Explanation:

In a comparison, if one comparand has the DATE attribute, the other should also. If the non-date is a literal with a value that is valid for the date pattern, it will be viewed as if it had the same DATE attribute as the date comparand. So, in the following code, ’670101’ will be interpreted as if it had the DATE(’YYMMDD’) attribute.

 
 
    dcl x char(6) date(’YYMMDD’);
 
    if x > ’670101’ then ...
 
IBM1224I W
DATE attribute ignored in comparison with non-date literal.
Explanation:

In a comparison, if one comparand has the DATE attribute, the other should also. If the non-date is a literal with a value that is not valid for the date pattern, the DATE attribute will be ignored. So, in the following code, the comparison will be evaluated as if x did not have the DATE attribute.

 
 
    dcl x char(6) date(’YYMMDD’);
 
    if x > ’’ then ...
 
IBM1225I W
DATE attribute ignored in conversion from literal.
Explanation:

If the target in an explicit or implicit assignment has the DATE attribute, the source should also. If it does not, the DATE attribute will be ignored. So, in the following code, the assignment will be performed as if x did not have the DATE attribute.

 
 
    dcl x char(6) date(’YYMMDD’);
 
    x = ’’;
 
IBM2600I W
Compiler backend issued warning messages to STDOUT.
Explanation:

Look in STDOUT to see the message issued by the compiler backend.

IBM2601I W
Missing character assumed before character. DECLARE and other nonexecutable statements should not have labels.
Explanation:

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

 
 
     xx: dcl test fixed bin;
 
IBM2602I W
Number of items in INITIAL list is count for the array variable name which contains array size elements.
Explanation:

The array will be incompletely initialized. If the named variable is part of a structure, the first element in that structure with this problem will be flagged with message 1138. This may be a programming error (in the example below, 6 should probably have been 7) and may cause exceptions when the program is run.

 
    dcl
      1 a,
        2 b(8) fixed bin init( 1, (7) 29 ),
        2 c(8) fixed bin init( 1, (6) 29 );
 
IBM2603I W
INITIAL list for the array variable name contains only one item.
Explanation:

The array will be incompletely initialized. If the named variable is part of a structure, the first element in that structure with this problem will be flagged with message 1208. An asterisk can be used as an initialization factor to initialize all the elements with one value. In the example below, b(1) and c(1) are initialized with the value 13, while the elements b(2) through b(8) and c(2) through c(8) are uninitialized. In contrast, all the elements in d are initialized to 13.

 
    dcl
      1 a,
        2 b(8) fixed bin init( 13 ),
        2 c(8) fixed bin init( 13 ),
        2 d(8) fixed bin init( (*) 13 );
 
IBM2604I W
FIXED DEC(source-precision,source-scale) will be converted to FIXED DEC(target-precision,target-scale). Significant digits may be lost.
Explanation:

If the source in a conversion to FIXED DECIMAL is a FIXED DECIMAL or PICTURE variable with a different precision and scale factor, and if the difference between the precisions is not as large as the the difference between the scale factors, then significant digits may be lost. If the SIZE condition were enabled, code would be generated to detect any such occurrence, and this message would not be issued.

 
 
     dcl a fixed dec(04) init(1009);
     dcl b fixed dec(03);
 
     b = a;
 
IBM2605I W
Invalid carriage control character. Blank assumed.
Explanation:

The specified line contains an invalid ANS print control character. The valid characters are: blank, 0, -, + and 1.

IBM2607I W
PICTURE representing FIXED DEC(source-precision,source-scale) will be converted to FIXED DEC(target-precision,target-scale). Significant digits may be lost.
Explanation:

If the source in a conversion to FIXED DECIMAL is a PICTURE variable with a different precision and scale factor, and if the difference between the precisions is not as large as the the difference between the scale factors, then significant digits may be lost. If the SIZE condition were enabled, code would be generated to detect any such occurrence, and this message would not be issued.

 
 
     dcl a pic’(4)9’ init(1009);
     dcl b fixed dec(03);
 
     b = a;
 
IBM2608I W
PICTURE representing FIXED DEC(source-precision,source-scale) will be converted to PICTURE representing FIXED DEC(target-precision,target-scale). Significant digits may be lost.
Explanation:

If the source in a conversion to a PICTURE is a PICTURE variable with a different precision and scale factor, and if the difference between the precisions is not as large as the the difference between the scale factors, then significant digits may be lost. If the SIZE condition were enabled, code would be generated to detect any such occurrence, and this message would not be issued.

 
 
     dcl a pic’(4)9’ init(1009);
     dcl b pic’(3)9’;
 
     b = a;
 
IBM2609I W
Comment contains a semicolon on line line-number.file-number.
Explanation:

If a comment contains a semicolon, it may indicate that there is an earlier unintentionally unclosed comment that is accidentally commenting out some source as in this example

 
 
     /* start of unclosed comment
     dcl b pic’(3)9’;
     /* next comment */
 
IBM2610I W
One argument to BUILTIN name built-in is FIXED DEC while the other is FIXED BIN. Compiler will not interpret precision as FIXED DEC.
Explanation:

This message applies to the MULTIPLY, DIVIDE, ADD, and SUBTRACT built-in functions: if one argument to one of these functions is FIXED DEC while the other is FIXED BIN, then the specified precision will not be interpreted as a FIXED DEC precision. This may cause improper truncation of data. For example, the result of the following multiply will have the attributes FIXED BIN(15), not FIXED DEC(15), and that might cause the result to be improperly truncated.

 
 
     dcl a fixed bin(31);
     dcl b fixed dec(15);
 
     b = multiply( a, 1000, 15 );
 
IBM2611I W
The binary value binary value appears in more than one WHEN clause.
Explanation:

In a dominated SELECT statement, if a WHEN clause has the same value as an earlier WHEN clause, the code for the second WHEN clause will never be executed. This message will be produced only if the SELECT statement is otherwise suitable for transformation into a branch table.

IBM2612I W
The character string character string appears in more than one WHEN clause.
Explanation:

In a dominated SELECT statement, if a WHEN clause has the same value as an earlier WHEN clause, the code for the second WHEN clause will never be executed. This message will be produced only if the SELECT statement is otherwise suitable for transformation into a branch table.

IBM2613I W
Unless it is an output-only parameter, variable may be uninitialized when used.
Explanation:

The indicated variable may be used before it has been initialized.

IBM2614I W
Both comparands are booleans.
Explanation:

This message will flag statements such as the following, where the "equals" is meant to be an "and" or "or".

 
 
     if ( a < b ) = ( c < d ) then
 
IBM2615I W
DO-loop will always execute exactly once. A semicolon after the DO may be missing.
Explanation:

DO-loops should normally be iterative, but if the DO-loop specification consists of just one assignment, then it will always excute once and only once. A semicolon after the DO may be missing, as in this example

 
 
     do
       edsaup.tprs =  ads162.tprs;
       edsaup.tops =  ads162.tops;
     end;
 
IBM2616I W
Size of parameter variable will return the currentsize value since no descriptor is available.
Explanation:

If the SIZE or STG built-in function is applied to a CHAR(*) VARYING (or VARYINGZ) parameter when there is no descriptor available, then the size of the actual storage allocated to the variable cannot be determined and only the current size can be returned.

IBM2617I W
Passing a LABEL to a non-PL/I routine is very poor coding practice and will cause the compiler to generate less than optimal code.
Explanation:

It is generally very unwise to pass a label to another routine. It would be good to think about redesigning any code doing this. The compiler will issue this message when a LABEL is passed to an ENTRY declared with OPTIONS( COBOL ) or OPTIONS( ASM ) or OPTIONS( FORTRAN ). The only valid use of this label in the called routine would be to pass it on to another PL/I routine.

IBM2618I W
The suboption suboption is not valid for the suboption option of the option compiler option.
Explanation:

A suboption of a suboption of a compiler option is incorrect. The suboption may be unknown or outside the allowable range.

 
   *process limits(extname(2000));
IBM2619I W
The include file filename contains no cross-referenced variables.
Explanation:

It may be possible to omit the %INCLUDE of this file.

IBM2620I W
Target structure contains REFER objects. Results are undefined if the assignment changes any REFER object.
Explanation:

Changing REFER objects may not produce the expected results. For example, in the following example, the assignment will not change any of the elements in the array d.

 
 
     dcl
       1 a based(p),
         2 b     fixed bin(31),
         2 c     fixed bin(31),
         2 d( 10 refer(c) ),
           3 e   fixed bin(31),
           3 f   fixed bin(31);
 
     a = ’’;
 
IBM2621I W
ON ERROR block does not start with ON ERROR SYSTEM. An error inside the block may lead to an infinite loop.
Explanation:

The first statement in an ON ERROR block should usually be an ON ERROR SYSTEM statement. This will tend to prevent an infinite loop if there is an error in the rest of the code in the ON ERROR block.

IBM2622I W
ENTRY used to set the initial value in a DO loop will be invoked after any TO or BY values are set.
Explanation:

If the initial value in a DO loop is set via an ENTRY, then you may get unexpected results if that ENTRY also changes the TO or BY value. For example, in the first loop below, the function "first" should not change the value of the variable "last". It would be better to change this code into the form of the second loop below.

 
 
     do x = first() to last;
     end;
 
     temp = first();
     do x = temp to last;
     end;
 
IBM2623I W
Mixing FIXED BIN and FLOAT DEC produces a FLOAT BIN result. Under DFP, this will lead to poor performance.
Explanation:

Under DFP, the conversion of FLOAT DEC to FLOAT BIN requires an expensive library call that will lead to poor performance. To avoid this, the DECIMAL built-in function can be applied to the FIXED BIN operand. For example, it would be better to change the first assignment statement into the form of the second below.

 
 
     dcl n fixed bin(31);
     dcl f float dec(16);
 
     f = n + f;
     f = dec(n) + f;
 
IBM2624I W
Mixing BIT and FLOAT DEC produces a FLOAT BIN result. Under DFP, this will lead to poor performance.
Explanation:

Under DFP, the conversion of FLOAT DEC to FLOAT BIN requires an expensive library call that will lead to poor performance. To avoid this, the DECIMAL built-in function can be applied to the BIT operand. For example, it would be better to change the first assignment statement into the form of the second below.

 
 
     dcl b bit(8);
     dcl f float dec(16);
 
     f = b + f;
     f = dec(b) + f;
 
IBM2625I W
Mixing FLOAT BIN and FLOAT DEC produces a FLOAT BIN result. Under DFP, this will lead to poor performance.
Explanation:

Under DFP, the conversion of FLOAT DEC to FLOAT BIN requires an expensive library call that will lead to poor performance.

IBM2626I W
Use of SUBSTR with a third argument equal to 0 is somewhat pointless since the result will always be a null string.
Explanation:

While technically valid, a SUBSTR reference with a third argument that is a constant of zero probably represents a coding error.

IBM2627I W
No metadata will be generated for the structure identifier since its use of REFER is too complex.
Explanation:

XMI metadata is generated for BASED structures using REFER only if their use of REFER is "simple".

IBM2628I W
BYVALUE parameters should ideally be no larger than 32 bytes.
Explanation:

BYVALUE parameters larger than 32 bytes require too much overhead and are bad for performance.

IBM2629I W
No debug symbol information will be generated for identifier.
Explanation:

No debug symbol information will be generated for the named variable, and hence it cannot be referenced when using the debugger.

IBM2630I W
The result in an arithmetic operation has the attributes FIXED base(precision,scale-factor) which means that its scale factor is greater than its precision and that the operation may lead to an overflow.
Explanation:

If the scale factor for the result of an operation exceeds the precision of the result, then unexpected fixedoverflow exceptions may occur. This can happen, for example, when multiplying two FIXED DEC(15,8) variables under the LIMITS(FIXEDDEC(15)) option because the result of such a multiplication would have the attributes FIXED DEC(15,16). To eliminate this message, the PRECISION built-in function could be used to reduce the scale factor of one of the operands or the MULTIPLY built-in function could be used to override the default attributes for the result.

IBM2631I W
One argument to BUILTIN name built-in is FIXED DEC while the other is FLOAT BIN. Compiler will not interpret precision as FIXED DEC.
Explanation:

This message applies to the MULTIPLY, DIVIDE, ADD, and SUBTRACT built-in functions: if one argument to one of these functions is FIXED DEC while the other is FLOAT BIN, then the specified precision will not be interpreted as a FIXED DEC precision. This may cause improper truncation of data. For example, the result of the following multiply will have the attributes FLOAT BIN(15), not FIXED DEC(15), and that might cause the result to be improperly truncated.

 
    dck a float bin(31);
    dcl b fixed dec(15);
    b = multiply( a, 1000, 15 );
 
IBM2632I W
One argument to BUILTIN name built-in is FIXED DEC while the other is FLOAT DEC. Compiler will not interpret precision as FIXED DEC.
Explanation:

This message applies to the MULTIPLY, DIVIDE, ADD, and SUBTRACT built-in functions: if one argument to one of these functions is FIXED DEC while the other is FLOAT DEC, then the specified precision will not be interpreted as a FIXED DEC precision. This may cause improper truncation of data. For example, the result of the following multiply will have the attributes FLOAT DEC(15), not FIXED DEC(15), and that might cause the result to be improperly truncated.

 
    dcl a float dec(15);
    dcl b fixed dec(15);
    b = multiply( a, 1000, 15 );
 
IBM2633I W
Given the support for addressing arithmetic, basing a POINTER or OFFSET on a FIXED BIN is unnecessary, and it will also fail to work properly if the size of a POINTER changes.
Explanation:

Code using such variables will work only as long as the size of the POINTER or OFFSET variable remains the same as the size of the FIXED BIN variable.

IBM2634I W
Given the support for addressing arithmetic, basing a FIXED BIN on a POINTER or OFFSET is unnecessary, and it will also fail to work properly if the size of a POINTER changes.
Explanation:

Code using such variables will work only as long as the size of the POINTER or OFFSET variable remains the same as the size of the FIXED BIN variable.


Terms of use | Feedback

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