cancel
Showing results for 
Search instead for 
Did you mean: 

Call a webdynpro application from a Standard Tcode, within SAP GUI.

catarina_campos
Explorer
0 Kudos

Dear Experts,

 

In the
Client area of the standard transaction CV02N, I need to call a webdynpro  from a button (using call transaction).

I need to pass values to this webdynpro application.

 

I tried, export and import parameters, set and Get – the values are not passed.

 

With shared buffer the values are passed but cannot be used for multiple users.

Can you help me?

I thought maybe with parameters but I dont want to use an url…. I only see examples of
using parameters with url in wda.

How I do this?

Thanks in advance,

Catarina

Accepted Solutions (0)

Answers (2)

Answers (2)

nishantbansal91
Active Contributor
0 Kudos

Hi,

For passing the parameter to WD if that parameter is application parameter than you have to pass your parameter while calling the WD application. But if that is just input for the WD, define the static variable in the assitance class and pass the value to that class static variable and use the same in your WD application .


Thanks

Nishant

former_member193460
Contributor
0 Kudos

Hi Catarina,

     The below document explains how to create tcode for webdynpro applicaiton.

How to Create a transaction code for webdynpro application - Web Dynpro ABAP - SCN Wiki

Passing values to Webdynpro application from ABAP:

Please check the comment from Thomas jung about such requirements:

"This approach is actually not that reliable. In post production servers you have more than one application server. When the WDA application opens, due to load balancing there is no guarantee that the user session for the WDA application will be on the same application server as the originating SAPGUI screen (or whatever your original process was).

Share memory objects exist in the global memory of the application server. They do not cross application servers. Unless you use some RFC based tricks to propigate your shared memory objects across all application servers, you will likely find that this approach fails some times in production systems with multiple application servers.

  I would instead suggest passing small amounts of information via URL parameters. For larger amounts or data types that can't easily be converted to strings, you should consider writting the data into the database temporarily (perhaps as a server cookie). This is the only way to ensure persistence in a multiple application server environment"

Regards,

Tashi

catarina_campos
Explorer
0 Kudos

Dear Tashi,

 

Thank you for your
response. I have implemented this solution, to pass data to a Share memory objects and in the Web dynpro import the data from the Shared
memory object. But I realized that the Thomas Jung comments are very true. From
the tests I Made, I realized that the data from different users is mixed up and
from different sessions of the same user is also mixed up. So, I cannot use
this solution, at least I did not find a way to identify the data of that
specific session of that user.

Thanks any way, I am still
looking for a solution.

Best Regards,

Catarina

nishantbansal91
Active Contributor
0 Kudos

Dear Catarina,

Yes you are correct Shared memory concept used for that places where data is not changed frequently. Eg. company code is not changed frequently, but for your concern you can make one simple class with static attributes and pass the data between two different program.

Program : A .

ZCL_TEST=>PRPS = '3131231'.

Prgram B.

Data lv_prps type prps.

lv_prps = zcl_Test=>prps.

In this way you can easily achieve this task.

Thanks

Nishant