cancel
Showing results for 
Search instead for 
Did you mean: 

Value Mapping Replication Vs RFC Lookup API Usage Pros and Cons

Former Member
0 Kudos

Hi All,

We have scenario in which there is a need to lookup ECC tables to fetch values for few fields (around 5 to 8).

Number of records from source data: around 30,000 Line items per message

Number of records in ECC Lookup table: 1500 to 3000 max (with 5 to 8 fields in each record)

We are thinking about using either of the two methods:

1.Value mapping replication triggered by ECC table insert/change event as suggested in the blog:[Value Mapping Replication Scenario|http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/13812] [original link is broken] [original link is broken] [original link is broken];

2.Writing custom RFC lookup UDF/Java code to fetch all the records once and save it in memory then do the mapping from memory for each line items.

We need advice on pros and cons of the above said techniques and also would like to know which techniques is best suited for this purpose. Please let us know your thoughts and experiences in this area.

NOTE: Graphical RFC lookup is ruled out because we do not want to call the RFC lookup for each line item.

Thanks and Regards,

Ananth Chinnaraj

Accepted Solutions (1)

Accepted Solutions (1)

former_member181962
Active Contributor
0 Kudos

Hi Ananth,

Looking at the options you have, Value Mapping Replication might be a better option, because, by going the second route, you are just trying to simulate how a Value mapping replication works in reality.

But, when the VMR framework is readily available, why do we need to simulate it by using Java code?

Moreover, the java code approach will be triggered as many times and the number of messages that are triggered VS the number of times the VMR tables in the Java Runtime gets updated only when there is an entry that is added/modified in the SAP side (Which i feel is less frequent than the frequency of the messages being sent through XI).

Regards,

Ravi Kanth Talagana

ravi_raman2
Active Contributor
0 Kudos

Ananth/Ravi,

if you really analyze the number of calls versus the updates to the code that would need to be made, I believe the Java lookup is better as you just need to write the code ONCE, after which all updates to data will be handled in the One lookup call per message.

The question here to ponder on is the Volume of messages versus the amount of changes that is expected to be made to the table.

Too many changes to the table ..dictate a Java Lookup is better.

Too many messages dictate the VMR is a better option as the amount of data in the memory heap can grow fast if you have a few hundred messages per minute.

Regards

Ravi Raman

Former Member
0 Kudos

Hi,

There are more issues you need to consider here:

1) Is this static data or will it change often (the lookup data);

2) Wether it is a good approach to keep it in middle system? if so who takes the ownership of managing it i.e. update, delete etc from time to time

3) The tables don't seem small to me for value mapping

....

I am not a big expert but i am off the opinion going RFC way as it will keep loose-coupling in place.

However your issue for not using graphical RFC is not true though, you can pass all your line items as a single object which means only making ONE single call to ECC and then get the return the same way. Think along the lines of internal table as an object

regards,

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Ravikanth, Ravi,

We do not want to add any custom code at ECC, I believe value mapping replication requires custom ABAP proxy code to send data to PI.

The data in the lookup tables are kind of static, changes can happen once in a month.

This interface may run once a day (Daily).

Thanks and Regards,

Ananth

stefan_grube
Active Contributor
0 Kudos

> We do not want to add any custom code at ECC, I believe value mapping replication requires custom ABAP proxy code to send data to PI.

This is correct. You have to create a report that can run as job to copy value mapping table to PI frequently.

On the other side, you need to code your mapping table and your lookup RFC in ECC anyway.

ravi_raman2
Active Contributor
0 Kudos

One java RFC lookup ..custom developed to load Only once per message and the object destroyed after processing or you can try the singleton instance..it might save you lots of memory and improve performance as well.

Regards

Ravi Raman