cancel
Showing results for 
Search instead for 
Did you mean: 

Strange RFC Structure Problem

Former Member
0 Kudos

Hello,

i face a very strange problem when executing an abap rfc call:

The target BAPI has several structures as table parameters but only one of this table parameters is filled with data on abap side (recognized through debugging). When i check the corresponding nodes on web dynpro side before rfc call, i see that the other nodes/tables are filled with data, too.

Can anybody give me a suggestion to solve this problem?

best regards

Florian

Accepted Solutions (1)

Accepted Solutions (1)

Yashpal
Active Contributor
0 Kudos

Hi,

check ur code where u r setting the input to RFC model object

like

ZBApiname_inp inp = new ZBapiname_inp();

wdcontext.node<name>().bind(inp);

inp.set<strname> or inp.set<tablename> or inp.set<parameter>

are u filling all the necessary inputs or not check if any........

Regards,

yashpal

Former Member
0 Kudos

hi yashpal,

i think so.

I call of wdContext.node<problemNode>.size()

returns a value > 0

Immediately after this call i execute the model:

wdContext.current<bapi_name>() .modelObject()

.execute();

and <problemNode> is a sub node of it!

Yashpal
Active Contributor
0 Kudos

Hi,

are u calling a standard BAPi or ur own.........

if u r using standard BAPI then problem is from webdynpro side .post a sructure of ur mapping in component contoller.....

Regards,

yashpal

Former Member
0 Kudos

Hi,

i'm calling my own bapi. (but i think the problem is on wd side because the bapi is working well)

The mapping is very simple:

ALL nodes from the model are mapped to the controller in unchanged structure as well as to the corresponding view.

And input nodes are mapped to the view elements.

Yashpal
Active Contributor
0 Kudos

for tables parameter two nodes are created .....

bapiname_input---map this node with the controller....

and there is a output node inwhich the others parameters

i.e o/p of exectution is stored so map this node also

and bapi_output---it contains the output if the same table is populated with data by BAPI...so if u want to bind the table output....mapboth..........

but for executing the bapi..

create the object of bapiname_input and bind it to context...... and then execute....

regards,

yashpal

Message was edited by: Yashpal Gupta

Former Member
0 Kudos

Hi Yashpal,

this is exactly what i have done.

context example:

context

--- model_input_node

--- subnode1

--- subnode2

--- subnode3

--- subnode4

--- model_output_node

-


subnode1_output

-


subnode2_output

-


subnode3_output

-


subnode4_output

Data for input is in the "normal input nodes"

After execution only the data of subnode1 and subnode2 are available in abap system. Data of subnode3 and subnode4 aren't!

Yashpal
Active Contributor
0 Kudos

Hi,

have u set all the parameters using the method call

input.setNodename();

if yes then check the model binding of ur modelnode....

regards,

yashpal

Former Member
0 Kudos

Hi Yashpal,

that was the problem, you're right.

Great, thanx for your help.

best regards

Florian

Answers (0)