cancel
Showing results for 
Search instead for 
Did you mean: 

Passing a Structure using Outbound & Inbound Plugs

Former Member
0 Kudos

I am new to WebDynpro, please excuse my inexperience. I am trying to pass a simple DDIC defined structure, called S_PASSTHIS, from VIEW1 to VIEW2. I am not concerned with binding the passed data to anything yet in the receiving VIEW2. I just want to understand how to pass the data first.

The outbound plug, called OUTPLUG, has S_PASSTHIS defined as the parameter to pass. The inbound plug, called INPLUG, is linked to OUTPLUG for navigation. Before VIEW1 fires OUTPLUG to pass control to VIEW2, I confirmed that all of the fields are populated in S_PASSTHIS in VIEW1.

After firing OUTPLUG, control now transfers to VIEW2 in the method HANDLEIN. I would think that if I looked at S_PASSTHIS in debug (in the HANDLEIN method for VIEW2) that I would see the passed structure. But, the debugger does not even recognize S_PASSTHIS as a defined field. I also looked at the static attributes of ELEMENT_PASSTHIS in VIEW2 HANDLEIN method. But, there are no static attributes to get there either, they are null. Nothing was passed.

I did map S_PASSTHIS as a Node with attributes in the component controller as well. However, I am not even sure if I needed to do this. It may be causing an issue, because I have other contexts mapped in there for processing in VIEW1. As I said, I am not concerned with any binding yet, for output, I just want to understand how to pass the data with the plugs, and how to confirm that the data is getting passed to VIEW2.

I must not be sending S_PASSTHIS correctly with the plugs, or maybe I am missing something in the receiving VIEW2? Else, wouldn't I be able to see S_PASSTHIS in VIEW2 debug? If I need to define it somewhere in VIEW2, I can. But, I do not even see anything being passed that is recognizable to me in any nodes or elements?

Thank-You, Tom Matys

Accepted Solutions (1)

Accepted Solutions (1)

former_member182372
Active Contributor
0 Kudos

Tom, you have to explicitly add S_PASSTHIS to the signature of the event handler method assigned to the inbound plug to read this parameter (method HANDLEIN).

http://help.sap.com/saphelp_nw04s/helpdata/en/1f/464941db42f423e10000000a155106/frameset.htm

Answers (2)

Answers (2)

former_member199125
Active Contributor
0 Kudos

Please go through below link, hope this is what you are looking.

http://wiki.sdn.sap.com/wiki/display/WDABAP/PassingLocalParametersbetweenviewsinanABAPWebDynproApplication

Still any doubts revert.

Regards

Srinivas

Former Member
0 Kudos

Hi Tom,

1)First declare a parameter while declaring your outbound plug(OUT) in view1 suppose say param1.

If you want the param1 type as structure then first declare this structure in data dictionary

and then use it as associated type for param1.

2)Now create a inbound plug(IN) in view2 and create link between view1 and view2.

3)Fire the outbound plug of view1 and pass the param1 value.

4)Now got to view2 and go to methods tab, you can find a method with name as HANDLEIN

(i.e HANDLE+ plugname).In this method declare parameter with same name as ountbound plug parameter

of view1(i.e param1) and make it as importing. Now bind this value to your node.