Steps to Reproduce:
1. Create new attribute on Roadmap Item object with the following details:
a. Data Type = Time-Varying
b. Time-varying Data Units = Money
c. Currency Code location = Reference another attribute of this object
i. Which Field = Currency
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. Change to Timeline view
6. Set View Options as:
a. Badges = <Attribute from step 1>
7. 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:40:35,620 [http-nio-8080-exec-142] ppm.rest (clarity:user:session:PPM_REST_API) (ebbb1762-a96c-4cba-8a9a-307e2a9615c0) RoadmapItemResourceProvider :: : There is an internal error while fetching difference
java.lang.NullPointerException: Cannot invoke "com.niku.union.odf.object.schema.types.CurveType.getType()" because the return value of "com.niku.union.odf.object.Attribute.getCurveType()" is null
at com.ca.platform.osf.object.rest.compare.RestResourceComparator.processDelta(RestResourceComparator.java:181)
...
...
ERROR 2024-06-05 09:40:35,620 [http-nio-8080-exec-142] ppm.rest (clarity:user:session:PPM_REST_API) (ebbb1762-a96c-4cba-8a9a-307e2a9615c0)
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.
DE80892
DE80892 is fixed in 16.2.3.