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 SPEC_TEMPLATE_ID in (select SPEC_TEMPLATE_ID from IBS_SPEC_VALUE_META_DATA
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.


Wednesday, July 27, 2011

Impact of Changing Classification Values

You may find your users want you to remove/replace some classification values, but before you make the requested changes you need to determine if that classification is used anywhere else in the product and what the impact of changing it will be.

To determine which objects use a specific classification run the following SQL script (substituting the name of the root classification you are looking for for the value in red below) :

select name
from IBS_SPEC_TYPE
where spec_template_id in
(select spec_template_id from ibs_spec_value_meta_data
where atr_type = 'Classification' and
classification_root_name = 'Location Primary Use')

The results of this query will show which objects have a field that points to that classification root value. Using this, you can go into the Data Modeler for each object, select the field that uses the classification 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.

Locating the Module for a Business Object

If you've ever known the name of the business object you were looking for, but could not figure out which module it is located in and didn't feel like searching every module in the GUI builder, below is a script to help you out. The IBS_SPEC_TYPE table provides a list of all business objects and the IBS_MODULE table give a list of all modules, so a simple SQL script can join these two tables and give you your answer. For a list of all objects and modules use this:

select O.NAME, M.MODULE_NAME
from IBS_SPEC_TYPE o, IBS_MODULE m
where O.SPEC_CLASS_TYPE = M.MODULE_ID
order by M.MODULE_NAME, O.NAME

If you just want to get the details for a specific object you can use the script below, substituting the value in red for the name of the BO you are looking for.

select O.NAME, M.MODULE_NAME
from IBS_SPEC_TYPE o, IBS_MODULE m
where O.SPEC_CLASS_TYPE = M.MODULE_ID
and O.NAME = 'triREPaymentAdjustment'
order by M.MODULE_NAME, O.NAME