Description:
Fact: eHealth 6.2.x
Fact: eHealth 6.1.x
Fact: Report Center sample report for interfaces, for example "Report Center - Utilization History Report for Interfaces" always fails with following error message:
A record was rejected. An arithmetic overflow occurred. PPDSError 104
Fact: As per KB IBM/Cognos for the error PPDSError 104 ( http://www-01.ibm.com/support/docview.wss?uid=swg21339857):
*****
Error:
PDS-PPE-0104
Un enregistrement a ete refuse. Debordement arithmetique. PPDSError 104 A record has been rejected; Arthmetic overflow. PPDSError 104
Cause
For many operations, Cognos 8 will build a small cube in memory to handle the aggregations. Floating point values in these cubes cannot have more the 18 significant digits, and by default we assume a precision of 7 decimal places.
Resolving the problem
Preffered solution:
Use a CAST function on the column(s) in Framework Manager or Report Studio to control the number of decimals at a non-system level, and on a case-by-case basis:
cast(large_decimal_cl,decimal(17,2))
Alternative solution:
The system assumes 7 decimal digits by default for floating point values.
This default can be modified using the instructions below.
HOWEVER, please remember that this is a global setting! With the scale setting set to 2, there is a danger of losing data. If you (for instance) divide 1.05 by 2, we should get .525, but in this case it would end up as
.53) If all the system numbers are "currency" types, then we can probably get by with a setting of 3, but we'll still potentially have problems aggregating large sets of nubmers with long decimals (like .33333). The rounding errors will result in the totals being off by a small amount.
To modify the system default, add the following line in the qfs_config.xml under the /configuration directory:
Under the following line:
<!-- Enables DMB logging. Setting to 1, logs when data is loaded and cube is deleted. 2 logs when cube is created, reused, and Aged out. 0 is off -->
add:
<scaleOfFloatDouble value="3" />
*****
Solution:
The error in report will be gone.
Note:
Using CAST function here is not recommended and supported by CA Support, as it requires modifying/customizing the report variables.