Mapping 2 messages into 1 using BPM

hello
I have a BPM tha recieve 2 messages, and combine them into 1 message. I would like to know how can I map the 2 messages into 1.
more over, is there a way to decide the value of the attribute for the mapping? (for example, if in one of the messages I have attribute value=4, and when mapping it I want 4 to be translated to write Mr. if the value was 3, I would like the value to be Miss, etc.
Thanks
Kfir

Hi Kfir.
As I understand your requirement, you want to combine two messages into one.
If both of the messages have the same structure, then, in BPM, you can use a while loop which contains the receive step followed by the container step into which the messages will be collected. You can use "APPEND" option in the container step. After the while loop, use a transformation step and then followed by the send step.
Now for the loops, you can go with a Time-Dependent, Message-Dependent or Payload-Dependent Loops. Now, that depends on your business requirement.
For this scenario to work, you need to create a correlation, for which the two incoming messages should have one field in common and also should contain the same value. Else, it would fail.
If that is not the case, then in the correlation, define a constant and set it's value to 1 for both of the messages. This will make it work.
Check out the Integration Processes BPMPatternCollectTime, BPMPatternCollectPayload, BPMPatternCollectMessage under the http://sap.com/xi/XI/System/Pattern of the SAP BASIS Software component.
I think this would give you an idea.
Regards,
Hari.

Similar Messages

  • Multi-Mapping and Message Split using BPM

    Hi All,
    Could anyone pls let me know clearly how message mapping can be done for this weblog
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    Thanks,
    Ram

    Hi,
    When you are doing Message mapping after adding the Messaget types for source and target messages. You can click on the "" button in the target message and add one more tab. You can go to Message tab as shown in the 5th image and click "" button to add one more message type. Then do the mapping as usual.
    <b>Based on the value of the element(name), the node of input(details)should be directed to one of the two message types</b>
    Here in this blog it is done based on the Name.
    You need to use IFTHENELSE boolean function and do the mapping.
    Thanks,
    Prakash

  • Multi-Mapping and Message Split using BPM UDFs Error

    hi
    As per the below blog
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
    I have just modified the UDFs(1.selectnodeifA 2.selectNodeifB)
    1.selectnodeifA
    for(int i=0;i<=n;i++)
    if(Name<i>.equals("A"))
    result.addValue(Node<i>);
    2.selectNodeifB
    for(int i=0;i<=n;i++)
    if(Name<i>.equals("B"))
    result.addValue(Node<i>);
    while checking I am getting the following errors
    Source code has syntax error: 
    D:/usr/sap/D10/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Mapdc8fa4d0896011dd907d001cc01cef0d/source/com/sap/xi/tf/_bpm_mm_.java:132: cannot resolve symbol
    symbol : variable n
    location: class com.sap.xi.tf._bpm_mm_
    for(int i=0;i<=n;i++)
    ^
    D:/usr/sap/D10/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Mapdc8fa4d0896011dd907d001cc01cef0d/source/com/sap/xi/tf/_bpm_mm_.java:140: cannot resolve symbol symbol : variable n
    location: class com.sap.xi.tf._bpm_mm_
    for(int i=0;i<=n;i++)
    ^
    2 errors
    The source code given in the blog is correct ? I thought for loop has not completed
    pls help
    manian

    Hi manian,
    I was having a look to Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure blog.
    The functions are not the same. I mean, yours and blogs functions.
    Each function has two parameters, Name and node. Furtheremore, in the blogs' functions is using arrays and you don't.
    So, the right code will be
    1.selectnodeifA
    for(int i=0;i<=node.length();i++)
    if(Name<i>.equals("A"))
    result.addValue(Node<i>);
    However, if you don't need an advance user defined function as you want to process just one element of the node's queue, you will not need to use for sentence.
    Something like:
    1.selectnodeifA
    // for(int i=0;i<=n;i++)
    if(Name.equals("A"))
    result.addValue(Node);
    Hope it is usefull for you.
    Carlos

  • Message split using BPM.

    Hi SDNers,
         My Scenario - Multiple IDocs to 3 output messages. Mesg1 1:1, Msg2 0:1, Msg3 0:1
         We are using BPM to acheive this.
               I am doing message split using BPM. But I have a problem when I am using BPM.
         My requirement is to collect the Idocs for 1 minute, this I acheived by using deadline branch and collecting idocs using container. After that I used Transformation step to run interface mapping by which message is splitting into three messages. Upto this I acheived successfully, then after I got strucked to split the message.
         I am using fork step and and giving three branches, in each branch I am giving receive step and collecting the transformed message. My problem is the message in the first branch is mandatory to come, where as the messages in the remaining two branches are not mandatory. That is my message can split into three messages or just one.
         If I use fork step, without getting the message in all the three branches, the messages in the branches will not come out. Which is not satisfying my requirement.
         I am thinking that before receive step in fork, can I use wait step for 1 minute or can anybody explain what is the functionality of necessary branches.
         Thanks in Advance.
    Regards,
    Jayaram.G

    Jayaram.G,
    To send the messages in your fork, you need a send step instead of a receive step.
    I think you also need to insert a switch in al of the fork's branches, so that the messages will ony be sent when the transformation produced the message. (use the expression [message] EX in the switch).
    Kind regards,
    Koen

  • Message Split using BPM for Multiple SOAP Receivers

    hi,
    I have a scenario where in i have to split the message coming from IDOC(SOURCE) to multiple SOAP(TARGET) receivers through BPM
    I took a single file as a scenario and tested it. It worked fine.
    I am using only a single output interface.
    I have followed this weblog
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    but this blog has 2 output interfaces whereas in my case i just only one output interface that i want to route to multiple receivers based on the value in the PARVW in the IDOC.
    Thanks,
    Tirumal

    hi ,
    this is done using CONDITIONAL RECEIVER DETERMIANTION.
    While doing your reciver determiantion, you can specify multiple receivers and also specify the condition on which the receiver is to be choosen.
    Also, just check the last path of this blog for the same,
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    Regards,
    Bhavesh

  • Message Splitting Using BPM

    Hi Folks,
        I'm new to SAP PI 7.0 . I want to send one xml file to 2 sender in a splitted manner using BPM. suppose I have 8 fileld in my sender data type, i want to send the xml which contails first 4 fileds to the first receiver and
    the xml which contails second 4 fileds to the second receiver.
         Can anybody help me in this case.I have already looked for the already answered threads but i didnt get any help from them.
    Thanks & Regards,
       Santosh Kumar Nayak.

    Hi,
    Check this blog: /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    From the blog:
    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.
    Same logic applicable to your case.
    Regards,
    Abhishek.

  • Idoc(receiver) message splitting using BPM

    Hi,
    could you provide some blogs which is useful for Idoc (as a Receiver) message splitting (1:N scenario) using BPM.
    I have gone thru some of the Blogs, i didn't find good one according to this scenario.
    Thanks
    Praba

    Hi Michal,
    Thanks for ur reply.
    You said " if you have one message and want to have multiple IDOCs
    there is no need for a BPM -
    you just need to change IDOC occurance - that's all"
    I agree to your point.
    My scenario is more or less same but "With single message , i need to generate multiple Idocs" based on synchronous proxy response from R3. That is the reason we already gone with BPM.
    Already i used the BPM in my interface due to req.  It was working. Earlier i was posting single Idoc to R3 with multiple Header segment (each Header segment has one quantity)
    Now due to req. change, for each single quantity (quantity is my source Message Type field), i need to post single Idoc to R3  if i get response from R3.
    My XI version PI 7.0 SP14
    Idoc structure:
       <xsd:attribute name="SEGMENT" type="xsd:string" fixed="1" use="required"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
       </xsd:complexType>
    - <xsd:complexType name="WPUWBW.WPUWBW01";>
    - <xsd:annotation>
       <xsd:documentation>POS interface: Upload goods movements</xsd:documentation>
       </xsd:annotation>
    - <xsd:sequence>
      <xsd:element name="EDI_DC40" type="EDI_DC40.WPUWBW.WPUWBW01"; />
       <xsd:element name="E1WPG01" type="WPUWBW01.E1WPG01"; minOccurs="0"
       maxOccurs="9999999999" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
       </xsd:sequence>
       <xsd:attribute name="BEGIN" type="xsd:string" fixed="1" use="required"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
       </xsd:complexType>
       </xsd:schema>
    Already I am using this Idoc structure in various interfaces also. If i edit the occurance of the this Idoc and import in External definition with same name, I feel it afffect mapping in other interfaces also.
    Inputs are highly appreciated.
    Edited by: Prabaharan Rangasamy on May 22, 2009 4:14 PM

  • Exception Handling (in Mapping) with out using BPM

    Hello All,
    We are on SP17. I have a simple flow involving XI
    JMS -> XI (Message Mapping -> XSL Mapping)  -> Mail
    I would like to send an email if there is an exception in any of the mapping. But I <b>don't want to use a BPM</b> for this exception handling. How can I do it?
    Thanks
    Abinash

    Hi Abinash,
    yes you can! See these..
    /people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
    /people/sap.user72/blog/2005/02/23/raising-exceptions-in-sap-xi-mapping
    All the best!
    cheers,
    Prashanth
    P.S Please mark helpful answers

  • Merging the messages  by using BPM

    Hi
       I want to merge the messages... I mean.. i have two sender files.. and one receiver  file..(File to File scenario ) I want to load these two files into a single output file..
            every one telling this scenario will possible  through BPM's  so, how can we do this... can any one give me the detailed steps for this...
    Thanks
    Babu

    Hi babu,
    If your sender files are comming form Same interface then follow this Link,
    http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
    if you have 2 interfaces at sender then this will help you.
    http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
    **Reward points ifhelpfull**

  • Terminate messages without using BPM?

    Hi,
    Does anybody know if you can terminate messages with content based routing without ending up with messages in error state.
    example
    I receive IDOCs from R/3 where some should be handled and sent to a receiving system and some should not be handled at all and thus terminated. If you define a content based routing for just the ones which are supposed to be handled the rest of the messages end up in error state since no receiver is found. Ideally it would be possible to route messages to a "null" receiver without getting errors, anybody know of such a possibility? I know this can be achieved with a BPM but in this case that creates a lot of unnecessary workload for limited functionality...
    Kind regards Johan Göthberg

    Hi Johan,
    you can try creating a dummy receiver - like ftp/file receiver and send those wrong message to this receiver?
    this way wou'd have everything correct and all "wrong" message in one place (ftp or something)?
    Regards,
    michal

  • 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

  • Oracle BPM and JMS Queue: How to associate data from Map Messages to Process Data Objects?

    Good Day!
    I'm currently working on a project wherein it tries to get data from a JMSqueue Map Message being populated by CEP.
    After CEP pushes some data in the JMSqueue. I have BPM configured with a JMS adapter to look up whether there are any messages to be processed upon.
    Inside BPM, I want to know how can I correlate the data from the Map Message to my Process Data Object.
    For example, If I have a Map Object wherein it has 3 attributes:
    FirstName:String
    LastName:String
    Age:int
    What is the expression I need to use inside Oracle BPM Data Association screen in order to map the data from the Map Messages into my process data objects?
    Thanks!
    Regards,
    Jeff

    Any ideas? Thanks!

  • NW BPM. - Split Multiple messages into 1.

    Hi,
    My requirement is take XML Message (Multiple Message ) into NW-BPM and split it into multiple reocrds( 1 Message each ).
    further on each employee i will apply mapping logics and then again recombine it and pass it to Target Message.
    Kindly Suggest.
    Regards
    PS.

    Hi Sriram,
                  I followed the above blog and successfully deployed my BPM in NWDS. I've been educated that I've create two ICOs:
    First ICO->
       Sender system(SOAPUI Tool)->PI->BPM
    Second ICO->
       BPM->PI->Receiver system(Local File system)
    I create the Second ICO as mentioned above. Basically I used the same Sender SOAP channel in both the Inbound Processing of ICO and in the second ICO I used my local file system to send the final individual files. As per the below link(Possible cause 4:)
    PI Messages are not delivered to SAP NetWeaver BPM - Technology Troubleshooting Guide - SCN Wiki
    Today I re-imported my Service Interface from ESR and again created the BPM  and deployed it successfully. But while testing I'm seeing the below Error from yesterday.
    Note : I created wsdl file from my first ICO. I'm testing from SOPUI tool.

  • Multi mapping and message splitting in BPM

    Hi ,
    I am working with this scenario ...
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    how many message interfaces i have to create .
    one outbound , one abstract  and two inbound .. is it correct.

    Hi
    Minimum you need to create three message interfaces i.e. Bpm_In_MI_Abstract,  aBpm_Out_MI_Abstract Bpm_Out1_MI_Abstract, because abstract interfaces can be use inbound and outbound as well.
    You can also use create implement it by using inbound and outbound message interfaces. In that case you have to use three additional interfaces(1 outbound and 2 inbound).
    Regards
    Sami
    Reward points if helpful.

  • Collect Messages using BPM

    Hi all,
            Am doing a collect message pattern using BPM. After collecting messages wen mapping is called its throwing exception. CAn you help me out in this. I ll explain.
    the input i give is :
    <Root>
           <Name> asd </name>
           <ID> A </ID>
    </Root>
    i sent thid message 5 times to BPM (using collect pattern).
    the stop message is of the format
    <Stop>
       <ID> A</ID>
    </Stop>
    wen i send this the collect block is exited and the flow comes  to a transformation step which does a n:1 mapping
    ie. in my mapping i add the source message type and changed its occurence to unbounded in messages Similarly in IM also i changed the occurence of source MI to unbounded. wen i test the message mapping with this
    <Root>
           <Name> asd </name>
           <ID> A </ID>
    </Root>
    as input it gives the exception. But if i gve like this ten its showing successful.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
    <Root>
           <Name> asd </name>
           <ID> A </ID>
    </Root>
    </ns0:Message1>
    </ns0:Messages>
    But how can wedo that as transforamtion happens in BPM. PLease help me out in this

    Hi,
    Check these links
    /people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/76/5d373f5e550456e10000000a114084/frameset.htm
    Regards,
    Kumar

  • Problem in merging two files using BPM

    Hello Frens,
    I am doing a scenario for merging of two files N:1 using BPMu2026
    I have to merge two files into one file. The two input files are as below :
    File1 : Id, Name, Age, Place
    File2 : ID, Street, Adrress
    And output File is : ID, Name, Age,place, street, Address
    For this scenario I have defined three datatypes , message types and  the message interfaces as below :
    For File1:  Mi_file1_ob, Mi_file1_abs
    For File2: Mi_file2_ob, Mi_file2_abs
    For output : mi_output_ib, mi_ouput_abs
    In interface mapping I have selected two source interface and one targetu2026
    For Integration process I have selected two receives as two branches of fork and transformation to collect them and a send..
    In IR part I have defined three communication channels sender1, sender2 and a receiver . I have imported the integration from IP and rest is sameu2026
    I am facing a problem for getting the outputu2026
    When I checked in sxmb_moni  everything is fine  and sxi_cache and the return code is also 0 but I am not getting the outputu2026
    Can anyone help me in finding out the problem..
    Thanks in advance...

    Hi,
    Have a look into these blogs and links
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    http://help.sap.com/saphelp_nw04/helpdata/en/de/766840bf0cbf49e10000000a1550b0/content.htm
    you can design the ccBPM. To know more about Correlation -with e.g
    http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/56373f7853494fe10000000a114084/content.htm
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
    /people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
    Re: Correlation
    http://help.sap.com/saphelp_nw04/helpdata/en/a5/64373f7853494fe10000000a114084/content.htm
    i hope this will help you.
    Regards
    Aashish Sinha
    PS : reward points if helpful

Maybe you are looking for