Parameterized lookup logic used to filter params that are not null is found to be not allowing users to clear associated attribute values in modern UX
Steps to Reproduce:
- Create a custom object enabled for API
- Create a string attribute A with API alias filled
Create a lookup with code as follows
select @SELECT:code:code@
,@SELECT:name:name@
from
(
select lookup_code code,name
from cmn_lookups_v clv
where language_code=@WHERE:PARAM:LANGUAGE@
and lookup_type='RPT_YES_NO'
AND LOOKUP_CODE='0'
UNION
select lookup_code code,name
from cmn_lookups_v clv
where language_code=@WHERE:PARAM:LANGUAGE@
and lookup_type='RPT_YES_NO'
AND LOOKUP_CODE='1'
and @WHERE:PARAM:USER_DEF:STRING:A@ is not null
) X
WHERE @FILTER@- Create a lookup attribute B, and associate it with the lookup
- Create an instance for the custom object page from Modern UX
- Add attribute A to the columns and enter any value
- Try clearing the value for attribute A
Expected Results:
Value for attribute A is cleared
Actual Results:
API-1005: the value '''' for attribute 'param_a’ is not in expected format or invalid
DE170640
DE170640, in review by engineering.
Workaround:
From the lookup code, replace
and @WHERE:PARAM:USER_DEF:STRING:A@ is not null
With
and '@'||@WHERE:PARAM:USER_DEF:STRING:A@ !=‘@‘