Hi Tom,
/*************************************************************************************************/
Script
---------------------------------------------------------------------------------------------------
CREATE TABLE TEST_FA (fixed_assets_cost NUMBER, payables_cost NUMBER);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (1212.96946666667, 1212.96946666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (1274.27112, 1274.27112);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (410.7788, 410.7788);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (442.933433333333, 442.933433333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (113.213906666667, 113.213906666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (254.692066666667, 254.692066666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (1249.33166666667, 1249.33166666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (435.139083333333, 435.139083333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (1212.96946666667, 1212.96946666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (2498.66333333333, 2498.66333333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (337.8434, 337.8434);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (239.252973333333, 239.252973333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (77.51735, 77.51735);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (46.51041, 46.51041);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (31.00694, 31.00694);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (32.69768, 32.69768);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (95.91288, 95.91288);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (70.37135, 70.37135);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (32.1321333333333, 32.1321333333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (169.82086, 169.82086);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (236.002, 236.002);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (321.182533333333, 321.182533333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (223.735033333333, 223.735033333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (161.38086, 161.38086);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (97.2719, 97.2719);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (45.22, 45.22);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (415.841533333333, 415.841533333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (1871.50293333333, 1871.50293333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (32.6853550070098, 32.6853550070098);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (241.661316666667, 241.661316666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (2832.61903899884, 2832.61903899884);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (61.24389, 61.24389);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (101.971153826579, 101.971153826579);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (363.546416666667, 363.546416666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (682.61224993078, 682.61224993078);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (1249.33166666667, 1249.33166666667);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (442.933433333333, 442.933433333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (1871.50293333333, 1871.50293333333);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (12.50994, 12.50994);
Insert into TEST_FA (FIXED_ASSETS_COST, PAYABLES_COST) Values (337.8434, 337.8434);
COMMIT;
/*************************************************************************************************/
Code
------------------------------------------------------------------------
Declare
CURSOR c1 IS SELECT fixed_assets_cost a, payables_cost b FROM TEST_FA;
i1 number;
i11 number:=0;
i2 number;
i22 number:=0;
begin
BEGIN
SELECT SUM(fixed_assets_cost), SUM(payables_cost)
INTO i1, i2 FROM TEST_FA;
END;
FOR I IN C1
LOOP
i11 := i11 + I.a;
i22:= i22 + I.b;
END LOOP;
dbms_output.put_line( 'Total'||'*'||i1||'*'||i11||'*'||i2||'*'||i22);
end;
/
----------------------------------------------------------------------------------------------------
Output in DEV
-------------
SQL> @fa2
Input truncated to 1 characters
Total*21840.6259077632111*21840.6259077632111*21840.6259077632111*21840.6259077632111
PL/SQL procedure successfully completed.
Output in PRODUCTION
--------------------
SQL> @fa2
Input truncated to 1 characters
Total**21840.625907763204248744038795814529166**21840.625907763204248744038795814529166
PL/SQL procedure successfully completed.
----------------------------------------------------------------------------------------------------
We have tried the above in development, stage, testing and production instances. The number format is different only in production.
We get more than 30 digits after the decimal in production but only 12 to 14 digits after decimal in all other instances.