cancel
Showing results for 
Search instead for 
Did you mean: 

PI 7.1 EHP1: RFC lookup does not pass the parameter values

Former Member
0 Kudos

Hi,

I am not sure if anyone came cross this issue:

This is IDOC -> PI -> File scenario

IDOC sender side, we used IDOC packaging, means in one message, we have mutiple IDOCs.

There is RFC lookup function in message mapping, it takes 8 parameters. There are four contants value and four queue passed.

We would like to call the RFC lookup for each IDOC sent.

Saying we sent 10 IDOCs, the RFC was called 10 times, this is expected behavior.

However, in 8 parameters, we miss four parameters values even we passed values

Regards.

Liang

Accepted Solutions (1)

Accepted Solutions (1)

jose_augastine3
Active Participant
0 Kudos

Hi Liang,

Refer this blog

/people/shabarish.vijayakumar/blog/2010/01/28/graphical-rfc-lookup-and-how-you-can-design-lookups-for-multiple-values-to-be-retrieved-in-a-single-call

Hope this helps !!!

Regards,

J Augastine

Former Member
0 Kudos

J Augastine:

Thanks for the input.

In blog, it talked about one RFC call for a mapping.

In my situation, we need to multiple times of RFC, since this is EDI scenario, some elements need to be incremented.

Previously, this RFC works without any problem. However we increased 4 parameters, for those parameter added laterly, it does not carry the value to RFC call, I tried to removed the function from ESR and re-import the RFC, but it still does not help.

I also tried to pass constant value or queue value, it all does not help.

Regards.

Liang

Former Member
0 Kudos

Try to change the logon user of RFC in RFC channel or RFC calling. Some cache problem, not refresh with new RFC parameter.

Former Member
0 Kudos

Hi Liang,

I assume the system where you're doing the RFC call is maintaining the sequence for you? Otherwise just do the call once and then increment the sequence within the map. If you need to do the call for each occurrence, you could try figuring out how many you need to do in advance, then use a loop to repeat the RFC call.

Mike

Former Member
0 Kudos

Hi, Mike:

Thanks for reply and nice to see you on the forum.

Probably your advice works, but I am trying to use standard function rather than java UDF to call the RFC now.

This standard function is available from PI 7.1. If I can not make it working, then I will switch to the traditional way of calling

RFC like you suggested.

Thanks

Liang

Shabarish_Nair
Active Contributor
0 Kudos

the rfc lookup function should pretty much satisfy your need.

in my blog - /people/shabarish.vijayakumar/blog/2010/01/28/graphical-rfc-lookup-and-how-you-can-design-lookups-for-multiple-values-to-be-retrieved-in-a-single-call i have mentioned how to use it for just one call. in your case if u need the rfc lookup to be called per idoc all you need is to handle the context so that the calls will be made separately i.e per context change.

hope you can play around a bit with the context and i am sure you can make multiple calls

Former Member
0 Kudos

Shabarish:

Thanks a lot for dropping by my thread, your blog is very useful when I make one time call in the mapping.

I have a question on your blog: does you use standard PI 7.1 function or you use UDF to call the function ?

Thanks

Liang

Former Member
0 Kudos

Liang - are you sure that the idoc elements are available in queues when you expect the RFC call to be made. Depending on the depth of the IDOC I've had to use a combination of 'useOneAsMany' and 'SplitByValue' to ensure single data elements flow down to repeating idoc elements.

What happens when you show the queue for your RFC Lookup?

Shabarish_Nair
Active Contributor
0 Kudos

yes i have used the standard function

Answers (1)

Answers (1)

Former Member
0 Kudos

This is surely a context / queue problem in the mapping, not a problem with the RFC.

CSY

Former Member
0 Kudos

Sovled with no update.