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)

Similar Messages

  • 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

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

  • 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

  • BPM sending messages to wrong inbound interfaces in PI and target system

    Hi All,
    i am doing File to proxy scenarion using bpm.i am receiving three files,two files splitting on based condition(location code) in receiver determination and sending to bpm(here one bpm receiving 3 files then it merges 3 files into one proact and some promo messages based promos in source file ,same in the second bpm with 2 files with different mapping,here target system is SAP APO SNC).i am doing testing now mapping and every thing is working fine.but first bpm sending messages(proact and promo messages) target sytem side (proact_in and promo_in)inbound inrefaces.if i am executing scenario both bpm sending (proact and promo) messaegs in target system its showing wrong bpm name.in target system also we can check messgaes sxmb_moni.
    ex:if first bpm A sending 1 proact and 2 promos,and second bpm B sending 1 proact and 2 promos to target system,but  in target syetm its showing sender component as 1st bpm A for 3 promo messages(here B bpm messages sending with A bpm viceversa i did the configuration correctly) and for 1 its showing second bpm. please give me suggetions how to resolve this issue.
    Thanks,
    seshagiri.

    Is the connection to SNC via idocs or proxies. If it's via idocs can you check the control record and see if the issue is not there ?

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

  • Splitting Messages

    Hi,
    I'm facing the problem to split messages like
    in this blog:
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    Means, an input structure like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:hw_request xmlns:ns1="namespace">
             <hardware>
                <name>ab</name>
                <processor>intel</processor>
             </hardware>
             <hardware>
                <name>ab</name>
                <processor>AMD</processor>
             </hardware>
          </ns1:hw_request>
       </ns0:Message1>
    </ns0:Messages>
    Should be generate TWO files which contains
    single hardware nodes.
    Problem: In this blog, he splits by a node value.
    I would like to generate a new instance for every
    occurence of a node.
    I think this weblog would like to do the same:
    /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    But I am not able to define a message name like
    output[index] like he uses in integration process.
    I can only select container elements and I am not
    able to write them manuel. Also I can't see how his
    condition for the loop is generated.
    How to do this?
    Thanks
    chris

    The confusion never stops
    Once again:
    I receive a message like this:
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    <ns0:Message1>
    <ns1:hw_request xmlns:ns1="namespace">
    <hardware>
      <name>ab</name>
    </hardware>
    <hardware>
      <name>xy</name>
    </hardware>
    </ns1:hw_request>
    </ns0:Message1>
    </ns0:Messages>
    after mapping it looks like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns2:MT_Order_File_request xmlns:ns2="namespace">
             <hardware>
                <name>123</name>
             </hardware>
          </ns2:MT_Order_File_request>
          <ns2:MT_Order_File_request xmlns:ns2="namespace">
             <hardware>
                <name>xy</name>
             </hardware>
          </ns2:MT_Order_File_request>
       </ns0:Message1>
    </ns0:Messages>
    This is multiline? Isn't it?
    in transformation step I take the mapping between those and the container for the target IS MULTILINE?
    But he wants a non multiline container!!!
    So where do I go wrong??
    thanks
    chris

  • File to idoc scenario (split message)

    hello everybody
    i have a file (xml) -> XI -> Idoc scenario
    sometimes idoc message is so much big and i have problem to process it.
    so i would like split message in more idoc but i need decide a cut-point
    example in file i have 200 row and i don't want create 200 idocs but example 4.
    So i need cut file every 50 rows.
    It's possible?
    thanks
    Alex

    Hi Alessandro ,
    We had the same problem in HR implementation where we used to get data for thousands of employees in a single file.
    As Idoc was not able to hold this much of data,data used to be truncated.
    Then we had taken a field (employee number) as a criteria to generate IDocs,and now we have an IDoc generated for each employee record.
    This was helpful as for a single employee,there were a number of change records.
    The logic used was:
    Employeecode -> splitByValue(value changed) -> collapseContexts -> IDoc.
    Does it suit your requirement as well?I mean,may be you can find such field for splitting IDocs.
    Kindly let us know.
    Thanks.
    Regards,
    Shweta

  • BPM Collect Message dependent AND time dependent

    Hi
    I have a IDOC to file scenario where I have to collect all the IDOC until I receive a stop IDOC.
    Once the End collect IDOC is received I have to do a n:1 transformation and write the file to the FTP.
    The problem is, at times the IDOC which is suppose to end the collect loop gets stuck in ECC R3 system.
    So Im wondering If I can do something like say, we have two options inside BPM both time dependent and message dependent.
    In this case which ever comes first (the Stop/END IDOC or the Time say 3 mins) will end the collect process.
    Can anyone pls suggest will it work and if so what are the additional steps I have to introduce in the BPM.
    Pls advice.
    Right Now these are the steps in the BPM Collect Message dependent.
    1. Block (I have used correlation)
    2. Fork inside the block
    3. Fork branch one has a look with end condition as 1=1; then a receive step and a container operation inside the loop.
    4. Fork branch two receives the end collect idoc.
    5. Transform step outside the block.
    6. Send step.
    Thanks
    Prasanna

    Hi Abhishek/ Raj
    Thanks!!
    I have done the changes let me confirm after testing it once. In the mean time I have one more question regarding the same BPM, as I have mentioned in the first post, the BPM contains the 6 steps mentioned but the the 6th step is inside another block (Block2).
    The steps 1 to 4 are inside Block1.
    The step 5 ie the transformation step (n:1) is in between the Blocks ie not inside any block (hope im not confusing).
    The second block is for sending the file to the FTP and based on the acknowledgement (transport level) I have to send an email.
    So Block2 already contains a deadline branch, it is to wait for the positive acknowledgement for say 3 mins and send the error email if incase we dont get positive ack within the time limit.
    My doubt is,
    1. Is it the only way (having two block and two wait steps) to achieve this.
        (one block for collecting and one block for ack)
    2. Is there any way I can have a single Block in the BPM insted of two. If so what are the steps.
        Having single block, Will improve anything??
    Thanks
    Prasanna

  • Split message - InterfaceDetermination did not yield any actual interface

    Hello experts,
    We have the following scenario.  PI 7.3 Single stack.  text file input to multiple receivers.
    The scenario works in Dev, but after transporting to QA test, it fails.  I have transported ESR objects twice and have deleted and recreated the Integrated Configuration. Cache seemed to be up to date, and we had Basis restart the PI system.
    The error messages states: "InterfaceDetermination did not yield any actual interface."  However, the message is not splitting, so the failure is truly before that step.
    Message log from successful message in Dev:
    7/15/2014 2:23:30.691 PM
    Information
    Send text file "/sapdataexch/dev/interfaces/micros_xstore/I_AUD_0103_XStoreIBSales/IN/20140715-050034-688_SettlementLog.08104.01.20140715.084728.xml", size 14886, encoding UTF-8 with QoS EO
    7/15/2014 2:23:30.691 PM
    Information
    MP: processing local module localejbs/CallSapAdapter
    7/15/2014 2:23:30.692 PM
    Information
    Trying to put the message into the send queue
    7/15/2014 2:23:30.692 PM
    Information
    Application attempting to send an XI message asynchronously using connection File_http://sap.com/xi/XI/System
    7/15/2014 2:23:30.697 PM
    Information
    Message successfully put into the queue
    7/15/2014 2:23:30.697 PM
    Information
    The application sent the message asynchronously using connection File_http://sap.com/xi/XI/System. Returning to application
    7/15/2014 2:23:30.699 PM
    Information
    The message was successfully retrieved from the send queue
    7/15/2014 2:23:30.703 PM
    Information
    Starting to Split Message
    7/15/2014 2:23:30.703 PM
    Information
    Message status set to DLNG
    7/15/2014 2:23:30.704 PM
    Information
    Message Split to Message 1f6a76a9-0c4d-11e4-b4fa-0000010522fb(OUTBOUND)
    7/15/2014 2:23:30.705 PM
    Information
    Finished Splitting Message
    7/15/2014 2:23:30.713 PM
    Information
    Message Split to Message 1f6a76a9-0c4d-11e4-b4fa-0000010522fb(OUTBOUND)
    7/15/2014 2:23:30.721 PM
    Information
    Message Split to Message 1f6a76aa-0c4d-11e4-c008-0000010522fb(OUTBOUND)
    7/15/2014 2:23:30.722 PM
    Information
    Message status set to DLVD
    7/15/2014 2:23:30.725 PM
    Information
    Message was successfully transmitted to endpoint   using connection File_http://sap.com/xi/XI/System
    7/15/2014 2:23:30.752 PM
    Information
    File "/sapdataexch/dev/interfaces/micros_xstore/I_AUD_0103_XStoreIBSales/IN/20140715-050034-688_SettlementLog.08104.01.20140715.084728.xml" archived after processing
    Message log from failed message in QA:
    7/16/2014 3:45:10.944 AM
    Information
    Send text file "/sapdataexch/qas/interfaces/micros_xstore/I_AUD_0103_XStoreIBSales/IN/SettlementLog.01769.05.20140716.073904.xml", size 232961, encoding UTF-8 with QoS EO
    7/16/2014 3:45:10.945 AM
    Information
    MP: processing local module localejbs/CallSapAdapter
    7/16/2014 3:45:10.946 AM
    Information
    Application attempting to send an XI message asynchronously using connection File_http://sap.com/xi/XI/System
    7/16/2014 3:45:10.947 AM
    Information
    Trying to put the message into the send queue
    7/16/2014 3:45:10.962 AM
    Information
    Message successfully put into the queue
    7/16/2014 3:45:10.962 AM
    Information
    The application sent the message asynchronously using connection File_http://sap.com/xi/XI/System. Returning to application
    7/16/2014 3:45:11.291 AM
    Information
    File "/sapdataexch/qas/interfaces/micros_xstore/I_AUD_0103_XStoreIBSales/IN/SettlementLog.01769.05.20140716.073904.xml" archived after processing
    7/16/2014 3:45:11.431 AM
    Information
    The message was successfully retrieved from the send queue
    7/16/2014 3:45:11.579 AM
    Information
    Starting to Split Message
    7/16/2014 3:45:11.579 AM
    Information
    Message status set to DLNG
    7/16/2014 3:45:11.582 AM
    Error
    Transmitting the message to endpoint   using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.aii.adapter.xi.routing.RoutingException: InterfaceDetermination did not yield any actual interface
    7/16/2014 3:45:11.711 AM
    Information
    Message status set to WAIT
    There are no conditions on the Receivers.  The file should always split to both,
    Inbound processing is a file adapter.
    Any help is appreciated.
    Thanks!
    Tom

    Hi Harish,
    That was exactly the issue.   The SWC was not the same.  I made the QA to match the Dev and the process worked.
    Very good.
    Thanks!
    Tom

  • CPU time of BPM or message mapping?

    Hi all,
    is there a way to find out how much CPU time is spent by a certain BPM instance (or message mapping instance)?
    It would be sufficient to get that value per BPM type / message mapping type.
    So far, I've found the following sources, which all won't work, unfortunately:
    - table SWWWIHEAD: No CPU time information (as far as I see)
    - transaction STAD: I don't see a way to connect an entry to the resp. BPM. There is a Transaction-ID, but I can't find it in the BPM...
    - transaction ST03N: Only aggregated values for user WF_BATCH, not detailed statistics
    - several places, which only show clock time, but not CPU time
    Thanks in advance!
    Kind regards,
    Dennis

    Hi Michal,
    Thanks a lot for your info.
    Too bad that there is no other possibility yet.
    I'm not completely sure whether the result is worth the effort, though, as there will probably be a lot of different BPM types on this system, so benchmarking each is quite some work (and requires an otherwise idle test system during this time).
    In addition, it could be difficult to generate test data that will most likely represent the expected data during production use. Especially for BPMs with many conditional tasks (branches, loops, ...), this can be a mess...
    But I will propose it anyway. If it gets accepted, I'll post the gained experience with this approach here. Maybe it works better than my pessimistic expection.
    Hopefully, SAP will integrate this functionality somewhen. I guess I set up some customer feedback.
    Kind regards,
    Dennis

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

  • 1:2 Message Mapping WithOut BPM - Split mapping created no messages Error

    Hi,
    I am a new-bie to SAP PI and am trying out the following scenario without BPM.
    Make multiple files based on Age received from input file.Input File contains Name,DOB and Output File contains Name, Age.
    I want to create 2 files, one containing details of people with Age <21 and the other output file containing details of people with Age >= 21.
    To acheive this,
    In IR, I created 2 DT and 3 MT,1 MM with 2 Target MT,both having occurences 0..unbounded, 1 IM with 2 Target MI,both having occurences 0..unbounded
    And in ID, 1 Sender Agreement, 2 Receiver Agreement, 1 Receiver Determination, 1 Interface Determination using Enhanced Interface Determination.
    When i run this scenario, I am getting the following error "Split mapping created no messages"
    Please let me know how can I resolve it.

    Oops, I did not know that.
    Thanks for that information. uhuuuuuuuuuuu, atlast the message is processed and I am seeing output files created.
    But, there is still one problem. My output files are created with just the following content
    <?xml version="1.0" encoding="utf-8" ?>
      <ns1:MT_2OP_File_Out xmlns:ns1="http://POC_Sec1_1IP2OP2" />
    In MM, I see the output message as follows:
    Message
         Message1
             MT_2OP_File_Out
                  Employee
                      Name
                      Age
         Message2
             MT_2OP_File_Out1
                  Employee1
                      Name
                      Age
    The mapping done:
    MT_2OP_File_Out and MT_2OP_File_Out with the Message Type element on source end.
    Employee and Employee1 are mapped as
         Age -> removeContext -> SplitByValue[Each Value] < 21, Map Employee
         Age -> removeContext -> SplitByValue[Each Value] >= 21, Map Employee1 resp
    The fields are straight maps.
    Is there any basic mapping error that I am making. Please help.

  • 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

Maybe you are looking for

  • Logic X won't detect microphone signal.

    I'm using an Alesis iO2 and an Audio Technica AT2020. The signal is showing up on the Alesis and Mac. Logic won't pick up the signal and seems to have trouble detecting inputs although the iO2 is selected as the input device? I have checked preferenc

  • Dropped frames on Xserve RAID upgraded w/750GB drives.

    I'm capturing in 10-bit uncompressed standard definition 720x480. I just upgraded one side of my Apple XRAID, (connected directly via fibre channel) with seven, 750GB hard drives from Apple, drives designed for the XRAID, (came with there own sleds.)

  • Scoped snapshots enabled.

    Event ID: 13 Windows cannot perform an online backup of this system because scoped snapshots are enabled. To resolve this, disable scoped snapshots by creating the following registry value on this computer:                PATH: HKEY_LOCAL_MACHINE\SOF

  • Upgrading from 7 to 9 and server monitor

    We just upgraded from cf7 to cf9 and are getting a message in the server monitor that is is unavailable in this version. Our server is Windows 2003 and IIS6 with the standard edition. It appears to be the issue covered by this tech note http://kb2.ad

  • Console port on ASR1000 not accessible?

    HI I have two ASR 1000 and I am not able to console into them. I have tested my console cable by connecting it to a 7206 and it works 100%. When connecting it to the ASR I am not receiving any output. I have restated bot of the ASR's and I experience