cancel
Showing results for 
Search instead for 
Did you mean: 

lookups Vs BPM

Former Member
0 Kudos

Hi,

Can any one tell me

What is the difference between Lookups and BPM on performance bases?

Where we should use BPM and where it is better to use lookups?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Vinay,

We use BPM when we need to do:

1. Controling or Monitoring of messages in XI

2. Collect or Merge the messages in XI

3. Split the messages in XI

4. Multicast a Message

5. Need to send an Alert

XI BPM Performance: under-perform or out-perform?

/people/swen.conrad/blog/2006/12/22/xi-ccbpm-performance-under-perform-or-out-perform

LOOKUP Function: For example if you have a scenario in which you are getting the file from sender side and want to post the data of this file to R/3 system, but before posting the data into R/3 suppose you want to confirm that a particulat data let's say MATNR exists in R/3 or not then we create lookup function (UDF) in XI mapping.

Lookups are not recomanded because of its performance issue, reason behind this is, whenever you run the scenario it hits the R/3 tables to check an entry in the database, and as you know it is a big time issue to hit the database again & again.

Below are few links:

RFC Lookup.

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1...

SAP XI Lookup API: the Killer - /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer

DB lookup - /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler

SOAP Lookup - /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function

Check this weblogs with some screenshots on how to achieve this:

/people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups

/people/sap.user72/blog/2005/12/06/optimizing-lookups-in-xi

/people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes

/people/prasad.illapani/blog/2006/10/25/how-to-check-jdbc-sql-query-syntax-and-verify-the-query-results-inside-a-user-defined-function-of-the-lookup-api

/people/sravya.talanki2/blog

http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm

How to check JDBC SQL Query Syntax and verify the query results inside a User Defined Function of the Lookup API -http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

Lookups with XSLT - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffb...

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4...

Regards,

Sarvesh

Answers (5)

Answers (5)

Former Member
0 Kudos

Thanks.

Former Member
0 Kudos

Thanks Chirag,

As u said in both the cases some how the XI performance is decreasing, but when we talk in general then which one is better.

Former Member
0 Kudos

Hi Vinay,

You can not say which one is better as both of them has their own functionality and used under different business requirements.

if you wanted to do lookup to R3 then you have a option of using Lookup now which lookup you use it again depends as there are many ways by which you can acheive the same.

BPM is like an workkflow so which is processed in ABAP engine. but there are some business requirement where we can avoide BPM and try another method which is given by me with example.

I can say both the topic are different and can not be compared.

I hoew you got the asnwer.

Thnx

Chirag

Former Member
0 Kudos

thanks for every one I have one more question that Lookups is every time better than BPM or there are some particular cases.

Former Member
0 Kudos

Hi,

In Lookup you actually send the data to R3 system through UDF so you are passing the control from XI to R3 everytime your mapping is executed. As the control is passed from Java engine to ABAP engine and which reduce the performance.

At the same time in BPM if you have a scenario where you are collecting the IDOC or hold the IDOC for certain duration that time the BPM engine will be in process and which again reduce the performance of XI.

There are some workarround to avoid BPM for certain business requirements.

For example:

Idoc Packaging:

Consider a file to IDOC scenario, where 1 file will contain multiple IDOCs. So, you need to send these multiple IDOC s to R3 system.

Now, one way would be to use a BPM, but a better way is to use the PACKAGINg where these multiple IDOCs are packaged as one IDOC and then on R3 , there are unpacked into multiple IDOCs.

So it all depends upon how you design your scenario.

Thnx

Chirag

Former Member
0 Kudos

the following situation you should consider to use BPM.

1.Control/Monitor the messages in XI

2. Collect/Merge the messages in XI

3. Split the messages in XI

4. To Multicast an Message

5. Send an Alert based on the very complex business logic

6. To integrate with cross component business process

the following case you got to consider to use lookup.

1.to access the other application data in your mapping.

2.to call the other mapping program which exists in your application system.

prabhu_s2
Active Contributor
0 Kudos

u use lookups when there exists a data dependancy in mapping. for instance ur sender system would have a value W001 as plant number but u would mainting the SAP plant number is a DB. so in this case when u wanna to map the corresponsing value in target field u would for 4 a lookup. ther are many such exmples u can find o when to use lookup.

bpm is used to bridge syn and aysn messages and vice versa. also it is used to address complex business scenarios like recv message from different system and process it to the recv as one valid message etc

lookup is better in performance when compared over bpm

Edited by: Prabhu S on Jan 8, 2008 9:26 AM