Splitting Message in ESB

Hi All ,
I am facing a problem with spliiting message in ESB via transformation.I have this process which starts by
1. Polls for details from a single table for all customers .The polling is a logical delete on a status column only.
2.This message is then enqueued into a queue .
3. The schema used to enqueue data is same as that which is used by customer web service. This xsd has a header with customer name and date etc and a repeating detail area with all details coming from the table.
4.There is a routing rule before enqueue to map all rows coming from table to the target schema.mapping to customer at header is only once and the rest rows coming from table to detail.
5.And on the other side on consumption of the message using routing rule we deicde for which customer the data is using filter expression on header and accordingly send the message by calling customer specific webservice .There are four customers.
But when multiple customer's data comes in the table at same time,we would have a problem as all customer details get into a single message with the first row customer name in header .
Can we split the records in the message coming from polling based on customer name in header and into 4 differnt message and then enqueue the data ? Will it be possible to have multiple messages enqueued using a single AQ adpater configuration?
Thanks for the help .

The incoming message in my requirement an xml is debatched into no of xmls and is written to a FTP location thro a FTP Adapter.
Another FTP Adapter reads each file and invokes the AQ ADapter.
Is there any better way to get this done.
Thanks,
Arul Prashanth

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.

  • 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

  • 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

  • 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

  • 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

  • Resubmitting the fault messages from ESB Portal

    Hi,
    We are facing some changes in Resubmission process in ESB Portal.
    When we try to resubmit the fault message in ESB Portal we are getting the error and there is nothing available in the event viewer
    The resubmission failed: 500 - InternalServerError
    We already try so many prospect as we find in the Google.
    Thanks,
    Oyash

    Hi Oyash,
    You need to debug it further by opening the portal solution and attaching to IIS.
    Few checkpoints:
    #1. Ensure that Application pool associated with your Application
    in IIS is V4.0 instead of V2.0. Do reset the IIS before testing again.
    Refer: ESB
    portal resubmission error
    #2. You got to checkout this thread wherein Sravanthi faced same issue and got it fixed. Refer: Resubmission
    failed 500 internal server error.
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • 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

  • File name in Split messages with Message mapping

    Hi everyone,
    I split my incoming message into multiple files based on the Order Numbers.
    Also I have a particular file naming convention I need to use.
    Its someething like RTG746932746.63749
    Now, I have given the field file name along with my target data type and mapped it like the format i want alogn with order Number to make it unique.
    But when I dwnload files, I get only one file.
    Whereas if I just use the option, Add time stamp in the communication channel, it works fine, giving me 3 order files if i have 3 orders.
    But I cannot have ' -' in my file name.
    How do i resolve this?
    Thanks,
    Vinotha M

    Is teher any thing else I can do change the file name and have mulitple files downloaded without it being overlapped.
    Please help resolve
    Thanks,
    Vinotha M
    Edited by: Vinotha M on Feb 4, 2009 4:10 PM

  • ABAP mapping split messages and dynamic filename

    Hello,
    i have set up a IDOC to file scenario where the IDOC is split into several files, which works fine. In addition to this it is required to set a dynamic filename out of the ABAP mapping for each file. If only one file is created this works already as well but how do you set the dynamic configuration when the messages are split?
    Regards,
    Andreas
    Edited by: Andreas on Feb 26, 2009 9:09 AM

    you cannot do dynamic configuration for message splits. The below is from SAP help.
    Adapter-Specific Attributes and Multi-Mappings
    In multi-mappings, there are multiple message headers with adapter-specific attributes. The mapping API can only access one message header. This has the following consequences depending on whether there are multiple source or target messages:
    u25CF     1:n Transformation
    If there are multiple target messages, the header for the adapter-specific attributes is copied for each message. This means that you can only create one header for all adapter-specific attributes, and not individual headers.
    u25CF     n:1 Transformation
    This variant is only possible for multi-mappings in integration processes. If there is more than one source message, read-access to the adapter-specific attributes of the various message headers is not possible at runtime.
    u25CF     m:n Transformation
    All afore-mentioned restrictions apply here. Developers can at most write the same adapter-specific attributes for all target messages to the header, without read-access to the attributes of the source messages. m:n transformations are only supported within integration processes.
    What i will suggest is to use BPM to have the message split i.e 1:N mapping and then after that have another mapping 1-1 to have the dynamic configuration

  • 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

  • Message Split or Split message in ABAP

    Hi ABAP guru,
    I am facing a difficult choise, our secnario like following:
    we will use a background job to trigger a program to collect today's new material master data, then use RFC adapter to send data to XI, XI will use JDBC receiver to insert data into Oracle DB. We will use PLANT field to distinguish which message should be sent to which DB(we have 3 plant, each plant has its own oracle DB, and only needs own data)
    Choise A:
    in the program, loop the internal table which contains many material master data, call RFC each loop, to make sure every message contains one material only.
    Choise B:
    use BPM message split pattern.
    Could please let me know, depending on your experience, which way will be better?
    If you have another choise,that will be appreciate to let me know, thank you very much for your help.

    Hi,
    to tell you the truth the best way would be to go for ABAP proxies
    this way you'd be able to send a all material to one plant
    in one message (as you can easily nest XML nodes)
    with RFC or IDOC it's jut not possible as you can only use
    tables and one header
    but still I suggest small messages over the usage of a BPM in this case
    (BTW if you have any test tool - like mercury loadrunner)
    you can create both cases and compare the performance
    in your environment
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Maybe you are looking for

  • IPod Touch, Nano & Classics Not Recongized in iTunes or Windows !!

    I have 1 iPod Touch, 2 iPod Classic & 1 iPod Nano (brand new one) Since the iTunes V9 update none of them will show up in Windows or iTunes. I have tryed the 5 R's, wiping everything off the computer and reinstalling it, reinstalling iTunes and more!

  • Error processing request in sax parser  No 'action' attribute found in XML

    Hi All,         I am doing a FILE to JDBC Scenario.  I just want to send a data from file to Sql Db table. For this I have written a stored procedure to insert the row in a table. This is the message mapping for FILE to JDBC …. Sender                

  • No Clue Where This Is Suppose To Go. Camera, iPhoto, USB. Have Fun.

    I got a new digital camera a few months ago and my MacBook Pro would pick up the camera just fine using iPhoto and I could upload the pictures on to my computer no problem. Now, not the case. Now when I hook up the camera to my computer with the USB

  • Installing New Color Looks for Color 1.5 - Invalid Location?

    Hi I downloaded the New Looks for Color 1.5 that Apple provided, which are basically new boxes for the Color FX tab in Apple Color 1.5. In the installation instructions, it says to copy the folders into this location:  /Users/username/Library/Applica

  • Screens on Se51.

    Hi , A screen has been created already on Se51. I want to hide one dropdown box from that screen and need to add another drop down box. when i opened the window on se51 it just seems like having only a line for all the fields. there is no property wi