Tuesday, August 16, 2011

Impact of Changing List Values

A couple of weeks ago I wrote about determining the impact of changing classification values so you can judge the impact of the change before you make a data change you will later regret. Similar to determining the impact of changing classification values, you can also determine the impact of changing list values to determine where else in the application a particular list is being used.

To determine which objects use a specific list, run the following SQL script (substituting the name of the list field you are looking for for the value in ATR_NAME below) :

select name from IBS_SPEC_TYPE
where ATR_TYPE = 'List'
and ATR_NAME = 'triTaxPaidToLI')

The results of this query will show which business objects have a field (with the name specified in ATR_NAME above) that points to that list. Using this, you can go into the Data Modeler for each object, select the field that uses the list and click on 'Where Used'. This will pop up a window showing all GUI's, queries and workflows where the field is used. Pay special attention to workflows that show 'Workflow Condition' in the Action column - this will help identify workflows that may use specific classification values in their logic.


Eric Glass said...

That'll actually give you all the list fields with that name (e.g. "triTaxPaidToLI"); if you want all the fields referencing that list (e.g. the "triTaxPaidTo" list), it would be:

ibs.name "Business Object",
atr.sub_category_name "Section",
atr.atr_name "Field",
atr.atr_default_value "Default Value"
FROM ibs_spec_value_meta_data atr
JOIN ibs_spec_type ibs ON
ibs.spec_template_id = atr.spec_template_id
JOIN list_master l ON
l.list_id = atr.list_id
WHERE atr.atr_type = 'List' AND
l.list_name = 'triTaxPaidTo'
ORDER BY 1, 2, 3

Rob Zombron said...

Thanks Eric!