Show TOC

AdaptationLocate this document in the navigation structure

Use

When business requirements are mapped onto an ERP system, many standard applications are created that can be implemented by different companies. This does not automatically mean that the user interface of a business application is always the same. Depending on very different factors (for example, the required functions of an application, size or industry of a company), the requirements of the application user interface can vary greatly. On the other hand, it is often necessary to give business application users the option of co-designing the UI they use for their work.

Applications that are created with the help of Web Dynpro ABAP can be adapted in different ways and by different target groups. In Web Dynpro ABAP, there are various ways of adapting applications:

  • In an industry or customer solution, changes - and enhancements in particular - can be made using the Enhancement Framework and stored as modification-free programming.

    For more information, see: Modification-Free Enhancements

  • An administrator can make and store layout changes that are valid for all users. This includes hiding or swapping table columns, changing label texts, setting default values, and much more. An administrator can also add further UI elements that require no programming. This includes showing the company logo or adding explanatory text.

    This is a type of Web Dynpro built-in adaptation. It constitutes part of the configuration/customizing features provided by the Web Dynpro Framework.

  • If not explicitly deactivated by the administrator, users can show UI elements and swap table columns.

    This is a type of Web Dynpro built-in adaptation. It constitutes part of the configuration/customizing features provided by the Web Dynpro Framework.

  • If further adaptation options are required, a controller can be defined as a configuration controller in the component. Its context contains adaptation options. The component must then read the data from the configuration context. The context is automatically filled with data defined using a generic tool (configuration editor). This definition is normally predefined by SAP (configuration) and then changed by the administrator (customizing). If users wish to make further personal settings, the user interface for this purpose must be made available by the application component.

    This is a type of component-defined adaptation. It is a configuration/customizing feature provided by the component.

Both built-in and component-defined adaptations have three layers:

  • The configuration layer , containing settings for generic components that are predefined by SAP.

    The configuration is carried out by developers.

  • The customizing layer , for adaptations carried out by the administrator at the customer's site.

    Customizing is carried out centrally by administrators. These are client-wide adaptations.

  • The personalization layer , containing individual settings for each individual user.

    Personalization is carried out by end users who want to change the UI of the application by, for example, hiding or resorting fields.

Figure 1: Adaptation

The configuration data is stored in its entirety. For other layers, only the changes to the existing data are stored. As a result, corrections to the configuration layer also reach the customer even if customers have made their own adaptations. Data can be marked as final in the configuration and customizing layers. This means that the data may not be overwritten. Even if the data exists at a higher level, it is not taken into account.

The component-defined variants are mainly available for personalization through the ALV. As a rule, personalization outside the ALV relates almost exclusively to Web Dynpro built-in personalization.

There is also the WD_BADI_DOMODIFYVIEW BAdI, which belongs to the WD_BADI enhancement spot and provides an additional enhancement option for the WDDOMODIFYVIEW method.

Note

The adaptation of Web Dynpro applications of a Web Dynpro component almost always takes place at design time . The only exception is the configuration of an included ALV component . In contrast to this, personalization and customization are always executed at the runtime of an application.

Personalization

In contrast to configuration, personalization is a function that is also available to the user of an application and provides him or her with the option of adapting the application to suit his or her own personal requirements or preferences. The framework for variation options within personalization is less far-reaching than that in configuration; personal settings in the UI must never limit the running ability of an application. Personalization of an application is performed directly by a user from within the current application.

Customizing

Personalization settings can also be maintained for larger user groups. A system administrator can process personalization settings on the basis of his or her extended authorization , provided the application in question is running in the configuration mode .

Configuration

The configuration of business applications takes place in two subsequent steps:

First, configuration data records are created for the individual Web Dynpro components ( Component Configuration ). Such configuration data records are absolutely necessary when using generic components, such as the ALV or Pattern component. Configuration data is created and edited mainly by developers.

The next step is Application Configuration : A main component is created for an application and this main component uses multiple other components. Each of these used components is required in a particular configuration. The application configuration defines which component with which configuration is required for the application. This step, too, is carried out primarily by application developers.

Application and component configuration data is created and maintained using a configurator (configuration editor).

Application configuration

The adaptations described above are made and stored at component level. There can be various configuration/customizing/personalization instances for a component. Application configuration is for defining the correct component adaptation. Application configuration is a development object - usually defined by SAP - and contains the names of the component configurations for some of the components contained in the application. If a component usage is not specified statically and only the component interface is statically defined, the relevant interface implementation should also be selected in the application configuration. You can also define the values of the application parameters in the application configuration.

Which Component Adaptation Is Selected?

When a component is loaded, the system checks whether adaptation data (configuration, customizing, or personalization data) exists for the component in question. The following rules define which data is read:

  1. If a configuration ID is specified when the component is generated, the adaptation with this ID is read.

  2. Otherwise: If an application configuration exists in which a configuration ID is entered for this component usage, this is read.

  3. If not, a hash value is formed from the application name and the path from the component usage to the current usage. This value is used as the configuration ID and is read with the data.

This ensures that the adaptation data of a component that is used in two different applications is only shared if this is explicitly required. The data is only shared if the configuration ID is the same for both component usages. Otherwise the adaptations are independent of each another.

Framework-Defined Application Parameters

There is a range of parameters that can be filled in the application, are defined by the framework, and are processed by the Web Dynpro runtime.

For more information, see: Application Parameters and URL Parameters

More Information

For information on using the end-user and administrator personalization functions, see End User and Administrator Personalization .

You can find information about personalization options provided by the SAP List Viewer for Web Dynpro ABAP in Personalization in the SAP List Viewer .