SAP CRM Web UI: Configuration & Enhancement
โก Smart Summary
Web UI Configuration and Application Enhancement Tools in SAP CRM allow consultants to adapt standard roles, views, and database structures without heavy ABAP coding. This tutorial explains the layout configuration model, parameter-driven design, security controls, and end-to-end field plus table enhancements through AET.

Overview
- SAP CRM has many standard roles defined (for e.g., Sales Professional) and applications within these roles (for e.g., Account Management).
- In a general scenario, companies do not use the standard applications as they are and go for minor or major enhancements.
- Considering this, SAP CRM has been implemented with tools for the enhancement of SAP standard applications. Using these tools, it is possible to change the views, add fields, add tables, etc. into the existing applications.
- These tools mainly include:
- Web UI Configuration Tool
- Application Enhancement Tools (AET)
Web UI Configuration Tool
- The layout displayed for any view in SAP CRM is maintained as Web UI Configuration.
- These configurations are identified using 4 parameter values.
- Thus, you can enhance the Web UI Configurations with new layouts using different parameter values.
- The fields displayed in the Web UI come from the database structures defined in the data dictionary.
- As per the requirement, not all the fields are displayed in all the screens.
- It is possible to modify the screens using the Web UI Configuration tool.
- With this tool, it is possible to remove some fields from the screens.
- It also allows you to add a field available in the data dictionary structure to the screen.
- On all the pages in the CRM Web UI, there is a button to go to the “Web UI tool”.
- There are pre-defined roles needed to make this button available.
- Thus, in order to see this button and to do modifications in this tool, the user must have sufficient authorizations.

- Configurable Area
: This highlights the area in the screen that is configurable.
- Configure Page
: This opens the pop-up to configure the current page:

- Personalization
- With this, the user can set their own layout of the view.
- This affects an individual user and is not applicable to the whole application.
- Print Page
: To take a printout of the current page.
- In order to create a new layout, it is possible to use the “New” button to create a blank form.
- You can also copy an existing configuration and then modify it as required.
- The Web UI Configuration Tool supports drag-and-drop to add fields to the layout.
- It also provides the ability to set different properties of a field.
- In a few cases, the implementation of these enhancements also includes ABAP programming in the Web UI Components.

Available Configurations (screenshot above):
- A configuration is identified with a unique combination of the following fields:
- Role Configuration Key
- Component Usage
- Object Type
- Object Subtype
- Depending on the combination, there can be multiple configurations available for a view.
- Selecting a row in this assignment block updates the “Current Configuration Design” to show the layout designed under the selected configuration.
Buttons to work on configuration (see above screenshot): These are the buttons used to modify the “Current Configuration Design” for the selected configuration in “Available Configurations”:
- Add Caption: With this button, it is possible to add a caption on the Form View in an overview page.
- Add Line: This button appends a row in the “Current Configuration Design” area.
- Move Up: This button moves a selected field one row above its current row.
- Move Down: This button moves a selected field one row below its current row.
- Show Available Fields (Fig. 3): It shows all the fields that are available to be added to the layout so that they are visible in the application.
- Show Field Properties (Fig. 3): It shows the properties of the field selected on the layout, which you can view and set.
- In edit mode, it is possible to modify some of these properties.

- This tool supports the addition or removal of fields (available in the data dictionary) from the view layout.
- With this tool, it is not possible to add fields into the data dictionary structures and tables such that they reflect in your CRM.
- The configuration screen for a table view has a different layout, where the user needs to set the available columns and the properties of these columns.

Security Concerns
- End users should not have access to perform these settings in the configuration tool. Only super users or developers are provided with these roles.
- Any change made is visible to all users accessing the application.
- On top of the changes implemented in the UI Configuration tool, end users can do settings for personalization of the view. Personalization settings are applicable to the individual user and are not shared among other end users.
- As per the requirement, personalization can be controlled within the customizing setting.
- This means that there are customizing settings with which developers can restrict users from personalizing the views.
- After applying this setting, the personalization button will not be available for the end users.
Application Enhancement Tool (AET)
- The Application Enhancement Tool is a comprehensive tool for enhancing the SAP standard applications such that the modifications down to the database level are implemented by the tool itself, and there is almost no coding effort.
- This tool is also integrated with the Web UI Configuration tool.

- Similar to the UI Configuration tool, first you need to select the configurable area (highlighted in blue) from the application.
- This will open the UI Configuration tool in the same window, as shown below.

You need to select the relevant button for AET enhancements (highlighted above):
- Display Enhancements: Enables you to view already existing enhancements. It is possible to select an enhancement and modify it.
- “Create Field” button can be used to create a new field in the selected view.
The following is the display of existing field and table enhancements:

This view has buttons for View & Table enhancements in respective assignment blocks:
- New: Using this button, it is possible to create new fields and also to create tables.
- Using the hyperlink in the first column (Enhancement Id), it is possible to edit an existing enhancement.
Web UI Configuration Tool vs Application Enhancement Tool
Before moving to the step-by-step view enhancement, the comparison below clarifies when each tool should be used:
| Aspect | Web UI Configuration Tool | Application Enhancement Tool (AET) |
|---|---|---|
| Primary Purpose | Adjust the visible layout of existing views | Add new fields and tables down to the database |
| Data Dictionary Impact | None โ uses only existing fields | Generates database structures and tables automatically |
| Coding Effort | Optional ABAP for advanced cases | Almost zero coding required |
| Typical User | Functional consultant or super user | Functional consultant working with the technical lead |
| Scope of Change | Per-view layout and personalization | Application-wide field and table extensibility |
Enhancing View
- In order to enhance a view, after clicking on the “New” button (shown in the screenshot above) you need to select the business object part where the new field or new table needs to be added.

- Depending on the object selected, the database tables and structures will be selected.
- While creating a field, you need to set the properties of the field:

- According to the properties selected, the field will be generated and different layers will be enhanced for the new field.
- The “Enable Expert Mode” button can be used so that the framework picks properties from the Data Element used in the field definition.
- In Expert Mode, we need to set a value for the Data Element field.
- In the data element definition, it is possible to set properties like Label (Description).
- Thus, different properties of the field can be set automatically using the data element definition in the data dictionary.

- Similarly, we can create table fields using the AET.
- For a table, we need to specify the details of the table as a whole, and also the individual fields to be generated for the table.

- Once a field or table is generated using the AET, the application will restart, and the user can then use the new field or table.
- These fields and tables will also have updated the required database tables.
- This means that when you enter a value for these fields and perform a save, the value will get stored in the database.

