Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

RFC error

Former Member
0 Kudos

Hello,

I am accessing HRP tables in a RFC function call, to select Training and Event management data.

I have defined a stucture and am populating fields in an internal table of the declared structured type.

This internal table is passed as a TABLES parameter to the RFC.

The RFC works fine when tested within SAP. The Event details are correctly retrived using the HRP1000, HRP1001, HRP1024, HRP1025 tables.

But the RFC returns with an empty table when called from Biztalk.

When I hardcode values in the RFC, these hardcoded values are correctly passed to Biztalk.

So it seems that the SELECT statements are not getting executed.

Could there be a problem in table authorisation?

Can anyone give me a clue as to where I can start looking?

I have

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Search the forum for "debugging RFC calls." Missing leading zeroes is a common problem when making calls from external systems. Make sure the request parameters are accurate. Can you get a dump of the data being passed immediately before the RFC call from Biztalk?

5 REPLIES 5

Former Member
0 Kudos

Search the forum for "debugging RFC calls." Missing leading zeroes is a common problem when making calls from external systems. Make sure the request parameters are accurate. Can you get a dump of the data being passed immediately before the RFC call from Biztalk?

0 Kudos

The RFC is exopecting only one parameter, which is EVENT_ID. I am passing the entire 8 digits of the numeric field of the input parameter.

How can I get the data dump before the Biztalk call? Please advice.

0 Kudos

I don't have any experience with Biztalk, so I don't know if it can provide a dump of the data or not. It should have some trace ability on the RFC call.

Something else you could try is to add an infinite loop into your function. Something like.

do.

if sy-subrc <> 0.

exit.

endif.

enddo.

Once you initiate the call from Biztalk, go to transaction SM50 and find your process. Select it and go to Program/Mode->Program->Debugging and you should jump into the loop.

You can then step through the code in debug to see what is happening (or not happening in yuor case). Then change SY-SUBRC = 0 here to exit the loop.

0 Kudos

Michael,

Thankyou very much.

I was able to put an infinite loop and look at the input parameters.

Biztalk is passing in '00000000' as Event Id to the RFC. Thats the reason the RFC returns no values.

Now I need to find out why the input parameter comes in as a blank!

Thanks again for your help.

0 Kudos

Good luck.