Skip to Content

WebDynpro Component and Application Configuration – Disabling Personalization

   

ABAP WebDynpro is a greay technology for MVC development of Web or SAP GUI applications.  For anyone who has developed ABAP WebDynpro applications, you will already know that some screens (views) will allow the user to personalize their layout.  Personalization is a really good concept but can also have its limitations.  For example, I have found that if you use the table control on your WebDynpro Views, then you should probably disable personalization for the particular WebDynpro application.  Why do I say this?  When using the table control, you may have noticed that by default the table will alternate its width while the user is scrolling through the table entries. There is nothing more annoying than a table changing its width causing the user to constantly have to move the mouse to the new location of the scroll bar. 

   

There is a table property “fixedTableLayout” which WILL fix the width of your table.

/wp-content/uploads/2013/01/pic__171840.jpg

The only problem with this property is that a user can still change the width of individual columns which can ultimately change the overall width of the table.  Very annoying…..  This can be resolved by also disabling personalization.

Here’s an example of a table changing its width:

/wp-content/uploads/2013/01/pic__171840.jpg

After scrolling you can see the table shrunk its width to the size of the data:

/wp-content/uploads/2013/01/pic__171840.jpg

How to correct this behavior:

First:  You need to set the table parameter, fixedTableLayout, as discussed earlier:

/wp-content/uploads/2013/01/pic__171840.jpg

With this setting alone, the user will see a fixed width table, but the user will still be able to manipulate the column widths.  This can cause your table to act odd (especially if the table is embedded within another control – such as a group that has its own width properties). 

   

     As a quick note: if you ever need to delete a personalization setting for a particular user, you can use the following link:

     

     https://<yourserver>/sap/bc/webdynpro/sap/wd_analyze_config_user?sap-system-login-basic_auth=X&sap-client=<yourclient>&sap-language=EN

     This link will launch the following screen where you can delete personalization settings:

/wp-content/uploads/2013/01/pic__171840.jpg

Second:  You need to disable personalization.  To do this, do as follows:

1. Right mouse click your WebDynpro Application and select Create/Change Configuration

/wp-content/uploads/2013/01/pic__171840.jpg

/wp-content/uploads/2013/01/pic__171840.jpg

2. The following screen appears:

/wp-content/uploads/2013/01/pic__171840.jpg

3. Enter a Z name for your configuration ID and select Create.  Enter a package and transport.

/wp-content/uploads/2013/01/pic__171840.jpg

This will create a configuration profile under your WebDynpro application:

/wp-content/uploads/2013/01/pic__171840.jpg

4. You can now launch the configuration editor by double clicking the configuration name, ZWD_GETFLIGHTS in my case.  You will see many parameters that can be changed.  Make sure to check the “Do Not Allow Personalization”.

/wp-content/uploads/2013/01/pic__171840.jpg

Now to check this parameter change worked, simply click your application configuration and select test.  Your application launches and personalization has been disabled. 

In addition to the above settings, I add the following parameter WDDISABLEUSERPERSONALIZATION setting to my DynPro application settings:

/wp-content/uploads/2013/01/pic__171840.jpg

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Jan Thomas Nygaard

    If you want to do this globally for all wd abap applications instead of for every application you can run /sap/bc/webdynpro/sap/wd_global_setting from SICF and tick “Do Not Allow
    Personalization by the User” option.

    (0) 
    1. Philip Johnston Post author

      Thanks for sharing your insight.  I do like the global seting for disabling personalization for all Web DynPro’s.  Sometimes, getting the business on board to allow this global setting can be an act of congress so I’m glad there is an option to do it per application.  If it’s done globally, it sure does cut down on those help desk calls..  thanks….

      (0) 
  2. Ben Clever

    Hi Johnston,

    Thanks for the post!!

    I actually want to do the reverse, I want Personalization but the users should be able to choose what they want. Instead of global for everyone. I way to do this in code so that settings are persisted for that very user. Next time they logon. Example will be the theme.

    Thanks

    1. Ben.
    (0) 

Leave a Reply