How to Split Message through BPM in 1:n scenario

Hi All,
I have a scenario where i am getting a message in a flat file containing multiple entries .Now i have to read that file and split the input file into number of messages as there are records present in the file through BPM.
how can this be done in simplest possible manner ?
Thanks in advance
Amit

Hi
Try this weblogs:
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
/people/claus.wallacher/blog/2006/06/29/message-splitting-using-the-graphical-mapping-tool
/people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
/people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
br
Dawid

Similar Messages

  • 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.

  • How to collect and split messages in BPM

    Hi,
    I have two scenarios.
    In one scenario I have to collect files and send as one file
    In second scenario
    I have single file and need to split it into several ones.
    Pls provide me simple example blogs
    Regards

    Hi Harry,
    <i>what is correlation and why do we need correlation
    for N:1 transformation (multiple messages to one message).</i>
    Correlation is used when you have multiple recieve steps in the BPM to differentiate each file. Consider your recive step is executed and the BPM is active waiting for the other file to comne in. Before the next file comes in , if another BPM is activated becuase your recived recive1 message. Now, when the next message comes in , how does XI know which BPM instance is to be used.
    http://help.sap.com/saphelp_nw04/helpdata/en/a5/64373f7853494fe10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/6d/94364296f1b26be10000000a155106/content.htm
    This blog talks abt it.. i had already posted it
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    <i>Can N:1 be achieved without correlation.</i>
    Correlation is used when you have multiple recieve steps in the BPM to differentiate each file.
    <i>[Reward if helpful]</i>
    Reagrds,
    Prateek

  • Split message using BPM

    Hi Experts
    I am getting the request through HTTP which i want to split using BPM and send each splitted message to synchronous step and get the response for each splitted message
    I have gone through the following blog
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    I am able to split the message into multiple messages but unable to send each splitted message to synchronous step and get the response.
    I am getting " NO Receiver Found" error.
    How to send each splitted message to synchronous step and get the response.
    Please suggest.
    Regards
    Sowmya

    Hi Sowmya,
    I referred to the same blog and the scenario was a success. Please note that in this scenario
    "Receiver Determination plays a key role.
    Three Receiver Determinations are required. One for the Sender to BPM and two others for BPM to the corresponding output files.
    In the Interface Determination for the two Receivers, specify the corresponding Interfaces."
    You are just a few steps from success.
    Rgds
    joel

  • How to monitor message in BPM?

    Hi all
    I try to find in forums but I did not find. Could you please to guide me how I can to see message content in each step in BPM.
    Thanks and Regards
    Park

    Hi park,
    To monitor messages for BPM... got transaction SXMB_MONI_BPE
    there u can check each step.....
    hey... check the slide....also useful......
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1db5e190-0201-0010-1c90-d9de570c6b18
    Regards
    Biplab
    <i>Reward with point if useful</i>

  • How to Split messages to other messages using a value as a split-key?

    Hi ,
    Let's assume that the message is:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:ZXI_IDOCFI_DOCUMENT xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
    - <XI>
    - <item>
    <BKTXT>O-244</BKTXT>
    <LIFNR>999003</LIFNR>
    </item>
    - <item>
    <BUKRS />
    <BKTXT>O-244</BKTXT>
    <LIFNR>999003</LIFNR>
    </item>
    - <item>
    <BUKRS />
    <BKTXT>O-245</BKTXT>
    <LIFNR>999004</LIFNR>
    </item>
    - <item>
    <BUKRS />
    <BKTXT>O-245</BKTXT>
    <LIFNR>999004</LIFNR>
    </item>
    - </XI>
    </ns0:ZXI_IDOCFI_DOCUMENT
    I would like to split it into two messages as the <BKTXT> element is changed(2 times
    <BKTXT>O-244</BKTXT> and <BKTXT>O-245</BKTXT> .
    The target messages must be
    1)
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:ZXI_IDOCFI_DOCUMENT xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
    - <XI>
    - <item>
    <BKTXT>O-244</BKTXT>
    <LIFNR>999003</LIFNR>
    </item>
    - <item>
    <BUKRS />
    <BKTXT>O-244</BKTXT>
    <LIFNR>999003</LIFNR>
    </item>
    </XI>
    </ns0:ZXI_IDOCFI_DOCUMENT
    and 2)
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:ZXI_IDOCFI_DOCUMENT xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
    - <XI>
    - <item>
    <BUKRS />
    <BKTXT>O-245</BKTXT>
    <LIFNR>999004</LIFNR>
    </item>
    - <item>
    <BUKRS />
    <BKTXT>O-245</BKTXT>
    <LIFNR>999004</LIFNR>
    </item>
    - </XI>
    </ns0:ZXI_IDOCFI_DOCUMENT
    How is it possible to be implemented ?
    Is it possible to solved in BPM or in a Mapping program;
    Thanks in advance.
    Best regards.

    Dear  Kumar ,
    Thank for your nice blog ,
    But Let me underline which is my point,
    As XI retrieve rows through JDBC from an oracle table
    at the end there is an XML message with N items
    as:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:ZXI_IDOCFI_DOCUMENT xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
    - <XI>
    - <item>
    <BKTXT>O-244</BKTXT>
    <ACCOUNT>999003</ACCOUNT>
    </item>
    - <item> 
    <BKTXT>O-244</BKTXT>
    <ACCOUNT>999004</ACCOUNT>
    </item>
    - <item>
    <BUKRS />
    <BKTXT>O-245</BKTXT>
    <ACCOUNT>999006</ACCOUNT>
    </item>
    ...N items...
    - </XI>
    </ns0:ZXI_IDOCFI_DOCUM
    I have to break this xml into N xml messages according to element <BKTXT> in order to send them to Sap sequentially.  Keep in mind that the <element> is just as the element <ACCOUNT>( is not a root element ).
    I guess this is not an easy excercise but i need to solve it urgently.
    Best Regards,
    Antonis.
    Message was edited by: antonis konstantindis

  • SAP XI not able to split message in BPM

    Hello All,
    In our XI production system Message information is coming into the XI from CCS but XI BPM is not splitting the message to the external system . this is happening to one perticular interface.
    Message execution status is showing as successful and so we are not getting any error log.
    May be this could be because of memory problem.
    Please provide a solution or if it is related to memory please suggest how to check and solve this issue.
    Thanks & Regards,
    Suhas Kulkarni

    Hello, Vishwanatha.
    You're actually expanding message area (do you see the blue line on your screenshot?)
    But it's overlapped by other views. You can drag the message icon a little bit and you'll see this:
    I had the same issue in IDES system.
    What can be done:
    1. Switch to Default skin from current one (I can guess it's a Signature Design right now).
    2. Or use old-style message area. For this set MESSAGE_AREA_TYPE parameter as INPLACEWINDOW in the parameter profile of your business role.
    Hope this will help you.

  • Splitting Message using BPM

    hi,
    I am not able to see the split in BPM when using SWITCH.
    Scenario: IDOC->XI->Multiple Receivers with error handling using BPM
    In BPM SWITCH i have 2 steps.
    1st branch step has Transformation0, Receiver Determination0 and Send0
    2nd branch step has Transformation1, Receiver Determination1 and Send1
    Receivers will be differnt. Container elements have 2 receivers for Receiver0 and Receiver1
    When the IDOC is triggered i can see only one message in SXMB_MONI.
    I don't see any failure steps in SXMB_MONI_BPE.
    In the ID, i have 2 receivers configured.
    Why aren't the messages being processed?
    Thanks,
    Tirumal

    Hi Tirumal,
    Switch is condtional step. It is not for Split. It is like If-Else condition. If you want to split the messages in the same time, then go for Fork step.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/24/e2283f2bbad036e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/6a/db283fd0ca8443e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/14/d5283fd0ca8443e10000000a114084/frameset.htm
    Hope this helps,
    regards,
    Moorthy

  • How to split message in Mediator/ESB

    Hi,
    I want to poll a table. The polling process may result in multiple rows being sent by adapter to mediator (or esb). I want to insert each row as a separate message in a JMS queue (or create events using EDN). How can I do that.
    I know i can throttle at the db adapter level by specifying that each transaction contains a single row. But I dont want to do that as I feel that would be costlier because the adapter will make one db trip for one row (rather, I would prefer getting all rows in a bpel and iterate over the data using while). But I want to know if it is possible in mediator.
    --Amit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    People seems to suggest while loops, flowN
    Re: BPEL- To split XML message before sending
    Split one XML request and send as Mutiple requests

  • How to deploy project through BPM Composer Deployment

    Hi,
    I'm quite a new about BPM 11g.
    I need to deploy my BPM project by BPM Composer
    i.e. http://....:8001/bpm/composer
    But I meet an exception as below:
    +http://xmlns.oracle.com/TestInitiator/TestInitiator/Humantask1 is already in use as a task namespace.
    Check if a template project with namespace http://xmlns.oracle.com/TestInitiator/TestInitiator/Humantask1 was deployed earlier. Please avoid deploying template projects. Please use a different namespace for the current task definition to fix the problem. The task flow associated with the template project will not work with this project anymore if the namespace is changed.
    : Error while deploying task metadata.
    The template namespace http://xmlns.oracle.com/TestInitiator/TestInitiator/Humantask1 is already in use as a task namespace.
    Check if a template project with namespace http://xmlns.oracle.com/TestInitiator/TestInitiator/Humantask1 was deployed earlier.+
    I could understand the exception. But I still feel that it was strange.
    I have deployed the project in my JDeveloper as version 1.0. And I use BPM composer to deploy this project as version 2.0.
    I think this exception should not be appeared.
    Did I miss some steps to deploy the project?
    Need your suggestion?
    Look forward to your reply.
    Thanks.
    Edited by: 850121 on 2012-4-16 下午11:03

    Hi ;
    You're right. It's a strange error. I saw that error. You must change Humantask1's target namespace. And publish it to MDS again. So, you can deploy to your process from BPM Composer. Please try this..

  • How to monitor messages at BAPI side of integration scenario

    Hi all,
    In scenarios like Soap -> Abap proxy (XI Adapter), I can monitor both sender and receiver messages on sxmb_moni (on XI side and on ECC side). When the scenario is Soap -> BAPI (RFC Adapter), how can I see the messages in the ECC side?
    thanks!
    roberti

    Hi,
    If it is an RFC so it resides at JAVA STACK so u cant see the message at ECC end,Proxy and IDOC u can see there message at ECC side they are on ABAP Stack,u can only see message in SXMB_MONI and in RWB for RFC Adapter.
    Regards,
    Phani
    Reward points if Helpful

  • BPM split message problem

    Hi all,
    I have a problem in splitting messages inside BPM.
    My requirements are:
    1. Receive message (message with apprx. 700.000 records)
    2. Split message to smaller messages (1 message should not contain more than 10.000 records. 70 messages should be created)
    3. Send these message with a delay, one by one. (after the 1. message is sent the next should be sent 1 minute later until all are processed)
    My question is how do I split the messages into 10.000 records without using java or abap mapping.
    2. how do I send them synchronously in a loop? How should the structure be???
    Thanks.

    Hi Chris,
    You can use a transformation step wherein you will define a 1...n mapping. In the mapping create a logic(in UDF) to split the message after every 10,000 message --> Collapse message. This logic would be there in the root node.
    Hope this helps.
    Regards,
    Rahul

  • Split Message Error

    Hi,
    I'm doing a split message without BPM, but I have found a weird error. When I change the ocurrences to unbounded (1:N) in target structure I am finding this error.
    http://picasaweb.google.es/hose86/SapXi#5324222633504070658
    In the picture above appears some yellow square instead of the source/target structure. At the bottom of the picture you can see " Object *** not found". Why?
    I try with other structures and I have the same error. If I try to create other MM the error persist. I tried to reinstall another java versions, and still not working.
    Could you give me any tips?
    I'm using PI 7.1 and JRE 1.5.
    Thanks in advance and regards,
    Jose Antonio.

    Hi,
    When I change the ocurrences to unbounded (1:N) in target structure I am finding this error
    where exactly you are changing the cardinality...it has to be changed in the Signature tab of Message Mapping....
    With the original cardinality:
    <SRC>
        <Node1>
              <Field1>
    Now when you change the cardinality in Signature tab:
    <Message>
             <Message1>
                   <SRC>
                          <Node1>
                                 <Field1>
    So basically the position of the elements in the structure is getting changed and hence the mapping getting disturbed.....
    regards,
    Abhishek.

  • XI - BPM Split Message

    Hi I am doing some BPM and I have a scenario where we send a message into BPM and I need to split the message.
    The Source Message has Header, Account and Details
    I want to split this so one message has Header and Account
    The other Message has Header and Details.
    I have done message, types, mapping etc for all of these but my problem is how to split the message once it comes into BPM.
    The way I have done it so far is.....
    RECEIVE --> Transform1 --> Transform2 --> SEND
    Under Receive Step I have not defined anything.... Should I?
    Under Transform1 Step I have the interface mapping from Source to Account
    Under Transform2 Step I have the Interface mapping from Source to Details
    Under Send Step I have not defined anything.... Should I?
    Does that look like it should work?    Is there a way to test this with out configuring the the Integration Directory....

    Anyways if you are planning to use BPM proceed like this:
    1) Receive (receives the message, specify the outbound interface)
    I Dont have the option for specifying this.... When I double click on message in the properties box I just get a screen come up and and a greyed out box that say interface variable..... 
    2) Transformation (1:N mapping you are doing, so when you create Message Mapping, Go to the third tab named messages and include both the target Message Type there. And use the same MM here in transformation)
    So you are saying this part should be done in the design repository under message mapping? What about interface mapping here or is this not necessary?
    3) send1 (send MT containing Header and Account to one interface/Service)
    The send step should be twice... they are in a horizontal line in the bpm diagram is this ok or should it look like it is split.....
    What I mean is this.....      Transform->Send->Send
    4) send2 (send MT containing Header and Details to second interface/Service)

  • BPM, serialization messages through XI

    Hello,
    I want to achieve the following:
    A business process receives and manages each message through XI in the same order as the adapter engine has sent this message (EOIO) to the BPM.
    Therefore I use  the fork step (Necessary branches = 1).
    The first branch receives messages and appends each message to a list. (Never ending iteration: 1 = 1). To receive each message I use a dummy correlation id like a version attribute of the message type (e.g. 1.0).
    The second branch manages this message list how long as the last message in the list is managed (Iteration: ReveivedMessage.MessageId != MessageList[n].MessageId.
    The process also sends messages EOIO.
    I have tested it and it works. But I have never seen such a process and so I'm not sure whether this process reveals any errors.
    Can anybody give me an hint whether this process is correct?
    Regards
    Marc

    Hey Marc,
    your questions are very pertinent.
    I'll try to give some comments on experience that I've had.
    For every collectPattern BPM instance (which is your case), you'll have a input queue which will receive messages while your correlation is active. So, while you are executing steps inside the block which defines the correlation, then you will also have messages being added to that instance's queue. So, it is extremely sugested that you use local correlations in a Block step and that you only put the loop with the receiving step and relevant container operation steps inside it.
    In the case that some messages are in the queue but was never processed (because the fork or the loop reached an end condition, for example), they are called "Parked messages" and from XI SP 17/PI SP 8 you can even resend them (with a kind of huge delay time, this is a gap from workflow framework...). Check out these notes:
    903139 BPE-RUN: Messages are not processed                   
    901047  BPE-RUN: Local correlations, error in block at runtime
    Briefly, you can minimize the probability of a parked message to occur, but you cannot eliminate it (probability will never reach zero). You can, by setting that particular BPM to a mode "without buffering" (meaning, no input queue), minimize the problem, and all messages which would be parked in "with buffering" mode will now be reprocessed (resent to BPE) but they have a kinda large delay (set in SMQR's Pause parameter for that particular queue).
    To set the BPM for "without buffering" mode, you need to go to tx SWF_INB_CONF and enter the BPM_MODE='X' (the task of the BPM can be checked in SXI_CACHE).
    But please read the notes (and the notes they refer to) before doing any setting. They comment you can't set a particular BPM to "without buffering" if you still have any parked messages for that BPM. You need to check and delete those through report RSWF_XI_UNPROCESSED_MSGS.
    Regards,
    Henrique.

Maybe you are looking for