Almost everyone knows that adding custom fields in SAP CRM is easy with the Easy Enhancement Workbench. Once the new field is created, it can be displayed and configured using the UI Configuration Tool. What you might not know yet is that we have introduced a new tool for structural enhancement in SAP CRM 7.0 called Application Enhancement Tool. With this new tool, adding a custom field has become even easier. Our focus has been towards simplicity, flexibility, and usability. The tool is part of the new CRM Web UI and is seamlessly integrated with the UI Configuration Tool. Adding a new field and making it available on the UI does not require deep technical knowledge and development efforts.
In this blog, I will give you an overview on this functionality, and look into the details of one particular concept – reusing custom fields across applications.
The field reuse comes in two flavors. The first one is based on shared data structures among related business entities. Within the Application Enhancement Tool, we refer to these as applications sharing the same enhancement place (the place where the custom fields are stored). The second type of structural enhancements is based on a very powerful concept called Scenario Mapping. The fields are stored in different enhancement places, but the applications support field copy (reusability) and also pass data from the source to the target applications.
In the first part of this blog, we will have a look at field reusability across applications that share the same enhancement place and what it takes to create and use a custom field.
The Application Enhancement Tool allows you to do the following:
- Create a field with properties that best match your specific business needs
- View the details of the custom fields in a convenient manner
- Modify and regenerate existing fields
- Provide translations in the system’s supported languages
- Extend the relevant external interfaces – for example Mobile, R/3, BW and OLTP Reporting
- Start the Application Enhancement Tool directly from the application, from the UI Configuration Tool guided maintenance, or using a dedicated link.
Creating a New Field
Let us assume that you want to track the social networking identity of your contacts, for example, your contact’s MySpace ID.
We will start the Application Enhancement Tool directly from the Account application. You need to open an existing account and choose (Show Configurable Areas). Before that, you have to enable the configuration mode in the Personalize Settings screen and ensure that you have the necessary permissions.
Once you go into configuration mode, you must select the area that you want to enhance by simply clicking on the desired configurable area. In our example, we will add the MySpace ID field to Account Details -> General Data. After you select the General Data area, the UI Configuration Tool opens. Choose the Create New Field pushbutton. The Application Enhancement Tool starts.
The first step of adding a custom field is to specify where exactly do you want your new field. You can choose among the available enhancement object parts of the Account object. There is only one object part to select from – the Central Details. We will talk more about the information presented on this page in the second part of this blog.
The context node information is quite useful when you search for your newly created field in the available field list of the UI Configuration Tool (we will discuss this step later).
Once you select where you want your new field to be created, you must provide the necessary field details. For our current example consider the screenshot below.
We will discuss the translation and custom dropdown listbox definition when we create a more complex field in the second part of this blog.
Configuring the UI
Once you are done defining your field, you must trigger the generation process by choosing the Save and Generate pushbutton. The Application Enhancement Tool creates the new field, enhances the relevant external interfaces (for example, if you select the BW Reporting checkbox, it will modify the data source and the BI Extractor), adds the structural changes and the enhancement meta data to a transport request, and performs the activations. The system will be restarted automatically (in most cases) but you can perform the UI Configuration before you close the popup and initiate a new session.
As seen in the above screenshot, we have added the MySpace ID field to the Account Details. The field will be available under the Header context node (as indicated in the Select an Object Part dialog)
Adding a Reusable Field
Now let us have a look at how you can reuse the MySpace ID field in the Contacts application. We will add the field to the General Data area of the Contact Details assignment block.
Enable the configuration mode and choose the General Data area. From the UI Configuration tool, start the Application Enhancement Tool by clicking Show Enhancement. The Custom Fields block will display all the existing custom fields, their details, and status. Instead of creating a new field, we will choose the Add Reusable Field pushbutton and select the MySpace ID field that we created in the Account object. Make sure that you select the Contact Enhancement Object first.
Once we are done, the tool creates an association of the MySpace ID field to the Contact enhancement object – remember that the field already exists in the shared data structure (enhancement place). Before closing the window and accessing the restarted system session, we will go back to the UI Configuration Tool and add the My Space ID field to the Contact Details.
How to Get the Enhancement Place?
You need to run transaction AXTREG. To view the name of the enhancement place, go to Extensible BOs -> BO Parts. In the above example, both Account and Contact contain only one object part which is based on enhancement place INCL_EEW_BUT000.
If you track down INCL_EEW_BUT000 in the Places node, you will find out that the actual Extension Include (the commondata structure) is CI_EEW_BUT000. If you open it using transaction SE16, you will find the MySpace ID field.
As you can see, in SAP CRM 7.0 you do not have to manually create identical fields across related applications. The field reusability concept in the Application Enhancement Tool will help you minimize the manual steps and errors when it comes to structural enhancements
What Is Next?
In the second part of the blog, we will take a deep dive into another type of custom field reuse – the one based on the scenario mappings. We will also see more of what the Application Enhancement Tool can do for you.