Steps to Reproduce:
1. Create new attribute on Roadmap Item object with the following details:
a. Data Type = Number
b. Decimal Places = 2
c. Default Value = 0.00
d. API Attribute ID of your choice
2. Create new Roadmap instance
3. Import two projects from PPM
4. Create new scenario (It is assumed that it is named 'Default Scenario (Copy)')
5. Add new custom attribute (created in step 1) to the grid view
6. Set new custom attribute values, against the two Projects from step 3, for 'Default Scenario' as below:
a. 1.21
b. 2.11
7. Set new custom attribute values for 'Default Scenario (Copy)' as below:
a. 3.41
b. 4.31
8. Change to Timeline view
9. Set View Options as:
a. Badges = <Attribute from step 1>
10. Press Compare Scenarios button
Expected Results: Comparison happens without an error being thrown
Actual Results: Error thrown in the UI. Corresponding error message in app-ca.log is as below:
ERROR 2024-06-05 09:24:53,936 [http-nio-8080-exec-132] ppm.rest (clarity:user:session:PPM_REST_API) (f60920a8-88fe-4242-9091-284253565683) RoadmapItemResourceProvider :: : There is an internal error while fetching difference
java.lang.ClassCastException: class java.lang.Double cannot be cast to class java.math.BigDecimal (java.lang.Double and java.math.BigDecimal are in module java.base of loader 'bootstrap')
...
...
ERROR 2024-06-05 09:24:53,937 [http-nio-8080-exec-132] ppm.rest (clarity:user:session:PPM_REST_API) (f60920a8-88fe-4242-9091-284253565683)
com.ca.ppm.rest.exception.APISystemException: API-1019 : Could not process the request due to internal error.
at com.ca.ppm.rdm.object.rest.provider.RoadmapItemResourceProvider.processCompareData(RoadmapItemResourceProvider.java:409)
Version: 16.2.2
DE80891
DE80891 is fixed in 16.2.3.