What is Configuration, Customizing, Personalization?
What is the relationship between Application Configuration and Component Configuration?
What is Implicit resp. Built-In Adaptation? What is Explicit resp. Component Defined Adaptation?
Some change features are provided for any Web Dynpro Application, like hiding a UI element, reorder the columns of a table (not all tables, but most of them), etc. These adaptations are called implicit or built-in.
In some application this is not sufficient. Therefore the developer of the Web Dynpro component enhanced the possibilities. This is explicit or component defined. E.g. the FPM components use explicit configuration extensively.
What can I do with Built-In Customizing?
With Implicit Customizing you can change data of a Web Dynpro application for all users. The available functionality depends on the UI element type.
Start the application with URL parameter "sap-config-mode=X". Use the context menu on the UI element you want to change and select "Settings for current configuration". If you do not see this meu entry, please check your autorization.
You can hide each UI element. You can change the labels, set the value of an input field, reorder the sequence of the table columns, modify the number of visible rows in a table, set the width of some UI elements, and so on.
In some cases you can add decorative elements to containers (when the layout is matrix, grid, flow or form layout) . When you have added some elements to a data structure, which is used within the context, you can add UI elements displaying these fields to the screen.
How can I create / change the Configuration?
To create an application configuration, go to SE80 and select the Web Dynpro application. Then open the context menu and choose "create / change application configuration".
A Web Dynpro application is started, where you can enter the name of the application configuration. Please note that the name must be globally unique. When you press "new" or "create" (depending on the release), you should enter detailed information like package, transport request, etc.
On the main screen you can enter the necessary data and press SAVE.
Then the application configuration is visible as a subnode to the application in SE80 (press "refresh", if not yet visible). Double click and then you can call the configuration editor from there.
To create a component configuration you can use a similar way as with the application configuration, or you can navigate from the application configuration to it. If it does not yet exist, you have the chance to do it there. This is the easiest way.
How can I change the Customizing?
If you just want to do some implicit changes, call the application with URL parameter "sap-config-mode=X". If you have the necessary authorization, you can do the changes using the context menu at the UI element you want to change.
If you want to do changes, which are not available at runtime, you should start the customizing editor. This is nearly the same as the configuration editor, but the object you are working on, is a different one. Start the confguration editor, and change the name of the application in the URL from "configure_component" to "customize_component".
For FPM components: Start the application in customizing mode (see above). Then you see some icons in the top right corner, which you can use to start the customizing editor.
How can I change the Personalization?
Personalization are changed just at runtime. If allowed, use the context menu set the visibility of a UI element or set the default value of an input field. Changing the order of table columns is just done via drag and drop.
Which authorization is needed?
For Personalization there is no authorization needed.
For Customizing authorization object S_WDR_P13N or development authorization is used.
Configuration is only allowed for users with S_DEVELOP authorization.
How can I prohibit Personalization?
You can disallow personalization in general, prohibit only hiding of fields, or exclude changing specific properties.
To disallow personalization in general, set the application parameter WDDISABLEUSERPERSONALIZATION to true. This can be done per client (with application WD_GLOBAL_PARAMETERS) or for specific WD applications on the Parameters tab of the application.
If you want to allow personalization excluding hiding UI elements, the application parameter WDENABLEUIELEMENTSHIDE can be used. This is set to true be default, but it can be set to false. This functionality is available from 7.31.
When there are only some selected properties you want to remove from the personalization list, you can set it to "final" on configuration or customizing level. This is true for explicit and implicit personalization.
Which texts are translatable?
Some configuration texts and customizing texts are translatable.
For implicit adaptations those texts are translatable, which are also translatable in Web Dynpro ABAP itself.
For explicit adaptations this is a little bit more difficult, because it depends on the declaration within the configuration context of the component.
How can I translate the texts?
Translation is done using the standard translation transaction SE63.
Configuration texts are identified with logical transport object WDCC and the key (use a '*' behind the configuration id).
Customizing texts are found through the table WDY_CONF_USERT2 and the key.
For detailed description please refer to the FPM blog http://scn.sap.com/community/web-dynpro-abap/floorplan-manager/blog/2012/10/04/team-fpm--all-about-translation-and-texts-of-fpm-applications
Why am I asked for Access Keys?
From 7.31 on you will be asked for an object access key, if you want to create or change a configuration in the SAP namespace. You also need a developer access key.
This is implemented to remind you of the difference between configuration and customizing. When you change customizing data, no access key is needed.
What about FPM?
FPM (Floor Plan Manager) is a development framework built on top of Web Dynpro ABAP. The first version are available with release 7.01, but with 7.02 and especially 7.31 the functionality is extended.
With FPM the applciations consist mainly of feeder classes to access the business logic and WDA configurations to define the UI.
For more information about FPM please change to the FPM community.
How can I get an overview of the Configurations, Customizings, Personalizations?
- You can find application configurations in the Workbench (SE80). They are subnodes of the application, or you can find them in the package, or search in the Repository Information System.
- In se80 you can also use the Where-Used-List of component configurations to get all application configurations which contain them. (release 7.02 and higher)
- You can use WD application WD_ANALYZE_CONFIG_APPL to search and display application configurations.
- Like application configurations you can find them in the Workbench in your package or as a subnode of the component (in most cases). With release 7.31 and higher, you will not only see the organizational data, but also the contents of the configuration.
- Where-Used-List is also available for component configurations. (release 7.02 and higher).
- You can use WD application WD_ANALYZE_CONFIG_COMP to search and display component configurations.
Component customizings and personalization
- Customizings and personalization can be found and displayed with WD application WD_ANALYZE_CONFIG_USER. To find only customizing data, enter a '*' as user name, then press the icon in front of this input field and select "[=] single entry".
How can I delete Configurations, Customizings, Personalizations?
You can delete configurations in the workbench, in the configuration editor or with wd application WD_ANALYZE_CONFIG_COMP / WD_ANALYZE_CONFIG_APPL.
Customizings can be deleted by the administrator with the customizing editor or with WD_ANALYZE_CONFIG_USER.
The user can reset the personalization data within the application using the context menu "user settings"->"more"->"reset user settings for Running application".
The administrator can delete the personalization objects using WD_ANALYZE_CONFIG_USER.
How can I analyze, where the values come from?
If you have release 7.31 SP07 or newer, you can use the Runtime Analysis Tool, otherwise you could use the WD_ANALYZE_* applications.
Please see the separate blog about analyzing web dynpro abap adaptations by Michel Seifner http://scn.sap.com/community/web-dynpro-abap/blog/2013/08/08/team-wda--analyzing-web-dynpro-abap-adaptations
What are Configuration Enhancements and how can I use them?
Configuration objects can be enhanced using the enhancement framework.
There are 2 different implementations depending on teh release.
Release 7.01 and 7.02
In these releases configuration enhancements are configurations with an additional redirection entry. We call then "delegation enhancements". If there is configuration C1 and you create a configuration C2 as an enhancement for it, then you will get C2 whenever you call C1. You can create those enhancement in the configuration editor with function "Enhance". Then a copy of C1 is created and a redirection entry is added.
In newer releases you cannot create such enhancements anymore, but you can change or delete them.
These enhancements are available for application and component configurations.
Release 7.31 and higher
In release 7.31 we have implemented "real" enhancements for component configurations (Application enhancements are still the delegation enhancements). These are objects of type ENHO. You create them on the main page of the configuration editor in display mode as with any other enhancement in SE80. These enhancements are only deltas to the original configurations. This way it is possible to have more than one enhancement for one configuration.
When you are in the editor in display mode of a configuration with enhancements, you see the end result (configuration + enhancements). When you go to edit mode, you only see the configuration itself. When changing an enhancement you see the configuration plus enhancement.
You can see the enhancement in SE80 in the package. In release 7.40 you see them also as subobjects of the configuration.
You can also see the enhancements in WD_ANALYZE_CONFIG_COMP when you open the popin of the table row showing your configuration.
Which changes should be done with which technique?
- When you create your own application and need configuration, you should use the configuration object. This is especially true for FPM applications,
- When you want to modify a configuration delivered by SAP, it depends on the kind of changes whether you better use enhancements or customizing. Enhancement are better for larger changes, because you have features like version management, and you can add customiing on top.
- For minor layout changes customizing is the right way to do it.
Can I use Personas to change Web Dynpro Screens?
Currently SAP GUI Personas is only available for SAPGUI Screens