BPM Integration Process that correlates 2 messages.
I have an BPM Integration Process defined that collects Deliveries for an Order number and when an Invoice arrives for the same Order number it merges the messages to produce another file that is for a 3rd party.
I correctly receive in the Delivery and the Invoice u2013 I can see them in SXMB_MONI with a checkered flag and they are directed to my BPM. I can see this also in SXMB_MONI_BPE. I can also see the correlation correctly found in both messages. No error is reported by either SXBM.. transaction.
However it does nothing except receive the files u2013 I am expecting a transformation and then the send step to execute.
Start > CollectIDOCBlock > Collect Fork
Fork1
Infinite Loop for Receive Delivery (Start process) and Collect in Container. It uses and activates Correlation OrderNum
Fork2
Receive Invoice uses Correlation OrderNum (it does not activate the correlation)
At the end of the Fork (when Delivery collected and an Invoice is received)
It will then do the Transformation and Send Step.
<End
I have tried various combinations of the correlations and which receive step starts the process. Any ideas ?
Yes that did work. Now does somebody know what exactly the FORK parameter number of branches does ?
The SAPHelp is here
http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm
+You can specify the required number of branches and then define whether the process must run through all branches, or just a particular number of branches+
But it does not explain why you need to have 1 as necessary branches rather than 2. There are 2 branches in the FORK - so why does having 1 as the parameter work and not 2.
In this SAPHelp for Message-Dependent Loop
http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm
it indicates to me that the parameter should be 2.
BUT the SAP pattern (BpmPatternCollectMessage) I have used as a base for mine has this as 1 and not 2.
Why is 1 the correct value and not 2 ??
Similar Messages
-
Rfc Jco communication channel error in BPM integration process
Hi,
when we are processing the records some records are processed succussfully some records does not in integration process view. when we restart the workflow we can able to process the error messages succussfully.
but here not understanding how to reprocesse automatically error messages in the BPM integration process level.
thanks and regads,
krushi.Hi
re-submission of messages after corrections that were failed
Reconciliation of Messages in BPM
Reconciliation of Messages in BPM Contd. - Restart Workflow -
Question on BPM Integration Process
Hello Experts,
I am following this BPM article which is very similar to what I want to do.
We are using PI 7.1 without EP1.
I have an XML to IDoc scenario where my XML's external definition resides in a seperate SCV (SCV1) and my imported IDoc resides in a seperate SCV (SCV2). We did this to follow the Sender-Mapper-Receiver model. We have a different SCV for Mapping which holds MM and OM (SCV3). Now, I have my Abstract Service Interfaces for external definition in SCV1 and abstract interface for IDoc in SCV2. And, Integration Process in SCV1 (no good reason). But, now I am not able to access SCV2 abstract interfaces (IDoc abs) in my Integration Process since it sits in SCV1. I am thinking if I have to crate my external definitions, idoc, abstract service interfaces, MM, OM and Ingtration Process in one SCV instead of having them in three different SCVs. I was trying to follow sender-mapper-reciever model but seems like for BPM you need to have all your stuff in one SCV. Please help if you know how to resolve this issue wiithout getting rid of sender-mapper-receiver concept.
Thank you in advance for your help.
- MayurThanks Jose. I think creating dependencies is a away to go. I also found this this where Stefan suggested same thing.
So, now Sender (SCV1) and Receiver (SCV3) have been added under Mapper (SCV2)'s dependencies list and I will have my BPM Integration Process in the SCV2 which will give me access to both sender and receiver abstract service interfaces.
Re: Software Component Dependencies PI 7.1
Thanks,
Mayur -
Integration Process problem in Message Split.
Hi all,
I have done message split using the this blog.
/people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
I am getting problem in the BPM i.e. in Integration Process. In the message monitoring of RWB I am able to see data Outbound to BPM exchange but BPM to Inbound is not at all happening.
I dont have any SAP tools to trace the BPM.
I have been trying this for 3 days desparately.
Can somebody please help me in this.
Thanks,
Subhosh.Hi,
Like mentioned by Udo, you need to have the SAP log on to be able to debug and find the cause for your problem.
One option, can you look into message monitoring in RWB and check what the error message is?
Regards,
Bhavesh -
I cant find the Integration Process that i had created in IR in the ID
HI
I had created a Integration process in the Integration repository
And when i opened the Integration directory and try to configure it in the scenario I am not able to find In the objects list of the integration directory
<Can any body help me how can i get the created Integration process in the IR to be transferred the ID to configure in the scenario
thanks and regards
nelakondahi,
Please go to Tools -> Cache Notification
You will find at that there will be some red dots if u refresh
Please click on then and refresh once again
Also try this apart from once mentioned above
Rgds
Aditya -
Assigning Exceptions in BPM Integration Process
hello,
Does any body have an idea regarding how to assign an exception in the control step.
I want to raise an exception in the BPM
Thanks in advanceHi
If You still have the question unanswered then:
1) In a surrounding block you must define names for exceptions.
2) In the control step you can then pick one of defined exceptions...
3) For the surrounding block you must add "Exception Branch" from block context menu and assign it to the same exception.
Then You can handle the exception there.
Best, -
Performance tuning in objects involving Integration process (BPM)
Hi,
We are facing a performance problem in one of our objects having integration process. The messages are getting processed sequentially instead of parallel processing within the integration process. As a result, the messages are getting queued up in the queue waiting for processing. Thus by the time all messages get processed, the time taken would have been alarmingly high. There is no correlation involved in the int process. My questions are
1. Is there any performance related best practices/checklist/config steps available for BPM related implementation. If so, please furnish/provide the links if any.
2. If it is not related to BPM , but related to tuning up of the queues, please provide the guidelines for queue tune up.
3. How to ensure that the messages are processed in-parallel within BPM ?
Regards
GaneshHi,
Am not sure whether this would help you. By any chance did u use For Each instead of Par For Each.
Cos, when u use For each in an container step, all messages would be processed sequentially.
Do let me know if it helps you!
Regards,
B.Anandh -
Spliting a Message to reuse an Integration Process made for a single one.
Hi,
I have a Integration Process that works well for a XML message of the type:
<EMESSAGE>
<PERSON>
<TAG_1>
<TAG_2>
</PERSON>
</EMESSAGE>
My BPM process the data for the Person correctly.
Now I want to be able to tried more than one person per input message, some thing like:
<EMESSAGE>
<PERSON>
<TAG_1>
<TAG_2>
</PERSON>
<PERSON>
<TAG_1>
<TAG_2>
</PERSON>
<PERSON>
<TAG_1>
<TAG_2>
</PERSON>
</EMESSAGE>
I build a 1:n Interface Mapping that creates me the following structure:
<Messages>
<Message1>
<EMESSAGE>
<PERSON>
<TAG_1>
<TAG_2>
</PERSON>
</EMESSAGE>
</Message1>
<Message2>
<EMESSAGE>
<PERSON>
<TAG_1>
<TAG_2>
</PERSON>
</EMESSAGE>
</Message2>
<Message3>
<EMESSAGE>
<PERSON>
<TAG_1>
<TAG_2>
</PERSON>
</EMESSAGE>
</Message3>
</Messages>
But when I use a ForEach Block in my new BPM, it doesn't work if there is more then 1 person in the input. The error message I got is:
<?xml version="1.0" encoding="utf-8" ?>
- <MappingTrace>
<Trace level="1" type="T">Mapping-Namespace:http://domain.com/xi/domain_4</Trace>
<Trace level="1" type="T">Mapping-Name:IM_CPM_AbsSync_to_N_CPM_AbsSync</Trace>
<Trace level="1" type="T">Mapping-SWCV:3E235261F43111DDB40AC952C0A80C15</Trace>
<Trace level="1" type="T">Mapping-Step:1</Trace>
<Trace level="1" type="T">Mapping-Type:XSLT</Trace>
<Trace level="1" type="T">Mapping-Program:CPM_to_N_ContextPersonMessage</Trace>
<Trace level="3" type="T">Mapping has one input message.</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="3" type="T">Multi mapping required.</Trace>
<Trace level="3" type="T">Creating XSLT mapping CPM_to_N_ContextPersonMessage.</Trace>
<Trace level="3" type="T">Load 3e235261-f431-11dd-b40a-c952c0a80c15, http://domain.com/xi/domain_4, -1, CPM_to_N_ContextPersonMessage.xsl.</Trace>
<Trace level="3" type="T">Search CPM_to_N_ContextPersonMessage.xsl (http://domain.com/xi/domain_4, -1) in swcv 3e235261-f431-11dd-b40a-c952c0a80c15.</Trace>
<Trace level="2" type="T">Call XSLT processor with stylsheet CPM_to_N_ContextPersonMessage.xsl.</Trace>
<Trace level="2" type="T">Returned form XSLT processor.</Trace>
<Trace level="3" type="T">XSLT transformation: CPM_to_N_ContextPersonMessage.xsl completed with 0 warning(s).</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="1" type="T">Content Type application/xml</Trace>
<Trace level="1" type="T">No interface specified for parameter 2</Trace>
</MappingTrace>
Does someone have any idea or a suggestion on how to reuse my BPM that works for a single person?
Thanks in advance for your suggestions.
gregok no success for the moment, so I will try to describe my BPM more precisely:
The DT I use can contain up to 1'000 PERSON record inside a unique EMESAGE reccord (the root element)
My containers: (all are of type Abstract Interface of my DT)
Input (Process)
requestList(Process) Multiline
request(block)
response(block)
Receive Request Step
Message: input
Start Process: Yes
Mode : Async.
Split (Transformation) Step
IM: My Interface that does the 1Message with N PERSON records to N Messsages with 1 PERSON record
Create new transaction: Yes
Source: input
Target: requestList
Block Step
Mode: ForEach
Block Start: New transaction
Block End: New transaction
Multiline_Element: RequestList
CurrentLine: request
No end condition
Inside the block
My Sync Send call to a BAPI
Source: request
Target: response
A final Async Send step
Message: response.
The workflow stop at the Transform step, as if hte fact that many messages come in result could not be handled back. Here are the details for the Interface mapping used in the transformation step:
Source: MyDataTypeAbstractAsynchroneInterface
Occurrence: 1
Destination:
Occurrences: 0:unbounded
Mapping program: the following XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="EPERSON">
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<xsl:for-each select="CONTEXTPERSON">
<xsl:element name="ns0:Message{position()}">
<EPERSON xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ContextPersonMessage">
<xsl:element name="CONTEXTPERSON">
<xsl:attribute name="personid"><xsl:value-of select="@personid"/></xsl:attribute>
</xsl:element>
<!--End of CONTEXTPERSON> -->
</EPERSON>
</xsl:element>
</xsl:for-each>
</ns0:Messages>
</xsl:template>
</xsl:stylesheet>
Still any suggestions ?
The trace of the error is the same as before, so I won't copy paste it again. -
About Container Category in Integration Process (BPM)
Hi Friends
Can any one explain me abut Process container variable ReceiverList which is defined as a type "Receiver"
and How to use in Integration Process With Examples
Message was edited by:
Viswanadh VaddeHi Vishwanadh,
The Receiver type container variable is used to determine the receiver in the send step.
The Simple type container variable are xsd data type variable which may be xsd:string / xsd:integer / xsd:date / xsd:time. These variables are used as process control elements such as counters in the IP.
Regards
Santhosh
Remember to set the thread to solved when you have received a solution -
Integration Process Receiver Determination Step
Hi experts,
May I know whether the "Receiver Determination Step" (in Integration Process) that collects the list of receivers configured, can be used only to find list of asynchronous receivers?
Can't we use this "Receiver Determination Step" in synchronous scenario? If yes, may i know how to?
Thank you!
Best Regards,
SaravananThank you Gaurav!
I can understand we can use multi-casting.
To clearly put my scenario, I have to use synchronous send (so cannot split send and receive step, and so no need of correlation) in my BPM, which have to synchronously send (and so it receives within same step) message to multiple receivers. This is the reason I am trying to use receiver determination step first and in a loop trying to synchronously send message to each receiver and receiving response.
Now my problem is in the receiver determination step, it is not identifying any of the receivers configured in the integration directory. The receiver determination list returns empty.
So, I want to know whether this receiver determination step is only for async receivers or synchronous receivers also.
Best Regards,
Saravanan N -
Integration Process does not start
Hi guru's
My scenario is this. From ECC we send Idocs to PI. We have an integration process to receive the idocs because only max 9999 are passed in the port.
We run just around 11000 CREMAS idocs now.
The problem is that the integration process does not start on our QA environment while it does start on DEV environment.
I've run many checks on both environments and they all look the same.
To name a few:
* Cache are all green and up-to-date.
* I checked the WF models which are behind the Integration Process and they are the same.
* Event correlation is correct in both environments
* When i test the idocs are correctly sent from ECC to PI.
However on DEV I see in transaction SXMB_MONI_BPE i see that the integration process is triggered and started. It waits 10 minutes and collects any messages that come in, and then bundles these and sends them on to the receiver.
On QA i do not see the Integration Process being started. Only records i see in SXMB_MONI_BPE are three work items, 2 completed, 1 ready, all 3 are called waiting for event.
I'm probably missing some configuration somewhere but what could it be?
Regards
RobertHi Eng Swee,
Thx. I checked it already and it works fine.
Meanwhile i did do some changes and some retests and now i saw somewhere that all my tests were creating more steps in an already started integration process, that was still waiting.
I now cleared some old workitems and started afresh.
What i see now is:
1) the BPM process start correctly
2) it receives 1 or 2 or 3 or n messages
3) it then waits for the deadline to finish, i.e. it should run for 10 minutes and then proceed to the next step which is sending the collected idocs to receiver.
On DEV the deadline works fine. On QA it doesn't.
IN SWU3 i have done the customizing and it shows green, so that part is OK.
Still the deadline is passed and it doesn't have the desired effect on mu BPM process (workflow).
Are there any other checks i can do to see if the deadline mechanism is properly working?
Is there a maybe a manual step i can do to trigger the deadline? Then at least i get some information on where the real problem is.
(Sorry for earlier confusion but i hadnt realized that there was still a process running)
Regards
Robert -
Line Split Interface to feed Integration Process - Performance Issues
Hi All
We have a scenario whereby we receive an XML message from a 3rd Party through an exposed SOAP Adapter service. The XML Message has multiple lines that need to be split up and processed as individual messages. We need to create a Line Splitting interface in order to achieve this. The Line Split interface would feed different Integration Processes depending on a specific payload value. The Integration Processes would then perform certain specific logic & Rules as well as transformations to specific message formats (e.g. idoc, xml, flatfile). The Line Split interface also maps from an xml structure that caters for multiple lines, to a flatened xml structure which only contains one line. The uper range of a message we may need to split into individual messages is 30 000 lines.
We first used an Interface Map and used SplitByValue to achieve this, however we ran into the constraint that we could not feed the output split messages to an Integration Process - you can only feed it to Adapters that reside on the J2EE engine.
We then decided to build a seprate Integration Process thats sole purpose was to split the message and route the indvidual messages to other integration processes to perform the logic, business rules and specific transformations. However, the performance of the ccBPM line splitting Integration Process was nowhere near the Interface Map.
e.g. Interface Map Split 1000 Lines = 13 seconds - BPM Integration Process 1000Lines = 100 seconds.
Does anybody have any suggestions on how we can perform the line split outside of BPM, or how we can improve ther performance of the line splitting within BPM?
Thanks for your assistance.
Edited by: CostaC on Aug 24, 2009 11:53 AMhi,
>>>We first used an Interface Map and used SplitByValue to achieve this, however we ran into the constraint that we could not feed the output split messages to an Integration Process - you can only feed it to Adapters that reside on the J2EE engine.
the easiest (not the only) way :
do the split as you did here and post the results in different folders (file adapter)
then set up scenarios that will get the files from those folders
(many additional objects but will be much much faster and better then a BPM)
you could also split the messages in the adapter module but this is more advanced
and officially SAP does not recommend it - even though it's possible
Regards,
Michal Krawczyk -
Need info about the integration Process.
HI ,
I would like to know about the different components of Integration Process like about the Receiver etc..
and how do we relate the properties of each component with the container.
Thanks in advancehi Syed
An integration process is an executable, cross-system process for processing messages. In an integration process you define all the process steps that are to be executed and the parameters relevant for controlling the process.
You implement integration processes when you want to define, control, and monitor complex integration processes that extend across enterprise and application boundaries. The design and processing of integration processes is also known as cross-component Business Process Management (cross-component BPM, ccBPM).
http://help.sap.com/saphelp_nw04/helpdata/en/68/6bfd3f9149ca42e10000000a1550b0/frameset.htm
follow this thread to learn how to define an IP
http://help.sap.com/saphelp_nw04/helpdata/en/68/6bfd3f9149ca42e10000000a1550b0/frameset.htm
You use a correlation to assign messages that belong together to the same process instance. A correlation joins messages that have the same value for one or more XML elements. A correlation is therefore a loose coupling of messages: at design time, it enables you to define which message a receive step must wait for, without knowing the message ID
http://help.sap.com/saphelp_nw04/helpdata/en/68/6bfd3f9149ca42e10000000a1550b0/frameset.htm
regards
sandeep
If helpful reward points -
Exception handling in integration processes
Hi,
I have a very simple question but I can't find an answer. I have designed an integration process that upon several other things send synchroneously a message to an ABAP proxy. Sometime the ABAP proxy generates exception. In my integration process these exceptionx are catched in a specific branch.
My question is: how to access the data contained in the catched exception (message, text....)?
Regards,
Yann Le BlevecHello Yann,
There is no solution for your problem, I guess. I didnt try it on my own, but in my own research on sdn I found two experts positions to that issue:
"you cannot catch the exception's value in the XI "
(see posting from Michal Krawczyk, Jun 12, 2006, in thread catch the exception)
"The content of a fault message are not accessible inside a BPM."
(see posting from Bhavesh Kantilal, Oct 3, 2007, in thread Notify user about Exception in BPM)
Regards,
Dennis -
What is integration scenario & integration process in IR?
hi friends
1). can any one explain me about Integration scenario and Integration processes in "INTEGRATION REPOSITORY"?
2). why we need to use this IS & IP(integration scenario and integration processes?
3). what is advantage of using IS & IP(integration scenario and integration processes?
if you have any related links and documents please refer to me..................
Thanks in Advance
chinthapatla.bharatHi Bharat,
Integration Scenario
An integration scenario completely models the exchange of
messages for a collaborative process and provides an overview of the process flow.
It is overview of your whole integration scenario. In Integration Scenario each Swimlane represents a different business system. Mean you will have number of swimlanes as number of business system involved in your integration. Swimlane contains action. Actions are used for mentioning Inbound and outbound interfaces for the corresponding swimlane(business system).
Why we are using Integration Scenario?
We use integration scenario to genearate Integration Directory objects like Receiver Determination, Interface determination, Sender agreeement etc.
All XI content objects must be assigned to one or more integration scenarios (IS). Delivering XI-Content in the framework of an IS has the following advantages:
1. The IS provides you with a central point of access for all integration objects. This is necessary for semantic and technical integration and facilitates business-driven development.
2. The IS helps customers to understand the underlying business scenario of XI content objects.
3. The IS serves as a kick-start for the configuration of the content at the customer site. The aim is to minimize the configuration effort for the customer.
Please go through this link for further reference:
http://help.sap.com/saphelp_nw04/helpdata/en/88/7adb7a030b424b8ef29b99461e52a8/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ec/21ee117a909f44a8b69794b9ed6221/frameset.htm
/people/siva.maranani/blog/2005/08/27/modeling-integration-scenario146s-in-xi - Modeling Integration Scenario in XI
How Tou2026 Implement a High Volume Process Integration Scenario
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9056c89c-1a2e-2a10-8a99-eae154e74c4e
Integration Processes
An integration process is an executable, cross-system process for processing messages. In an integration process you define all the process steps that are to be executed and the parameters relevant for controlling the process.
You implement integration processes when you want to define, control, and monitor complex integration processes that extend across enterprise and application boundaries. The design and processing of integration processes is also known as cross-component Business Process Management (cross-component BPM, ccBPM).
the following case,u should consider to use integration process.
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
Please go through this link for further reference:
http://help.sap.com/saphelp_nw04/helpdata/en/3c/831620a4f1044dba38b370f77835cc/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/f7/d4653fd1d3b81ae10000000a114084/frameset.htm
/people/michal.krawczyk2/blog/2005/08/25/xi-sending-a-message-without-the-use-of-an-adapter-not-possible - Testing of integration process
Some more additional links:
1. what is integration processes and integration scenario? and the functionality of these??
/people/siva.maranani/blog/2005/08/27/modeling-integration-scenario146s-in-xi
/people/venkat.donela/blog/2006/02/17/companion-guide-to-integration-scenario
http://help.sap.com/saphelp_nw70/helpdata/en/ae/fb72dc1d0fbf4391fba23b7e8a0d55/frameset.htm
2. what is Actions?
An action represents a function within an application component that is not subdivided further. Actions subdivide the process flow of an integration scenario.
The vertical progression of actions from top to bottom corresponds to the logical process flow.
http://help.sap.com/saphelp_nw70/helpdata/en/ae/fb72dc1d0fbf4391fba23b7e8a0d55/frameset.htm
3. What is message interfaces in interface objects of IR?
http://help.sap.com/saphelp_nw70/helpdata/en/ae/fb72dc1d0fbf4391fba23b7e8a0d55/frameset.htm
4.what is fault message types exactly and functionality?
/people/shabarish.vijayakumar/blog/2006/11/02/fault-message-types--a-demo-part-1
Regards,
Vinod.
Maybe you are looking for
-
I'm very pleased so far with my Iphone except for one problem. I always would use my old Ipod in the car every day, and it was easy to use, just plug the aux in to the headphone jack and play it. Switching from song to song if I needed was easy, I ju
-
BAPI for ME21N with Material Configuration
Hi friends, I need to create a Z Program which will create the purchase order and during creation of purchase order it will also make the configuration of material in Material Data. I know the BAPI name BAPI_PO_CREATE1, but it will not do the configu
-
Classloader for PAR-Files and deployment
Hello, I'm wondering how the deployment of a par file actually works in depth. Especially how the sharingreferences und privatesharingreferences come into play here. Can anybody tell me how it works or can tell me some resources where I can get some
-
Audio Files and Associated Program
I have created a menu page in HTML (Dreamweaver). I have several audio files that will be located on a CD that contains the menu page. What I would like to do is ensure that Windows Media Player launches. Right now these are .wav files and I would pe
-
IOS 4 - Why does my phone vibrate twice when I receive a new email?
My email is set up as an exchange server for gmail. Whenever I receive a new email, it vibrates. I go to check the email, and it marks it as read. All is good, but then 15 minutes later, my phone vibrates again and makes the new email noise, even tho