MUX: Lookup displays no values for some users when FLS is set for a referenced object
search cancel

MUX: Lookup displays no values for some users when FLS is set for a referenced object

book

Article ID: 206645

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

In the Clarity Modern User Experience (UX / MUX) a project parameterized lookup does not show any values to some users.

The affected users can see the field and its pre-selected value, but when trying to change its value, the lookup does not display any value.

The same user does not have problems in the Classic UI.

Cause

A referenced object on the parameterized lookup has Field Level Security (FLS) and the user experiencing the issue is not part of the user groups that have access to the secured attribute.

This scenario is caused by DE59574

Resolution

This is fixed in 15.9.2

Workaround for prior releases:

  1. Edit the parameterized lookup behind the affected lookup attribute
  2. Note the attributes referenced on the query
  3. Modern UX > Administration > Attributes
  4. Look to the attributes that do have FLS (Field Level Security) enabled.
  5. If those are referenced on the lookup query, grant access to the affected users

Note: The log file also states what the culprit field is. This is the one that has got FLS behind

Additional Information

The app-ca.log file shows the following entry:

ERROR 2021-01-05 17:01:38,414 [http-nio-8443-exec-9438] ppm.rest (clarity:my_user:11606400__C11BFE9E-7777-4DFA-BDEB-6FECB7141685:PPM_REST_API) LookupFilterParser :: The lookup [Z_MY_LOOKUP] filter [((searchText startsWith '%') and (param_fact = '4040') and (param_uniquecode = '028477') and (param_pet_ass = null) and (param_platform = '5020027') and (objectApiAlias = 'projects') and (objectInstanceId = 5127030) and (dynLookupParams = ('param_correspo = z_corresponsability')) and (param_correspo = 4039) )] attribute[param_correspo] has invalid value [4039].

On the browser trace you see a similar error to:

{resourceId: null, httpStatus: "400",…}
errorCode: "api.errFilterString"
errorMessage: "API-1013 : Invalid filter string '((searchText startsWith%.....'. Each expression must start and end with parentheses and must have attributeName, operator and value.'
httpStatus: "400"
resourceId: null

See also: Lookups master KB for Clarity