cancel
Showing results for 
Search instead for 
Did you mean: 

RFC importing parameters values

Former Member
0 Kudos

Hi guys,

One doubt, I've implemented an RFC with a table and an importing parameter of the the type char.

I've done the mapping on the IR and everything is ok.

When I test the scenario, I've introduced a breakpoint on the R/3 side to check if the values are coming right on the rfc, and I'm not getting any values on the table or on the char parameter.

What is the "catch" that I'm missing...?

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

>>When I test the scenario, I've introduced a breakpoint >>on the R/3 side

are u testing end to end , that is from xi to r3 or just testign your rfc on the abap side??

also if you were testing from xi, do u see testing data in sxmb_moni??

did you make any changes to the rfc after you imported the rfc into XI??

naveen

Former Member
0 Kudos

Hi Naveen,

I've been trying to see if there was any other problem but I can't get anything...

On the R/3 side I now have two importing parameters, two tables and in the exporting parameters I have one char.

"are u testing end to end , that is from xi to r3 or just testign your rfc on the abap side??"

>> The scenario is an end to end, XI calling R/3, sending the xml file with a structure expected (theoretically) by R/3.

"also if you were testing from xi, do u see testing data in sxmb_moni??"

>> Yes, I see my XML file one the sending data.

did you make any changes to the rfc after you imported the rfc into XI??

>> No, the RFC is rightly imported...

When I test the scenario, when the RFC is called, on the breakpoint I don't get any of the tables filled...

Do you have any suggestions why isn't XI filling the tables?

Former Member
0 Kudos

Hi,

>>When I test the scenario, when the RFC is called, on >>the breakpoint I don't get any of the tables filled...

what do you mean by this?? do you have a HTTP break point set on the userid in R3??

also check st22 for any stack trace

it should be no brainer for calling RFC from XI. How are you calling it from XI, it is a webservice that you are invoking ->XI -> RFC Adapter -> R3

Naveen

Former Member
0 Kudos

Hi,

"what do you mean by this?? do you have a HTTP break point set on the userid in R3??"

I introduced a breakpoint on the R/3. I send via HTTP a xml file, which will be mapped into the two importing parameters of the RFC. On the RFC code, I've putted a breakpoint.

When i send the xml file via the web browser, it goes to XI, XI maps it to the parameters of the RFC and calls the RFC.

The RFC is then launched and the execution stops at the breakpoint.

At st22 I don't have any kind of dump...

At the logs there isn't any problem...

What do you think Naveen?

Former Member
0 Kudos

Hi,

In Sxmb_moni do you see the message being sent to R3??, does the message have the expected data after message mappings, ie are the tables filled??

can you make sure that the message mapping is working properly, what if the mapping is resulting in emply record set??

Cheers,

Naveen

Former Member
0 Kudos

Hi,

In Sxmb_moni I can see the message and the xml from the response is exactly the one i'm expecting.

How can you see if the tables are filled?

About the message mapping I think it's working, on the IR the test is executed successfuly, the logs don't have any kind of errors and the status on message monitoring is successful.

Like you said, how can I make sure if the tables are being filled?

Thanks in advance

Former Member
0 Kudos

Hi guys,

I've been testing the case and I've seen that if the RFC gets a normal string I can get it on the R/3, but not the tables...When i breakpoint the RFC,I'm able to receive the string but not any of the fields from the tables...

Is there any problem with receiving importing tables on a RFC?

Former Member
0 Kudos

Hi,

do you have ur tables defined under import or under tables category???

Naveen

Former Member
0 Kudos

Hi Naveen,

if I place them under import I only get 0..1 occurrences(meaning it acts like a structure), if I place them under tables I get 0..unbounded but I can't get it to work.

If it's a structure I'm able to receive the parameters, but under tables I'm not getting the values....

Former Member
0 Kudos

One more thing, when I place them under tables, after importing the RFC to XI, XI places a component "item" under the table that I declared.This component "item" is 0...unbounded.

When I correct the mapping to introduce that component, I'm getting a parsing error,

"could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Expecting a tag to begin with '<' instead of 'a', in "

meaning that he is not expecting that tag "item".

Do you have any idea...?

The mapping is ok and i get no errors from the mapping.

Former Member
0 Kudos

Hi Goncalo,

If you specify your structure in tables parameters it behaves as a table and can be usesd as both import and export parameter i.e you can pass the data to it and get the data from RFC. If you specify the same structure in import or export then it behaves as a structure (0:1) not the table (0:unbounded). So if you want your import parameter(import tab) to behave as a table(0:unbounded) then you need to create table type and use as import parameter.

The other option is specify your structure in tables parameter(tables tab) so that it will act as both import and export..

Regards

Anand

Former Member
0 Kudos

the parser problem could be because of cache problem as well since you reimported the RFC. check if chengelists are activated and cache contents are up to date.

Also check this thread..

Regards

Anand

Former Member
0 Kudos

Hi,

for what you want to achive, have the structure under tables category. Also when you import the rfc, and use it in message mapping, it will create a sub structure of item 0-unbounded.

Lets say your input was

test 0 - unbounded

A 1-1

B 1-1

and ur rfc had a table InputTable

rfc

InputTable 0-1

item 0-unbounder

A 1-1

b 1-1

do the following mapping

test -


> item

A -


> A

B -


> B

do this and ur rfc should work.

cheers,

naveen

Former Member
0 Kudos

Hi Anand,

like you said:

"So if you want your import parameter(import tab) to behave as a table(0:unbounded) then you need to create table type and use as import parameter."

I've created my table type but even this doesn't work, because i've placed them on the import parameter and imported them to XI, but XI gets 0..1 Occurrence...Although it's a table I don't know why XI is placing 0...1 occurrences...

Former Member
0 Kudos

Anand,

Terrific help...How on earth would I remember of refreshing the cache if I was not getting any errors on the cache notification, but the problem is solved... Thanks a lot

Former Member
0 Kudos

Naveen,

Thanks a lot for the answer...Like you said the problem was simple but it was getting difficult to get there.

Thanks for the time you spend helping

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

Check the input (the adapter call) in SXMB_MONI and verify that the field is provided there.

Cheers,

Roberto