A dynamic lookup was instead created, which works perfectly in the Classic UI, but fails to perform correctly in Modern UX.
The way it is failing is when the user updates the first attribute, the second (required) attribute is cleared but the original value remains in the database. In the Classic UI, the second attribute is automatically 'blanked' out, and the user is forced to select a new value.
STEPS TO REPRODUCE:
1. Create a static Lookup (Risk Type) with the following values:
Lookup Value ID
2. Create a second static lookup (GP Risk Category id: GP_RISK_CATEGORY ) with the following values:
Lookup Value ID
Project Budget PROJ01
3. Create a Dynamic lookup (GP Risk Category Dynamic) with the following Niku query:
select @select:lv.lookup_code:[email protected],
from CMN_LOOKUPS_V lv
where ((@WHERE:PARAM:USER_DEF:STRING:[email protected] = 'PROJECT' and lv.lookup_code like 'PROJ%') or (@WHERE:PARAM:USER_DEF:STRING:[email protected] = 'OPERATIONAL' and lv.lookup_code like 'OPER%'))
and lv.lookup_type = 'GP_RISK_CATEGORY'
and lv.language_code = 'en'
AND lv.is_active = 1
4. Add an attribute to the Risk object (Risk Type) and link it to the Risk Type Lookup and make it required.
5. Add another attribute to the Risk Object (Risk Category) and link it to the 'GP Risk Category Dynamic' lookup and map hbf_risk_type to the Risk Type attribute
6. In the Modern UX, add a Risk to a project, In the Risk grid view, Add a risk and set the Risk Type and Risk Category attributes. Verify that these are set correctly in the odf_ca_risk table in the database.
7. In the Risk grid view, now change the value of the Risk Type lookup.
The Risk Category lookup should be blanked out and the user forced to provide a new correct value as the attribute is required.
The Risk Category lookup is blanked out but the user is not forced to provide a new (required) value. The new Risk Type value is saved to the odf_ca_risk table in the DB with the old (incorrect) Risk Category value.
e.g. Type: OPERATIONAL, Category: PROJ01
Clarity 16.0, 16.0.1
The following is the feedback from engineering on this:
1. When Risk Type is modified the dependent one Risk Category is not blanking out, in UI it is showing as blank, but in DB it still exists and when the old risk type is selected it is coming back
Comment: This was addressed in the 15.9.3 Release as part of defect DE55737, However, we have not enabled this on purpose, and instead to get this functionality you need to turn the toggle ON. One more point to note if Risk Category is mandatory then the clearing in the background won't happen as that requires a bigger change than a defect to address.
update cmn_option_values set value = '1'
where option_id = (select id from cmn_options
where option_code = 'RESET_DEP_LOOKUP_VALUES')
Note that for SaaS environments you will need Broadcom Support to request this update to be performed by the SaaS DBA team.
2. User not forced to select Risk Category once Risk Type is changed
Comment: The same point applies here, Engineering went through long discussions with Product Management, and decided not to implement this as it is an enhancement. This is currently in the backlog to get addressed.