Wednesday, February 1, 2012

Runtime Repository Inconsistencies after SAP CRM Upgrade

When upgrading an SAP CRM system, you might run in to inconsistencies in the runtime repository.
Inconsistencies particularly occur on enhanced components. This is due to the fact that when enhancing, the system copies the runtime repository. This copy is not automatically updated during an upgrade.
As the runtime repository is a definition of the available views, windows and navigational links, a call to a view or window that has not been defined here, will result in an exception that will be shown to the user. To avoid this, changes in enhanced components should be maintained in the enhanced (custom) runtime repository.
Because it would be a lot of work to manually compare all runtime repositories, SAP has supplied a comparison report, which also suggests changes to be made to your enhanced runtime repository, and actually applies the changes if you want it to.

The report can be found both in the UI Component Workbench ( BSP_WD_CMPWB) and in the customizing under the following path:
SAP Customizing Implementation Guide --> Customer Relationship Management --> UI Framework --> Technical Role Definition --> Compare Runtime Repository
In the component workbench, select the enhanced component.

In the component workbench, you will see that the component indeed has been enhanced. Now click on the 'Perform Checks' button in the top of the page, next to the 'Wizard Log' button.

This will lead to the 'Compare Runtime Repository' report that can also be found in the IMG.

In the report, note that the enhancement set and the UI Component have been supplied. When using the search help for UI Components, only enhanced components will be shown.

I would recommend to run the report for all enhanced UI components (so all components in the list, just to be sure you have checked all components. It will do no harm to at least check them all.

The check will show the results of the comparison. When clicking on the pencil icon, the report will take you to an overview of the differences between the Custom Runtime Repository on the left and the standard SAP Runtime Repository on the right.

You can check all differences one by one using the arrow buttons in the top left corner. 

All items that are found in the standard SAP Runtime Repository that are not available in the custom Runtime Repository can be added automatically using the apply-all-changes button, making it very easy.

I have not found a single example where this button did harm. Basically, it applies the changes due to the upgrade to your runtime repositories :-).

Special thanks to Rob Peperkamp.