Big messages inside BPM
Hello
I cannot avoid the using of BPM. The sender system could send big messages 5-20MB (with binary data).
I have synch HTTP -> BPM (1:N) mapping) N could be 10-30.
BPM has forEach block and send synh messages to FRC receiver for each message.
Is it possible to estimate how it influence on performance of XI?
Is this scenario viable?
Hi Denis,
Upto 10 MB, I have executed the similar scenario. It took around 10 secs for each RFC call. And it is also synchrnous. Here the catch is , the XI is taking around 6 Secs, but RFC exceution is taking 4 secs. SO comparitively it is ok , I feel. And it depends on the message for each RFC call. For e.g each message has muliple line items, then RFC execution will take more time.
But if possible, you can try this with Sync, ABAP proxy, by sending entire message at once, and inside the proxy looping thru each message ,and get the response at one time.
Thanks,
Moorthy
Similar Messages
-
How to create a message inside BPM
I am using interface mapping inside BPM in order to check source message. This mapping produced new interface (I have declared container with that type) then I have swith block that check countainer with new intrface.
In SXI_CAHCHE I get an error VALUE is not a component of data object 'PAYLOAD'
I have SP15
Does it mean that I cannot work with containers that are not messages? Is it a bug?
Message was edited by: Denis IvanovHi,
CHeck this SAP Note- 890760
Regards,
Moorthy -
Correlation for multiple fields in messages inside BPM
Hi All,
We have a requirement to collect multiple IDOCs based on combination of field1,field2,field3 and field4.
Could you please tel me possible ways to implement this solution:
I have tried the below options:
Multiple fields in one correlation
Correlation name is given and then in Correlation editor,we have given all four fields in correlation container and 1 involved message and properties are given for all fields
Using this solution.IDOCSa re not collected even if all the IDOCs coming with same value for (field1field2field3+field4)
for example even if combination of (field1field2field3+field4) is same still its not collecting and sending each IDOC sepearately outside BPM.
Could you please suggest where the problem is?
Please suggest if there is any other way to implement this in BPM.
Thanks in advance
Best Regards,
Harleen Kaur ChadhaHi Harleen Kaur Chadha,
Open your Integration Process (ccBPM), go menu bar u201CViewu201D, select u201CCorrelation Editoru201D. Then you can see the Correlation variables you have declared. Go the third tab u201CPropertiesu201D, and then try to edit u201CValueu201D. Expression Editor window pops up, select u201CInterface Variableu201D, then select XPath. Now edit u201CXPath Expressionu201D. Pay attention to Prefix u201Cp1u201D, it should be present in XPath expression. Check SAP help [Link|http://help.sap.com/saphelp_nwpi711/helpdata/en/3c/831620a4f1044dba38b370f77835cc/frameset.htm]
Regards,
Raghu_Vamsee -
How to send big message one bye one without bpm in PI 7.0
Hi frnds,
I have to send a big messages one by one to the CRM, without using BPM.
Can you please suggest us some way around, the data is going to CRM via proxy and at the sender side we are using file content conversion which we don't want to change.
Please let me know some better idea and if possible some related example as well.
Thanks,
RajHi,
You have two options
1)Split the message and then send
2)Use Record set per message option in File Sender adapter,there give value 20 or any number..then it takes 20 records at a time will send to receiver.
BPM is not option,even if you use BPM ,its not going to solve your problem..
Regards,
Raj -
Stateful messages in BPM(Urgent)
hi,
BPM is used for handelling stateful messages.But what is the maximum no. of messages it can handle,without reducing the performance.Hi,
Business Process Management provides SAP Exchange Infrastructure with functions for stateful message processing: The status of an integration process is persisted on the Integration Server. This means that you can specify how long an integration process must wait for further messages to arrive, for example. Furthermore, this enables you to process messages within an integration process further still; for example, you can collect certain messages and then send them in a particular order.
For Performance fine tunning avaoid having message mapping inside BPM,do it either before the BPM or after BPM
BPM is used for Stateful communications,suppose u have to delay message processing,or wait for other messages to arrive and then semd them all together,in that case use BPM.
go thru this: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
Performance is not only depend on the usage of BPM, it also depends on the message volume inside the BPM. So it depends on the memory size, message size i.e payload size , design , mapping used etc
This basically means SAP XI as a EAI tool without the BPM provides stateless message. this means that one message coming in SAP is not dependtent on another message.
BPM in SAP XI is used to make messages stateful and this allows us to do functionalities like collecting message , splitting message, waiting for a message etc. -
Hello
I have read all related topics
fault message in BPM process
Alert monitoring and fault message types
Using Fault Message Type in BPM
but no answer..
I have synch BPM that send synch request to RFC and a mapping step. Then I have to catch exception (of send step or mapping) and send fault message in exception handler.
I haven't a proxy. I want to create fault message manually and send it. Is it possible? I cannot create an interface of fault message type.Hi Sergey,
As far as I know, it's possible to catch the mapping/send exception.
It's also easy to define an exception branch for this exception, and inside the exception branch, send a "normal" message in a send step.
However, as far as I know there's no way of specifying a BPM send step that sends a fault message.
At least in my experience, regular messages are just as useful when sending error information.
Cheers,
Ofer -
Hi Experts,
How to call the webservice inside BPM?
How to do the wsdl file configuration/import and etc.
Regards
Sara
Edited by: Sara D on Jan 18, 2008 6:36 AMHi Sara,
You have to do the configurations for wsdl in ID when u configure the communication channel.
There your BPM acts as a business service(sender/receiver).
As far as, mapping of the message structure is concerned you have to create a MM if required and tht is similar to a normal scenario.
In BPM u just have to insert tht mapping object in between the place holder interfaces.
I hope it helps.
Regards,
Sumit -
How do we monitor the messages processed through BPM?
when do we use SXMB_MONI and SXMB_MONI_BPE exactly? which of these used for BPM processes?Hi,
If you don't SAP Service Market place user Id , then refer this document-
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
If you want to monitor details of the BPM with technical details or workflow log or messages inside the BPM then either you can use SXMB_MONI_BPE or you can go from SXMB_MONI->PE->Technical Details
Regards,
Moorthy -
How to catch error message inside a variable?
Hi,
I'm trying to catch the error message inside a variable using this this command below:-
<%=odiRef.getPrevStepLog("MESSAGE")%>
Could you please tell me what is the right approach to capture the error message inside a variable.
Thanks
AnindyaHi Bhabani,
I have done this and select an oracle schema.But the variables only captures the (null).Please look into this.You must have one step prior to this refresh variable. Then only it can get the status as given below.
Returns the one-letter code indicating the status with which the previous step terminated. The state R (Running) is never returned.
D: Done (success)
E: Error
Q: Queued
W: Waiting
M: Warning
If you want the complete error details then you will face issues in case of multi line message. For this best option would be jython variable.Could please provide me some idea how to use this jython variable.I will update you on this soon
Thanks
Anindya -
How to set error message inside the loop...module pool
Dear all,
Am creating Table Control without wizard. In that i am looping the values, that is, Once if i entered 5 digit values means, 12345-08... the values should be stored in z-table like this 12345,12346,12347,12348 . That is 5-8 it as to update in z table. for this i createdloop at itab and inside that i written a code to count the value and all. and also its clearly updating the value in ztable too. now i want to know, if once again i entered the same value means, like 12345-08.. it as to show error messge.I dont know how to set the condition with error message inside the single loop .... Its all comes under module pool program.
Thanks,
Santhosh.RIf i understood your doubt, here goes the answer.
LOOP AT itab INTO wa_itab. " This is your loop
l_tabix = sy-tabix. "l_tabix receives the line of the loop
READ TABLE itab WITH KEY itab = wa_itab. "itab is the same tab of your loop
IF sy-subrc EQ 0 AND l_tabix NE sy-tabix. "Here the sy tabix have the value of the read table.
* Here you do your error treatment.
ENDIF.
ENDLOOP.
Explanation: When you are looping your internal table, you use a READ TABLE to see the already recorded registers. If the read table finds one register (sy-subrc EQ 0) and the this register is not the one of the current line (l_tabix NE sy-tabix). It means you have a duplicated register.
Maybe there is someway easier to do this, but this is what i thought now.
I hope this was your doubt hehe.
Thales Schmidt -
Hi experts,
Need to create one scenario to collect payload of XML files, I have done this work in Design and Configuration :
data types : test_collect
Message Types : test_collect
Message Interfaces : Test_collect_1 (abs asy), Test_collect_2 (abs asy)
I need to collect Test_collect_1 and pass it to Test_collect_2
Message Mapping : Test_collect_1 - Test_collect_1
Interface Mapping : Test_colect_1 - Test_collect_2
Integration Process is created as example in Standard Process in SAP BASIS
--> http://sap.com/xi/XI/System/Patters --> BpmPatternCollectPayload
Need to created more mappings or not.
How I will created proper Configuration Steps,
mean no. of Sender Agreements, receiver agreements, Receiver Determinations and Interface Determinations etc.
Regards,
Study SAPhi study sap,
check the below blogs to have a cleat understanding
Check these
BPM:
Walkthrough with BPM - Walk through BPM
BPM in XI https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/integrationProcess%28ccBPM%29inXI&
BPM-1 Walkthrough with BPM
BPM-2 Reconciliation of Messages in BPM
BPM-3 RFC Scenario using BPM --Starter Kit
BPM-4 The specified item was not found.
Schedule BPM Schedule Your BPM
Use of Synch - Asynch bridge in ccBPM Demonstrating Use of Synchronous-Asynchronous Bridge to Integrate Synchronous and Asynchronous systems using ccBPM in SAP Xi
Use of Synch - Asynch bridge in ccBPM https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
without BPM Sync/Async scenarios without BPM
without BPM1 Sync/Async communication in JMS adapter without BPM (SP19)
IDOC BPM IDOCs (Multiple Types) Collection in BPM
multimapping without BPM /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible---- Multi Map With out BPM
Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI. Various multi-mappings and
Optimizing their Implementation in Integration Processes (BPM) in XI.
Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure --- Illustration of Multi-Mapping
and Message Split using BPM in SAP Exchange Infrastructure
IDOCs (Multiple Types) Collection in BPM (N:1 Mapping )
regards
kummari -
Hi Experts,
Collection of messages in BPM is not working,IP is executing for each Idoc.Actually i have done the sceanrio Idoc to File,Here I am getting multiple IDocs of same type from R3 when run a transaction and i would be generate a single file for all the IDocs.For this i have changed the occurence of Idoc from 1..1 to 1..unbounded and done the mapping betweeen these two. i have done bpm just like as standarad bpm pattern "BpmPatternCollectTime".I mentioned the time as 1 minute.in transformation step i had mentioned interface mapping for 1..1 Idoc to 1..unbounded Idoc and the real mapping conditions of this sceanrio is carried out after the bpm. The Idoc's are generating from R3 with the time diffrence of 3 secs.So it should generating a single file what ever the no.of idocs populating within a minute.
In monitoring it showning for bpm, its trigerring for each incoming Idoc and procesing successfully.
For Ex: Two idocs are coming from R3 then BPM triggers twice
What could be the possible reasons for this or i have done any thing wrong.
Any ideas.., Thanks in advance
Cheers
Tiger Woods.HI,
Try to Use Idoc packaging. also see the below links
/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm - Collection of IDoc to Single File
/people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm - collecting IDocs without BPM
/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters - IDoc to File
Regards
Chilla -
Multiple files, same structure into one message without BPM
Hi,
Is it possible to read multiple files (each with single row) as one message without BPM by some configuration in channel?
For example:
input files placed simultaneously in input folder:
file1: a,b,c
file2: f,g,h
file3: k,l,m
after adapter picks files, xml message:
<Message_type>
<RecordSet>
<file>
<A>a</A>
<B>b</B>
<C>c</C>
</file>
<file>
<A>f</A>
<B>g</B>
<C>h</C>
</file>
<file>
<A>k</A>
<B>l</B>
<C>m</C>
</file>
</RecordSet>
</Message_type>Bond,
Yes Bond. You can read the pattern what you have given.
First Read the whole line in the file as one record. Now take the substring or write udf in mapping. This entirely depends upon your requirement.
Regards,
---Satish -
How to split messages without using Message split (BPM)
In file to file scenario how to split messages coming from file without using Message split (BPM)
Thank you very much.
-
Hi guys, i got a question regarding BPM. Does BPM will retain the sequential order of a message?
For example I am calling a storedprocedure oracle (via jdbc adapter) synchronously.
My message will contain 4 rows in sequential order 1 2 3 4. The stored procedure will return a value to XI (BPM) for each row (that is A B C D).
Does the return from the storedprocedure is also in the order of my message from BPM, that is:
For row 1, i will get an A for the return.
For row 2, i will get an B for the return.
For row 3, i will get an C for the return.
For row 4, i will get an D for the return.
Does anyone know about how XI (BPM) handle this?
I really appreciate any solution and input from you guys. Thank you very much in advance.Wishnu
Are you sending all the rows in one instance ( Single XML file ) or in different 4 XMl files.
If they are in different XML files than you have to use the Correlation, to assign messages that belong together to the same process instance.
- Lalit -
Maybe you are looking for
-
When responding to an e-mailed invitation to join a Photo Stream I eventually get to a message stating " A problem occurred. Please try again later" Havng tried several times I still get the same message. What am I doing wrong?
-
Tutorial - Some great editing tips that feature new CS6 features http://www.dvxuser.com/V6/showthread.php?282290-New-Tutorial-Working-Faster-in-Premiere-Pr o-CS6
-
Error after resetting connection pool
-
How do I decode UTF-8 hexadecimal numbers into plain text?
I have a string of numbers like these: 36 36 30 31 .... 6f I would like to know which is the best way to go about decoding those values into plain text. Thank you.
-
Flashback the truncate table is possible in 11g?
Is it possible, to recover the truncate table data using flashback? with out any db downtime. if yes, steps please.