Processing of multiple messages Using BPM

Hello everybody,
I am pretty much a newbie to this XI technology. I am currently testing a File to File scenario Concerning BPM. The source file contains multiple messages in an XML structure. How can each of these XML messages be posted as individual files? I have reffered to this <a href="/people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi on BPM as a guideline; but here the number of messages are restricted and I want to dynamically determine how many messages are contained in the XML file. Anybody has any idea how to achieve this?
Thanks and Warm Regards,

Hello,
The blog you mentioned is for cutting one file into 2 files.
I think you need to use the "<b>ParForEach</b>" step in the BPM. This step is used to loop on a multiple line message and create a single message in one branch. Then you can add a send step in this branch and end only one message.
<u>See the Flight Demo :</u>
http://help.sap.com/saphelp_nw04/helpdata/en/5a/cede3fc6c6ec06e10000000a1550b0/frameset.htm
<u>Object in IR :</u>
BASIS -> http://sap.com/xi/XI/Demo/Agency -> BPM -> MultipleFlightBookingCoordination
Regards,
Chris

Similar Messages

  • File to RFC with multiple records using BPM Scenario Error...!!!

    Hello Guru's,
      I have done the File to RFC with multiple records using BPM scenario as per the Materiel available in the sdn.sap. This involves BAPI (BAPI_MATERIEL_AVAILABILITY). I have done exactly the same what is their in the materiel. SXI_CACHE is also giving return value " 0 ". File is getting deleted from the source directory, but no file in target directory. SXMB_MONI is also showing no error (black Flag). BPM is also error free. Checked the interfaces also.
    Can any one tell me what mistake would i have done.
    Thanks in advance.

    Hi,
    There is one similar discussion I found,
    FTP TO RFC using BPM
    Thanks
    Swarup

  • 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

  • Multiple sender - Using BPM

    Hi,
    I have 4 file senders to send message of same structure to BPM to process it.
    There is no corelation between the messages.
    But I am wondering, will it work, if I add multiple receivers using fork step and initiating each one as 'start process'?
    Can we have multiple receivers in BPM with any corelation?
    Please advice
    Thanks,
    Karthik
    Edited by: Karthik Kaveriselvan on May 31, 2009 10:10 AM

    But we need not bundle the messages.
    agreed....but since the messages are coming from different sources and if you need to collsct the messages separately you will need to define correlation
    As you mentioned that the messages have the same structure...check if you can cheat the BPM and use the following concept...not sure whether it will work...give it a try:
    http://help.sap.com/saphelp_nw70/helpdata/EN/08/16163ff8519a06e10000000a114084/content.htm
    The only reason of having two senders in the same BPM, the way these messages to be treated are same.
    could not make what you exactly mean by the above statement.
    Regards,
    Abhishek.

  • 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

  • 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

  • Splitting of messages using BPM

    Hi
    Suppose we have a source Data structure with 3 nodes: Customer details, Site details and MPRN Details. Now I want to split the data into 3 data structures
    ( Customer Details, Site details and MPRN Details)  and want to send them to 3 individual systems. Basically I am using BPM to do this. But I heared that even we can implement this scenario without BPM. Could you plz confirm me whether it is possible to do this scenario without BPM ?? If so and if you have any blogs or links known plz do send me the same.
    Thanks
    Kumar

    About Multi-mapping:
    After the split using multi-mapping, the generated messages are sent using Adapter Engine. Thats why only those adapters could be supported which resides on adapter engine. Therefore, IDOC/HTTP adapters at inbound side is not supported
    About the sender and receiver agreements:
    The choice of sender agreement depends upon which information from the adapter configuration in the sender channel is required for successful inbound processing.
    It is not obligatory for all adapters.
    Receiver agreement is always required bcoz it is the responsiblity of the receiver channel to transform the XI compatible message to receiver compatible message.
    Regards,
    Prateek

  • Problem initiating process with multiple operations using HTTP/SOAP

    Hi,
    I have defined a process which has multiple operations. My process starts with a pick activity containing onMessage branches for each possible operation. When I initiate this service using the BPEL console, I choose one of the operations and everything works fine.
    However, when I initiate this process using an HTTP/SOAP web service call using JMeter, always the first branch is executed regardless of the message I send.
    My operations are document/literal. Due to some restrictions, I cannot define a SOAPAction for the operations. Could this be the problem? Is there a workaround for this? If this is not the problem, what could be the cause?
    I'm using version 10.1.2.1.
    Any help will be appreciated. Thanks in advance..

    hi i am using 10.1.3 and still i can not initiate a process with multiple operations. Is there anybody to tell if pick activity works fine and if there are some points to consider?
    If there is a problem is there any solution to make a process with multiple operations?

  • ** How to deliver multiple files using BPM (From RFC output)

    Hi Friends,
    I am doing File-RFC-File scenario using BPM. I am using BAPI_SFLIGHT_GETLIST as my RFC (Standard RFC). If we execute this RFC, it will return the results in tables form. Assume that, the inputs to RFC is like below.
    FromCountryKey : US
    FromCity: NEW YORK
    ToCountryKey: DE
    ToCity: FRANKFURT.
    The outputs from the RFC is like below.
    26 Entries
    CAR
    CONN
    FLDATE
    AIR
    AIR
    DEPTIME
    SEATSMAX
    SEATSOCC
    |
    DL
    0106
    19.05.2008
    JFK
    FRA
    19:35:00
    280
    266
    UA
    3516
    20.05.2008
    JFK
    FRA
    16:20:00
    380
    364
    LH
    0401
    23.05.2008
    JFK
    FRA
    18:30:00
    220
    209
    LH
    0401
    28.05.2008
    JFK
    FRA
    18:30:00
    220
    208
    UA
    3516
    28.05.2008
    JFK
    FRA
    16:20:00
    380
    367
    DL
    0106
    16.06.2008
    JFK
    FRA
    19:35:00
    280
    261
    UA
    3516
    17.06.2008
    JFK
    FRA
    16:20:00
    380
    357
    LH
    0401
    20.06.2008
    JFK
    FRA
    18:30:00
    220
    213
    DL
    0106
    14.07.2008
    JFK
    FRA
    19:35:00
    280
    1
    UA
    3516
    15.07.2008
    JFK
    FRA
    16:20:00
    380
    86
    LH
    0401
    18.07.2008
    JFK
    FRA
    18:30:00
    220
    123
    DL
    0106
    11.08.2008
    JFK
    FRA
    19:35:00
    280
    56
    UA
    3516
    12.08.2008
    JFK
    FRA
    16:20:00
    380
    67
    LH
    0401
    15.08.2008
    JFK
    FRA
    18:30:00
    220
    114
    DL
    0106
    08.09.2008
    JFK
    FRA
    19:35:00
    280
    0
    UA
    3516
    09.09.2008
    JFK
    FRA
    16:20:00
    380
    164
    LH
    0401
    12.09.2008
    JFK
    FRA
    18:30:00
    220
    64
    DL
    0106
    06.10.2008
    JFK
    FRA
    19:35:00
    280
    80
    UA
    3516
    07.10.2008
    JFK
    FRA
    16:20:00
    380
    8
    LH
    0401
    10.10.2008
    JFK
    FRA
    18:30:00
    220
    16
    DL
    0106
    03.11.2008
    JFK
    FRA
    19:35:00
    280
    11
    UA
    3516
    04.11.2008
    JFK
    FRA
    16:20:00
    380
    33
    LH
    0401
    07.11.2008
    JFK
    FRA
    18:30:00
    220
    53
    DL
    0106
    01.12.2008
    JFK
    FRA
    19:35:00
    280
    0
    UA
    3516
    02.12.2008
    JFK
    FRA
    16:20:00
    380
    45
    LH
    0401
    05.12.2008
    JFK
    FRA
    18:30:00
    220
    25
    |
    We need to create output file for each record. In this case, the system should generate 26 output files.
    I imported the RFC and created the required interfaces and designed BPM also.
    Start --> Receive step --> Synchronous Send --> Asynchronous Send
    But, I stuck in how to deliver each record to the output file from BPM.
    Any idea, friends. (like using BPM Multi-line option. or 'Receiver From' property in the Send Step)
    Kindly help me friends to solve this issue.
    Thanking you.
    Kind Regards,
    Jeg P.

    Hi
    You can do it by creating one another message interface having structure same as your table.
    What you have to do is create a mapping in such a way that for each record in table one message(newly created) must be created.
    Use that mapping in an interface mapping, remember occurence of target message should be 0..Unbounded both in message mapping and interface mapping.
    Now create one single line message and one multiline message in BPM for newly created message.Use transformation step with new interface mapping, mention source(RFC response) and target message(use multiline element of new message) for the transformation step.
    Use send step inside a block,set block mode to "forEach", and attach new message to that send step.
    Use multiline and single element of new message in the property window of block.
    Now your BPM will look like
    Start ---> Receiver ---> Synchronous send ---> Transformation ---> Block ---> Async Send(within block)
    I think in this way you can implement what you want.
    Regards
    Sami
    Reward points if helpful.

  • Many files to one file Processing in XI without using BPM

    Hi XI Experts,
    Greetings!!
    I have one requirement in which I have to send three files from ERP system to some Third Party system via XI without using BPM.
    I seached many threads..but not got the solutions.
    Please help me.
    many thanks.

    Hi Arya,
    > the sturcture of the Target file will be diffrent.
    I assume you have only one target structure but three different input structures. So create one interface for each 3 different sender files and in the output use the same file receiver communication channel in append mode. So when ever your interface is run it will keep appending to the same file comm channel. There is no blog or document for this integration.
    If I were you I will go with BPM which is best solution for this scenario. With BPM you have the standard help and design in your SAP BASIS component only:
    http://help.sap.com/saphelp_nw04/helpdata/en/0e/56373f7853494fe10000000a114084/content.htm
    Regards,
    ---Satish

  • Collecting and bundling messages from multiple interfaces using BPM

    Hi friends,
    I am currently working on bpmpatternmultilf(without condition).
    In my source i have 3 messages having same message type.
    Message type:
    ID
    Overall no
    In the source i am placing 3 files like
    message1.txt ID 100 Overall no 200
    message2.txt ID 100 Overall no 300
    message3.txt ID 100 Overall no 400.
    I have used correlation element  as ID.
    But in the target file I am getting the result as ID 100 Overall no 200.
    Overall no 300 and 400 are not present?
    I understand that the messages are not getting collected and bundled?
    Please help me out on this.
    Thank you in advance

    Hi, deepak:
    To collect the message of same message interface, if you know that all the files will exist for a while,
    and next bundle of file will come to the folder after a period of time saying 30 minutes.
    You can have your receive step, followed by container operator to append individal messages to multi-line elements.You will need deadline block, put timeout to saying 10 minutes.
    This to say that you collect all the messages in 10 minutes, and put them in multi-line elements, now you collected all the messages with different ID.
    Next you need to design  you multi-mapping, since your message is based on ID, you multi-mapping is m:n
    Eventually, you will need transformation step to call the multi-mapping, map the multi-line elements to n target messages. Your final send step send n files to your target system.
    Regards.
    Liang

  • Configuring receiver determination with multiple messages in BPM

    I am configuring a BPM scenario which uses 3 abstract interfaces, one for receiving, 2 for sending. I need 2 abstract interfaces while sending because they use different message types. I have created a Receiver Determination for the 1st interface, but the problem is that when I try to create the second Receiver Determination the 2nd abstract interface is not listed after I select the Integration Process. Just the 1st interface is listed under the Integration Process. What might be the problem?

    Did you try to delete and reimport the BPM with the same name ?
    SKM

  • How to post multiple message using file adapter in XI2.0

    We have to post multiple IDOCS.We have scenario as below.
    We will have file structure like as shown below.
    VKORG,VTWEG,SPART,BSART,PARVW,PARTNER,BSTDK,MATNR,MENGE,VSART,BSTZD,POLINE,BSARK
    BE10;10;10;OR;SP;1000033;;M184-ISS01;2;G;131;0002;
    BE10;10;10;OR;SP;1000033;;M184-ISS01;2;G;131;0002;
    BE30;10;10;OR;SP;1000033;;M184-ISS01;2;G;131;0002;
    For this we want that 2
    messages should be created.In first message there will be first 2 records
    with VKORG BE10 and in second message there will be last record with VKORG BE30.
    We can do it through FILE2XMBWITHSTRUCTURECONVERSION and using some options.
    I am sending the configuration that I have done for my adapter.
    classname=com.sap.aii.messaging.adapter.ModuleFile2XMB
    mode=FILE2XMBWITHSTRUCTURECONVERSION
    #mode=FILE2XMB
    XMB.TargetURL=http://20.60.53.36:8000/sap/xi/engine?type=entry
    XMB.ReceiverBusinessSystem=sapdev210
    #XMB.ContentKind=B
    XMB.ContentKind=T
    #XMB.ContentType=application/xml
    XMB.ContentType=text/xml
    #XMB.ContentType=text/plain
    XMB.QualityOfService=EO
    ##xml conversion properties if mode FILE2XMBWITHROWCONVERSION specified (example, see docu)
    xml.recordsetStructure=IDOC,*
    xml.recordsetName=SALESDATA
    xml.recordsetsPerMessage=1
    xml.documentName=SALESDATA
    #xml.fieldFixedLengths=
    xml.IDOC.processFieldNames=fromConfiguration
    xml.IDOC.fieldNames=VKORG,VTWEG,SPART,BSART,PARVW,PARTNER,BSTDK,MATNR,MENGE,VSART,BSTZD,POLINE,BSARK
    xml.keyFieldName=VKORG
    xml.keyFieldType=CaseSensitiveString
    xml.IDOC.keyFieldValue=BE10.
    xml.IDOC.fieldSeparator= ;
    What I have tried is hardcoding 2 in  xml.recordsetStructure=IDOC,2.It works fine
    Since I already knew this.
    Butin real scenario we wont be knowing this that is why I have given * in configuration , and
    given
    xml.keyFieldName=VKORG
    xml.keyFieldType=CaseSensitiveString
    xml.IDOC.keyFieldValue=BE10.
    With this it should identify on key field and its value and put first 2 records in one message
    and last record in second message.
    It is not giving any error when we start adapter but no XML message is created.Can u plz help me
    for the above problem.
    My datatype in repository is like
    SALESDATA
        IDOC
             VKORG
             VTWEG
    and allother remaining fields.
    Is this scenario possible in XI 2.0.If yes then will it  be done through above approach or something else.
    Thanx.
    Rekha.

    Hi,
    I think you can not handle this problem with keyFieldName/keyFieldValue.
    In my opinion with keyFieldName/keyFieldValue you can create different substructures of the same XML, but you can not seperate messages with the same substructure.
    But I don't know how to handle your problem ;-(
    Another point is that I see a dot after xml.IDOC.keyFieldValue=BE10.
    My be this is a problem too.
    Christoph

  • Doubts in validating message using BPM

    1)Have to check the response message has not been sent twice for the same id,
    if wrong stop processing the message further.
    2)Have to check the values coming in message is valid or not by comparing the values with R/3 table.
    3) When sending Email alert, some of the values of the invalid message also has to be send with alert.
    4) Have to check the details sent back and sent are same.
    eg: if i send vendorid and some more values for which inturn they sent back are same
    or not.
    5) I have configured deadline branch there I have given the alert category, description.
    I have configured only one recipient for the alert. so if delay in response am getting the mail in particular id.
    So when i send message to particular system its fine.
    But in my scenario, one system connected to more than four system.
    When i send message to morethan two system how to send email alert to particular
    system where delay to send response.
    Can anyone guide me how can i approach these validations.
    Thanks in advance,
    Sakthi

    Hi,
    1)Have to check the response message has not been sent twice for the same id,
    if wrong stop processing the message further.
    --> If you have a synchronous call you EVER have just one reponse message. So in SYNC this should not be necessary. In ASYNC mode you don't have a response, so this is also not neccessary
    2)Have to check the values coming in message is valid or not by comparing the values with R/3 table.
    >>>You need a RFC in R/3 that gives you table records. In this case see, if a RFC is already available; otherwise you have to develop the RFC
    3) When sending Email alert, some of the values of the invalid message also has to be send with alert.
    >>> Design a sender step and send the interface which caused the error. The message will be attached.
    4) Have to check the details sent back and sent are same.
    eg: if i send vendorid and some more values for which inturn they sent back are same
    or not.
    >>> I would suggest that you inspect the samples delieverd by SAP. In Integration Repository goto SWC SAP BASIS. There are samples.
    5) I have configured deadline branch there I have given the alert category, description.
    I have configured only one recipient for the alert. so if delay in response am getting the mail in particular id.
    So when i send message to particular system its fine.
    But in my scenario, one system connected to more than four system.
    When i send message to morethan two system how to send email alert to particular
    system where delay to send response.
    Regards Mario
    null

  • Collecting multiple idocs using BPM

    Hi,
             I have a scenario where idocs sent from R/3 system are collected in Xi and posted as a single message in the file. We have done all the configurations both in XI and R/3 pertaining IDOC.
    When we trigger an idoc in the R/3 system,we are able to see the message that IDOC has been sent to XI system. But we are unable to see any of the message transfers in SXMB_MONI.
    (In simple words our interfaces are not getting triggered.)
    Could anyone help us in rectifying the problem?
    Thanks & Regards,
    Vishnu.

    When you trigger the IDOC from R/3
    --Did u complete the configuration part of sending the IDOC to XI, have you created the TRFC POrt in R/3, cross check the RFC dest which you are using here is pointing to Right Xi box?
    Your configration looks fine for atleast to take IDOC in XI, rest i am not sure at this point.
    ---No errors in the SM58 on R/3?
    ---IDOC metadata is loaded in XI? do u c any entry in the IDX5?
    --Is your IS been configured wth the tracle level parameters, if yes set it to 3 value
    --is runitme paramter LOGGING, LOGGING_PROPOGATION,LOGGING_SYNC present in SXMB_ADM?
    if you have these then atleast you should c an entry in SXMB_MONI with with either sucessfull or failed state.
    More importanatly the LS name of the R/3 is according to standards what SAP says in SLD?
    Edited by: Nisar Khan on Feb 28, 2008 11:00 AM

Maybe you are looking for