Description
When grouping by a choice field that has overrides from a child table, the list does not display null values from the parent table.
Steps to Reproduce
The behavior can be reproduced using a field in a base table that allows null values and has overrides from a child table. The extended tables must have at least one set of choices with values matching the parent table, but with different labels.
Steps to reproduce on a base system:
- Retrieve the sys_dictionary record for the state field in the task table.
- Change the Choice field to: Dropdown with -- None --.
- Retrieve all task records (task_list.do) where Task type = Change Task.
- Change the state for CTASK0010004 and CTASK0010005 to None.
- Group the list by the state field.
Note that the records with a State of None are not included.
Workaround
Two workarounds are recommended. They include changing the field and data structures for fields with choice lists.
- Ensure choice list fields do not allow null values. Set the Choice value in the dictionary for each affected field (category, subcategory, etc) to "Dropdown without -- None -- (must specify a default value)" and then specify a non-null default value such as None or Unselected. This results in all records containing a Choice field value. When grouping by category, the grouped header will be None or Unselected and the records will be included in the list. Perform a mass update to set all fields with null values in the affected fields to the new default value.
- Modify the choice data structure to eliminate choices in extended tables that have values that match the base table and labels that do not.
Related Problem: PRB630893