This message alerts you to a possible misunderstanding of PL/I rules and, consequently, a possible source of problems:
IBM2610I W One argument to BUILTIN X is FIXED DEC while the other is FIXED BIN
or FLOAT. Compiler will not interpret precision as FIXED DEC.
This message applies to the MULTIPLY, DIVIDE, ADD and SUBSTRACT built-in functions. You are most likely to see it if
If, for instance, X is FIXED BIN(31), the compiler would flag the expression MULTIPLY( X, 1000, 15 ) with this message (even if this expression is assigned to a FIXED DEC(15) variable) because the result of this built-in has the attributes FIXED BIN(15). If you had intended that this built-in function produce a FIXED DEC(15) result (because, for example, you knew the result of the multiplication might be greater than 2G), this code would not perform the way you had intended and might result in the loss of significant data.
Note that if you want to force the result of this MULTIPLY to be FIXED DEC, you could apply the DECIMAL built-in to the FIXED BIN argument (as in MULTIPLY( DEC(X), 1000, 15 ). You also use the PRECTYPE compiler option to change how the compiler interprets the precision, but that would, of course, potentially change the interpretation of other statements.