Consultation:Procedure when dealing w/framework enhancements
[BSP] [Component:] [configuration] [dealing] [dealing with] [enhancements] [framework] [net framework 2.0] [UI] [Workbench]
Symptom
You use the framework enhancement concept to implement customer enhancements.
Other terms
BSP Component Workbench, UI configuration, framework enhancements
Reason and Prerequisites
You use the framework enhancement concept to implement customer enhancements. In addition to the steps described in the documentation, some activities require further information.
Solution
Proceed as described in the SAP online library. The chapter is available under “SAP Customer Relationship Management” -> “Components and Functions” -> “Basic Functions” -> “Application UI Configuration”.
Note also the following executions.
1. General recommendations
If you create an enhancement based on an enhancement set for a component, the enhancements are stored in a BSP application in the customer namespace. We recommend that you create your own BSP application for storing the enhancements for each component.
When you make an enhancement in the BSP Component Workbench, the system prompts you to enter the name for the BSP application in which you want to store the enhancements. You can enter a new name here if you have not yet made enhancements for the current component, or if you have already enhanced the component, you can use the input help to select the BSP application.
After you have specified the name of the BSP application in which you want to store the enhancements, the system prompts you to enter a name for the repository. The name “Repository.xml” is proposed in the dialog box.
Example:
Component: BT111H_OPPT
BSP application in which the enhancements are stored: ZBT111H_OPPT
Repository: Repository.xml
2. Canceling/deleting modifications
If you delete only the entries from the view cluster BSPWDVC_CMP_EXT manually, this causes inconsistencies when you make another enhancement.
In CRM 2007, canceling enhancements is supported by wizards in the BSP Component Workbench.
If you use CRM 2006s, you cannot cancel enhancements using the BSP Component Workbench. Carry out the steps described below:
As of CRM 2007, you can use the BSP Component Workbench for support or you can delete the objects manually as described below.
Deleting an enhancement element
Proceed as follows:
First determine the objects (for example, BSP applications, classes, controller and so on) that were created by the enhancement.
You can view these objects using the view cluster BSPWDVC_CMP_EXT (SM34): Select the enhancement set, choose “Enhancement Definition” and then “Controller Substitutes”.
Then go to the BSP components in the ABAP workbench (SE80) that are used to store the enhancements. Search for the obsolete objects and delete them:
- Search for controller -> Search for and delete controller class
- Delete controller
- If a view exists -> Delete view
Then delete the Customizing entries (”Controller Substitutes”) from the view cluster BSPWDVC_CMP_EXT.
If you use CRM 2006s, note the following:
New views and custom controllers are not included in view cluster Customizing. Despite this, delete the custom controllers manually in SE80. If a view was assigned in the enhancement runtime repository, delete it from there.
Deleting a complete enhancement for a component
First determine the objects (for example, BSP applications, classes, controller and so on) that were created by the enhancement.
You can view these objects using the view cluster BSPWDVC_CMP_EXT (SM34): Select the enhancement set, choose “Enhancement Definition” and then “Controller Substitutes”.
Proceed as described under “Deleting an enhancement element” to delete the individual elements.
Then delete the runtime repository specified under enhancement definition.
If the BSP components that were used to store the enhancements are not used for other enhancements, delete these too.
Then delete the Customizing entry for the enhancement set definition from the view cluster BSPWDVC_CMP_EXT.
If configurations that contain fields from enhancements that are now deleted were created (BSP_WD_CMPWB), these must also be deleted manually.
3. Postprocessing after importing Support Packages and performing upgrades
If you have created a framework enhancement, the runtime repository (Repository.xml) is automatically copied to the customer namespace. Therefore, when you import a Support Package or perform an upgrade, changes to the runtime repository are not transferred.
If you use CRM 2006s, proceed as follows:
Make a manual comparison and, if required, add the missing elements to the runtime repository in your enhanced component.
As of CRM 2007, you can use the comparison report BSP_WD_RT_REP_COMPARE for this.
4. Determining enhancement sets
You use the BAdI “COMPONENT_LOADING” for the determination at runtime. In the default implementation, the enhancement set is determined based on the client assignment in Customizing. Customizing is stored in the view BSPWDV_EHSET_ASG (SM30). In Customizing, you can assign only one enhancement set for each client.
You can define your own determination logic (for example, based on the business role of the user) in a customer implementation.
It is assumed that new attributes are added for enhancements but it is not assumed that existing attributes disappear.
5. Cooperation between enhancements and configurations
Enhancement sets are not part of the key in the configuration. If you have added additional attributes to a context node using a framework enhancement, use these in the configuration and use the BAdI “COMPONENT_LOADING” to determine the valid enhancement set at runtime, the enhancement set does not affect the configuration. If you determine the enhancement set based on the business role using your own implementation in the BAdI “COMPONENT_LOADING” and want to determine different configurations at runtime depending on the business role (in a role with enhanced fields and in another role without enhanced fields), then you must create different configurations based on the role configuration key and assign the role configuration keys according to the business roles. If you use the BAdI and have implemented another determination logic, in general, a corresponding configuration cannot be provided for this since you are restricted to the keys provided in the UI configuration tool.
6. Restrictions for enhanced views
If SAP delivers a view that cannot be configured, you cannot configure it afterwards using an implementation. Likewise, the view type cannot be changed. The attributes of the original view are always used.
You can make your own views configurable in an enhanced component and they can have any view type.