cancel
Showing results for 
Search instead for 
Did you mean: 

Pass data from ABAP report to Web Dynpro ABAP and Vice versa - Best Choice?

Sharathmg
Active Contributor
0 Kudos

Hello All,

I have been working on the requirment to pass value from ABAP selection screen to WD ABAP application. The options obtained from forum & articles are as follows:

1. Shared Memory Objects

2. URL parameters

3. Global Variables/Internal Table in Function modules

4. Others ( Please fill this option, if there are more )

Personally, my option would be to use Shared memory objects as it would use the Classes and can be used as a standard for such data exchange in future instead of creating dummy classes. However, if we are using the shared memory enabled class as assistance class then, we cannot have the inheritance from class 'CL_WD_COMPONENT_ASSISTANCE'.

I request your inputs on your preferred choice and if possible the technical differences between the options.

Reference: [;

Thank you.

Regards,

Sharath

Accepted Solutions (0)

Answers (2)

Answers (2)

Sharathmg
Active Contributor
0 Kudos

Base don the discussion, it would be safe to say that Shared Memory Acess is the preferred channel for data transfer across sessions.

Thank you all.

Regards,

Sharath

ChrisPaine
Active Contributor
0 Kudos

You wouldn't use a SMA as an assistance class - but refer to one within it.

I would use Shared Memory Area classes - but I'd also build a SMA that could talk across multiple application servers.

Thomas Jung proposed this in a forum reply some time ago.

It shouldn't be too difficult to use RFC's to access the content of SMA's in multiple app servers - ensuring synchronisation across multi app servers. I've not yet had the need, so haven't attempted.

The long polling in 7.02 apparently uses this approach, so in a 7.02 system there may even be standard components/ SMAs that you could use.

I do not think global areas in FM's are available across sessions - I don't think you could use that as a data transport.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

>I do not think global areas in FM's are available across sessions - I don't think you could use that as a data transport.

You are correct. They do not cross user sessions. They are like static varaibles/attributes.

>The long polling in 7.02 apparently uses this approach, so in a 7.02 system there may even be standard components/ SMAs that you could use.

Nothing fancy in 7.02 to do this and certainly something you can do in older releases. Just put your shared memory access logic (or population logic) into a Remote Enabled Function Module. Then call function module TH_SERVER_LIST. This will give you a list of all active Application Servers. Then loop through that list and call your RFC with DESTINATION for each desintation returned from the TH_SERVER_LIST call.