The PL/I compiler implements some language elements differently on Windows and z/OS. These differences in implementation might cause differences in the way your program runs. Each of the following items is described in terms of its behavior on Windows.
To avoid this difference, you could change the precision of the variable to a value between 8 and 15 (inclusive).
For example, in the following code fragment, the elements of the array are not initialized to a1, a2, a3, and a4.
dcl (a1,a2,a3,a4) area; dcl a(4) area init( a1, a2, a3, a4 );
However, you can rewrite the code as follows so that the array is initialized as wanted.
dcl (a1,a2,a3,a4) area; dcl a(4) area; a(1) = a1; a(2) = a2; a(3) = a3; a(4) = a4;
For example, the PL/I for Windows compilers would evaluate the DIVIDE built-in function in the assignment statement below as a FIXED DEC expression:
dcl (i,j) fixed bin(15);
dcl x fixed bin(15,2);
.
.
.
x = divide(i,j,15,2)