Splitting and Collecting Messages

Hi,
I have a scenario in which I get a message from SAP. In this message their are multiple item structures and 1 header structure. Now I have to sent these items to a WS seperately and collect the messages  from the WS response in one message with a header.
Something like:
Receive Message -> split message (message mapping) -> send all to WS / receive response for everyone -> collect messages from response in a new message -> send the new message to another WS
How can I do this in BPM?

Hi Chris,
Your design should be like this:
Start --> Receive --> Transform1 (Do the split and multimapping) -->  Send Step1 (Synchronous) --> Send 2 (Send Response from send1 to the output) --> Stop.
Regards,
---Satish

Similar Messages

  • BPM collects messages, and should terminate at a given time

    Hi,
    i'm trying to create a scenario where a business process collects messages. At a certain time each day this process must transform this messages into one message and terminate.
    (I used the BpmPatternCollectTime process as a template)
    My problem is:
    how to tell the deadline branch it should rais an exception every day at a given time, lets say 10pm?
    I already tried to configure this branch with "Reference Date/Time=Expression" and set date and time to 2008-10-04 14:30:00. But the process won't stop at this time.
    Any ideas?
    Thanks in advance,
    ms

    Hi,
    I am not sure if you could use this pattern for stopping at a given time?
    Maybe you could configure a report that sends a message every day at the given time to the PI and your process stops with receiving this message.
    Regards
    Patrick

  • 1:n Message split and Abap Proxies??

    Hello,
    Can I not use Message split and Abap Proxy together? My scenario is MDM->File ->XI->Proxy->BI.
    I am getting a single file syndicated from MDM and in XI If I use message mapping to do 1:n split in the message mapping, can I use it with Abap Proxies? As per the link below, XI adapter is not present in the list..We are on PI 7.0 SP14. Thank you..
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/frameset.htm
    Thank you for any suggestion..

    Hi Thanujja,
    If you see the message from Raj, I dont think we can split the messages for the proxy. This is beacause the splitting of messages take place at the Adapter Level only for the adapters on the Java stack.
    As suggested by Guru, you can try splitting the messages in the inbound proxy instead of using a BPM, in that way you can acheive good performance.
    Thanks,
    Srini
    Edited by: srinivas kapu on Mar 27, 2008 9:09 AM
    Edited by: srinivas kapu on Mar 27, 2008 9:10 AM

  • 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

  • Collecting and bundling messages - transformation n- 1 messages problem

    Hi guys,
    I try to implement the scenario with collecting and bundling messages. I have a question: when you look at the samples in Basis6.40 SW Component, namespace http://sap.com/xi/XI/System/Patterns, there is an example, which uses message mapping BpmPatternCollectMerge.
    My question is: how can this mapping work??? it is mapping of N messages into 1 of the same type!!
    And when you try to test it, it does not work...
    Can you help, how to solve it? Or any ideas for other possibilities, how to merge the messages?
    Thanx, Peter

    Hi,
    To perform a N:1 transformation, these are the follwing important steps,
    DESIGN
    1. In your message mapping, make sure that the occurence of the source message interface is made to be n.
    2. Likewise, in your Interface mapping, the occurence of the Source Message Interface should also be made N.
    CONFIGURATION
    If you are using SP14 or SP15, the mapping can be done without a BPM as follows,
    u will have to go for a BPM with a receive step inside a loop with a multiline container element and the transformation step outside the loop to do the N:1 mapping
    Hope this clarifies and helps,
    Regards,
    Bhavesh
    Message was edited by: Bhavesh Kantilal

  • Collecting and Bundling Messages - One Interface

    Hi ,
    I am trying this Collecting and Bundling Messages - One Interface my interface is File .
    Followed all the steps in the SAP documentation under Examples and Usage cases.
    But I get only one message from the inbound channel .
    when I check the Mapping in the MONI . It shows 2 instances of interface in the MessageIn but the output message of the BPE moni shows only 1 message . Message that is in the first instance of the  Mapping IN .
    Is it error in the multi mapping ? can some body through some light on this ..
    Regards,
    KLK

    Hi Behaves & Moor,
    S, I am trying the pattren given by SAP . Following the weblink given by Mr.Moorty.
    I made source and Target Msg type as 0.. Unbound  and Multiline for Transformation step.
    But when I test the mapping in the Design time by importing a XML with following structure (Please dont mind bad syntax)
    <Messages >
       <ns0:Message1>
          <Filesender_MT >
             <Record>
                <Row>
                   <ID>1</ID>
                </Row>
             </Record>
          </ns1:Filesender_MT>
       <Message1>
       <Message2>
        <Filesender_MT >
             <Record>
                <Row>
                   <ID>2</ID>
                 </Row>
             </Record>
          <Filesender_MT>
       <Message2>
    </Messages>
    I get only one message :
    <Messages >
       <ns0:Message1>
          <Filesender_MT >
             <Record>
                <Row>
                   <ID>1</ID>
                </Row>
             </Record>
          </ns1:Filesender_MT>
       <Message1>
      <Messages>
    which is wht i am getting from the inbound CC.
    how do I test Multi Mapping ? and when I check the MONI->PE --> Technical Details --> Mapping --> MappingIN
    It shows 1 entry but the nestted table shows both the file contents that I have put in the Sender Communication channel.
      I am putting 2 files in the Sender CC and expecting these two file contents to Merge and give me 1 file as out put . this is the scenario understood from the SAP documentation please correct me if I am wrong .
    Thanks and Regards
      K.L.K

  • Bpm,COLLECT AND SEND MESSAGES

    Hi all,
    My scenario is as follows:
    Get user ids from SAP(receive step) ->
    Make syncronous call to get Roles from SAP(send sync) ->
    Append response message to message list ->
    Make syncronous call to get roles from SRM(send sync) ->
    Append response message to message list(both are same MT) ->
    Transform message list to new message ->
    Send message with to external system
    The problem is that only the roles from the first message are sent to the external system. It did not map and send the second message. What do you have to do to get both messages sent in the same send step? Is it possible?
    I set the message occurs for the source to 0...unbounded and the message occurance for the target to 1 per the pattern for both the message map and the message interface.
    Regards,
    chris

    Sorry
    Wrong place to post this question
    regards.

  • BPM collect message

    Hi All,
    I am doing a scenario for collecting messages using BPM, the objective was i need to collect the input messages and to be stored, when the message reaches 10, then it should deliver all these 10 messages to the target.
    for this, i have designed bpm with the
    1. Receiver Step
    2. Container Operation
    3. Transformation and Send.
    but i am getting the following error while activating
    Exptession must not return an multiline value
    Expression must return the interface type MI_OUT_A
    Expression must return the interface type MI_IN_A
    Container element var1 in step Receive1 is initialized but is not used.
    Here var1 is the abstract interface
    the datatype& message type  was DT_A and MT_A and the interfaces are MI_OUT_A and MI_IN_A.
    could anyone clarify regarding this issue..
    regards,
    Sai

    Hi,
    Check some links on BPM.
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/michal.krawczyk2/blog/2005/09/04/xi-do-you-realy-enjoy-clicking-and-waiting-while-tracing-bpm-steps
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
    Regards,
    Phani
    Reward points if Helpful

  • What is stateful and stateless message processing

    What is stateful and stateless message processing ?
    When it is used ?

    Hi
    Before going to Statefull or Stateless...u have to know about java and EBJ and what is session as well.
    Basically we are using 2 S in EBJ.It is nothing but persistance of data.
    Statefull: It means data are persists in multiple sessions.
    Stateless: It means data are persists in single session.
    in simple terms
    if you use BPM in your integration scenario then it is stateful.
    without BPM can be considered as stateless.
    Business Process Management provides SAP Exchange Infrastructure with functions for stateful message processing: The status of an integration process is persisted on the Integration Server. This means that you can specify how long an integration process must wait for further messages to arrive, for example. Furthermore, this enables you to process messages within an integration process further still; for example, you can collect certain messages and then send them in a particular order.
    This basically means SAP XI as a EAI tool without the BPM provides stateless message. this means that one message coming in SAP is not dependtent on another message.
    BPM in SAP XI is used to make messages stateful and this allows us to do functionalities like collecting message , splitting message, waiting for a message etc.
    Refer
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c656a9d-0901-0010-bcaf-fed14210c991#q-16
    http://help.sap.com/saphelp_nw04s/helpdata/en/93/33b504f33cb9468bf35f8fbda11294/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c656a9d-0901-0010-bcaf-fed14210c991
    thanks
    Swarup

  • I have a huge file which is in GB and I want to split the video into clip and export each clip individually. Can you please help me how to split and export the videos to computer? It will be of great help!!

    I have a huge file which is in GB and I want to split the video into clip and export each clip individually. Can you please help me how to split and export the videos to computer? It will be of great help!!

    video
    What version of Premiere Elements do you have and on what computer operating system is it running?
    Please review the following workflow.
    ATR Premiere Elements Troubleshooting: PE11: Project Assets Organization for Scene and Highlight Grabs from Collection o…
    But please also determine if your project goal is supported by
    a. format of your source
    and
    b. computer resources
    More later based on details that you will post.
    ATR

  • I D/L'd a trial version of LR 5 and lost all my catalog and collections in LR 4. What can I do to get them back?

    Yesterday I D/L'd a trial version of LR 5.6 and during installation it seemed to be copying my catalog from my LR 4.4.  Now nearly all of my catalog and all my collections in LR 4 have disappeared.  What has happened to them andhow do I get them back.  The original photos seem to still be available in the myphotos directory on the computer, but without any of my lightroom editing.

    Thank you so much!  I was freaking out that I had lost the whole
    catalog and all my collections.  It would have been good if Adobe
    support had been able to point me in the right direction with this
    advice. They basically shrugged their shoulders and said tough
    luck!  I am not impressed!
    Thanks again, Anne
    >I D/L'd a trial version of LR 5 and lost all my catalog and
    >collections in LR 4. What can I do to get them back?
    >
    >created by <https://forums.adobe.com/people/dj_paige>dj_paige in
    >Photoshop Lightroom -
    ><https://forums.adobe.com/message/6778009#6778009>View the full discussion
    >

  • BPm collect Message Check

    Hi,
    when i perform a check to standard BPM patterns BpmPatternCollectMessage. I get the following info am i wrong some where do any changes needed to be done.
    Container element stopmessage in step receive terminating message is initialized but not used
    Container element collectmessage in step *receive * message is initialized but not used...
    kindly help

    I did the above scenario as told.
    It is a bpm message dependent scenario. It keeps collecting messages till a particular message is received.
    I more or less used the message dependent pattern given in SAP BASIS.
    The data types are as follows.
    Dt_In
         Name
         OverallID
    Dt_In
         Name
        OverallID
    1 to 1 mapping
    I used the OverallId for correlation. The receive step inside the infinte loop collects the messages with OverallID '1' while the receive step below collects messages with OverallId '2'.
    In the container elements i defined 2 separate message interfaces. One for OverallID '1' and the other for OverallID '2.  The 2 message interfaces have the same Message type. Only values will be different.
    For the parallel fork step i have given end condition OverallID = 2.
    When i execute the scenario the messages are all comingin a queue. The status is wait for event.
    What could be the problem?
    Thanks
    Edited by: pratichi chauhan on Sep 24, 2008 2:46 PM

  • Multi mapping before BPM and then message routing to different IDocs

    I am working on PI 7.0.
    I have a scenario where a message from a third party needs to be split and then mapped to multiple IDocs in the target. This decision happens based on an RFC call to SAP ECC. Before the message passes to BPM, I have done a multi mapping to make the RFC call and split the message into multiple messages. Subsequently I have taken a multi line container inside the BPM to receive these messages and process them Parforeach and then a switch is applied to handle the rest of the scenario.
    Problem is when I am trying to execute the scenario, it fails in first step(multi mapping) before the BPM, it is not able to create the node for the multiple message.
    To explain a bit more, Message type say M1 is linked to Message interface MI1_OB. Then I have created an abstract message interface MI1_ABS and made it as 0---unbounded. Similarly in the message mapping I have changed the occurrence of the target message type (same as source message type)

    Hi Ambrish Mishra,
    Please check "Performing Several Multi-Mappings in a Series" [Link|http://help.sap.com/saphelp_nwpi711/helpdata/en/21/6faf35c2d74295a3cb97f6f3ccf43c/frameset.htm] . According it, second mapping should be able to accept this structure as input
    <?xml version="1.0" encoding="UTF-8"?>
    <sm:Messages xmlns:sm="http://sap.com/xi/XI/SplitAndMerge">
      <Message1>
      </Message1>
      <MessageN>
      </MessageN>
    </sm:Messages>
    Regards,
    Raghu_Vamsee

  • Collect message into internal table

    Hi,
    does any one knows how BAPIs or CALL TRANSACTIONs collect messages into internal table.
    My problem is that some BI with CALL TRANSACTION doesn't collect right message into return table and I would like to collect this last message after CALL TRANSACTION and therefore be sure that everything went OK.....
    thx
    mario

    hi
    good
    check this
    Call Transaction p_trans using ZBDC_Table
                                   Mode p_mode
                                 Update p_update
                          Messages into p_messages.
         Move sy-subrc to w__subrc.
       Scan the messages in YDCRAISES to see if we need to
       change the message class.
         Loop at p_messages.
              Select single msgtyp
                into w__msgtp
                from zdcraise
               where tcode  = p_messages-tcode  and
                     msgid  = p_messages-msgid  and
                     msgnr  = p_messages-msgnr.
              If sy-subrc = 0.
                 Move w__msgtp to p_messages-msgtyp.
                 Modify p_messages.
              EndIf.
         EndLoop.
       Dump the message table ?
         If w__ydcset-dumpmsg = True.
    thanks
    mrutyun^

  • 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

Maybe you are looking for