cancel
Showing results for 
Search instead for 
Did you mean: 

WDDISABLEUSERPERSONALIZATION not working with popup window

Former Member
0 Kudos

We have an application where we call standard SAP application 'HAP_MAIN_DOCUMENT' from our custom code.

We do not want our users to do any personalization therefore we are adding 'WDDISABLEUSERPERSONALIZATION' to our URL.

This was working earlier however it stopped working after last round of support packs.

Any ideas how can we resolve this issue?

Thanks in advance.

Nimesh


.
.
.
  CLEAR ls_parameters.
  ls_parameters-name = 'MODE'.
  ls_parameters-value = 'X'.
  APPEND ls_parameters TO lt_parameters.

  CLEAR ls_parameters.
  ls_parameters-name = 'WDCONFIGURATIONID'.
  ls_parameters-value = 'HAP_AC_MAIN_DOC'.
  APPEND ls_parameters TO lt_parameters.

  CLEAR ls_parameters.
  ls_parameters-name = 'WDDISABLEUSERPERSONALIZATION'.
  ls_parameters-value = 'X'.
  APPEND ls_parameters TO lt_parameters.
.
.
.

* Generate the URL to be called.
  CALL METHOD cl_wd_utilities=>construct_wd_url
    EXPORTING
      application_name = 'HAP_MAIN_DOCUMENT'
      in_parameters    = lt_parameters
    IMPORTING
      out_local_url    = l_url.

  lo_window = client_component->create_external_window( url = l_url
                                                        modal = abap_false
                                                        has_menubar = abap_false
                                                        is_resizable = abap_true
                                                        has_scrollbars = abap_true
                                                        has_statusbar = abap_false
                                                        has_toolbar = abap_false
                                                        has_location = abap_false ).
  lo_window->open( ).

Accepted Solutions (0)

Answers (1)

Answers (1)

Lukas_Weigelt
Active Contributor
0 Kudos

If you do not want your users to do any personalization at all, why not globally disable it with WD_GLOBAL_SETTING? Or are you merely referring to this one Standard WD4A?

regards, Lukas

Former Member
0 Kudos

We don't want to remove personalization for all applications. Only this one.

Since this is a standard SAP application I'm unable to change 'Application Parameter', Application configuration.

Any ideas?

Nimesh

Lukas_Weigelt
Active Contributor
0 Kudos

In that case:

1. You could create a component configuration for the SAP standard component.

2. Create an apllication configuration, bind it to the components configuration and in the tab "application parameters" of the application configuration, set the checkbox for disable end user personalizion to X.

3. Call the standard application within your coding with the application ID you created, I guess then you would need the additional parameter IN_PARAMETERS within your call of that part of your coding:

lo_window = client_component->create_external_window( url = l_url
                                                        modal = abap_false
                                                        has_menubar = abap_false
                                                        is_resizable = abap_true
                                                        has_scrollbars = abap_true
                                                        has_statusbar = abap_false
                                                        has_toolbar = abap_false
                                                        has_location = abap_false ).

IN_PARAMETERS-Name should be "sap-wd-configId" and IN_PARAMETERS-Value should contain the ID of your application configuration.

Can't promise you this will work for your case, but this is the cleanest and easiest way. In case this fails you can still try to enhance hook method WDDOINIT of the Standard Component to set the Parameter. But then this would reflect for all Applications which use this standard component (not the most elegant way).

best regards, Lukas

Former Member
0 Kudos

Thanks a lot Lucas.

1.You could create a component configuration for the SAP standard component.

2. Create an apllication configuration, bind it to the components configuration and in the tab "application parameters" of the application configuration, set the checkbox for disable end user personalizion to X.

.

.

.

In case this fails you can still try to enhance hook method WDDOINIT of the Standard Component to set the Parameter. But then this would reflect for all Applications which use this standard component (not the most elegant way).

I'm not very familer with configuration procedure. Could you point me to some resource for 1 and 2?

I was leaning towards doing the enhancement however I could not find any API to set application parameter.

There is no setter method on IF_WD_APPLICATION.

Thanks,

Nimesh

Former Member
0 Kudos

Hi Nimesh,

Please go through this to create Component Configuration. step by step..

http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b52e13c3-0901-0010-8fa6-d11a51821b7c

Cheers,

Kris.

Lukas_Weigelt
Active Contributor
0 Kudos

Hi Nimesh,

you are right, now that I took a look, I couldn't find any Interface/Class which provides access to App-Parameters except the WD_GLOBAL_SETTING Class which doesn't apply for your needs. The Turotial Kris posted is very good, it should help you learn about Component and Application Configuration (helped me too).

The short steps are:

1. Go to se80 open the respective Standard SAP Component.

2. Right Click on the WenDynpro Component, Choose "Create Configuration"; The Component Configuration panel will open. Create a Z configuration and Save it to a Z Package, don't be irritated by the configuration showing up in the repository browser tree within the SAP standard component, it's just a link and doesn't conflict with the standard. You don't need to do any configuration within this component configuration.

3. Right Click on the corresponding Standard WebDynpro Application, Choose "Create Configuration", The Application Configuration panel will open.

4. Assosiate the component configuration with the application configuration.

5. Go to the tab "Application Parameters". There you can check the checkbox for "Disable User Personalization".

regards, Lukas

Former Member
0 Kudos

Thanks Lucas,

However I'm unable to create my own configuration/enhance configuration as I get following JAVAscript error.

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .....)

Timestamp: Fri, 26 Aug 2011 14:49:17 UTC

Message: 'oPageUpdater' is null or not an object

Line: 1

Char: 2137

Code: 0

URI: http://XXXX/sap/bc/webdynpro/sap/configure_application?sap-language=EN&APPL_NAME=HAP_MAIN_DOCUMENT

Any ideas?

saravanan_narayanan
Active Contributor
0 Kudos

Hello Nimesh,

It seems that you are using web browser which is not compatible with webdynpro. Which browser are you using? If its IE 9 then you need to uninstall and install IE8.

BR, Saravanan

Former Member
0 Kudos

I do not have IE9. I'm on IE8.,