Steps to Reproduce:
1- Go to Profile - Settings - General - Unit of Measure and set to "% Availability"
2- Go to "Allocations By Resource" or "Assignments by Resource"
3- Expand a resource to see their allocations.
The resource will not expand and the user will get an error:
System error. Contact system administrator.
App-ca.log shows:
ERROR 2023-10-27 17:51:11,495 [http-nio-8080-exec-3863] rest.validation (clarity:some user @ something :53579253__763C2A42-F006-41E3-A0BF-FB94FC2809FB:PPM_REST_API) (6d80e097-1386-45e1-aa47-d82d459579a7) ODFResourceProvider :: Could not retrieve resource. Object code alias: [ requestUrl: http://hostname/ppm/rest/v1/private/resources?_totalCount=false&fields=allocationCurve%2ChardAllocationCurve%2Cresources ....
....
ERROR 2023-10-27 13:26:39,531 [http-nio-8080-exec-796] niku.xql2 (clarity:some user @ something :53579253__763C2A42-F006-41E3-A0BF-FB94FC2809FB:PPM_REST_API) (ID) Internal Processing exception
java.lang.Exception: Invalid expression qresource: com.niku.union.persistence.PersistenceException:
SQL error code: 0
Error message: ERROR: invalid reference to FROM-clause entry for table "inv_investments"
Hint: Perhaps you meant to reference the table alias "team____inv_investments".
Position: 7265
Other Units of Measure work fine
Expected Results: Able to expand resource to see allocations/assignments
Actual Results: Cannot expand resource to see allocations/assignments
Workaround: Use other units of Measure like FTE, Hours...
You can identify which users have this setting in Postgres with this
database query and ask them to use FTE or Hours.
The default setting is FTE
select user_NAME from cmn_sec_users
where id in (select user_id from cmn_ui_personalizations cup
-- for users using Percent Allocation...
where personalizations::json->>'units' = 'pct')
-- FTE
-- where personalizations::json->>'units' = 'fte')
-- hours
-- where personalizations::json->>'units' = 'hours')
DE78241
This is resolved in 16.2.0 and 16.1.3.2