EOIO message Split

Hi Experts,
  We have a scenario, File --> Idoc, the QOS is EOIO.
now, we have additional requirement that we have to split the message (multiple IDOCs) based on one of the source node's occurance.
My doubt is even when the QOS is EOIO and the message is split, what will be splited messages treated as EOIO or EO.
Thanks.

Exactly. Note that if your R/3 system is below a certain version (I believe 4.5B or so) qRFC is not possible at the receiver side, which means that there is no guarantee that the message are also processed in order.

Similar Messages

  • Message Splitting Design Problem

    Hi guys,
    I am an XI newbie so please bear with me.
    I have to build an XI interface to update existing service orders in CRM.  The data is coming from a file, which contains change requests for multiple orders (and possibly multiple requests for the same order).  The sequence in which the requests are processed is important.  The XI system is on version 3.0 SP14, and the CRM system is on WAS 7.00.
    I can think of two approaches to follow:
    1. Push all the requests through to CRM via an ABAP proxy call (one single call).  Inside the proxy, process the requests sequentially.  This approach is simple to implement, but problems arise when some of the requests succeed but others fail.  There is no option to reprocess just the failed requests, because there is just one XI message.
    2. Split up the requests and send them to CRM, queuing the requests by service order number.  This means performing message-splitting in XI (with or without BPM) and using the EOIO quality-of-service.  The endpoint would still be an ABAP proxy.
    I would like to use the second option, but I've got some concerns:
    a) If I use mapping-based message splits (bulk messages), can I still use ABAP proxies?  I cannot see the XI adapter listed in the relevant SAP help page:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/ce79623ef30cd5e10000000a1553f7/frameset.htm
    b) If I use BPM to do the splitting, might I run into performance problems?  I do not have precise numbers, but I think we might process up to 50,000 requests daily.
    c) Should I consider using other adapters that support bulk messages, e.g. SOAP adapter.  Or use IDOC bundling as described in this blog?
    /people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    d) Can someone suggest better approaches?
    Thanks,
    Terry Choy

    c) The standard IDOC is not enough, because there is some extra business logic that needs to be performed. I would need to create a custom IDOC. Is that worth the effort, and would I be losing anything by using IDOC's rather than proxies?
    >>>>
    if the message voluem is too high try to avoid IDocs. (you have to decide on the amount of work that will go in in case u make a custom idoc or a proxy)
    a) I tried bulk messages using ABAP proxies, but got an error in the technical routing step. The error was in the MMF_ENGINETYPE code area, and the message was "A system error occurred in the outbound binding" (not very informative). I didn't get the problem when I used the file adapter. Can someone please confirm that bulk messages with ABAP proxies is OK?
    >>> i dont think it sud be a problem with ABAP proxy but then you can try using EOIO in the proxy code. ref: /people/arulraja.ma/blog/2006/08/18/xi-reliable-messaging-150-eoio-in-abap-proxies

  • Monitoring EOIO Messages stuck in AE with HOLD status?

    Hi Gurus,
    Scenario: IDOC -- > XI (Message split) - - > (HTTP/File)
    Some times messages to File adapter are stuck in Adapter Engine with status "HOLD". Found the root cause and un-checked "Maintain order at runtime" in interface determination.
    How to get alert if the EOIO messages are stuck in AE with status "HOLD"?
    Please help.

    Hi,
    HOLD status
    This is an EOIO message whose predecessor was not processed successfully yet. The status is retained until all predecessors are delivered successfully. If a predecessor has the "System error" status and is restarted, all successors are also restarted provided that the delivery of the predecessor is successful.
    If a predecessor has the "canceled with errors" status, further processing is not possible in systems before Support Package 11 for the adapter framework and Support Package 10 for the adapter framework core patch 02. In higher version systems, the status of predecessors can only be set to "canceled with errors" in a manual way. Successors that have the "Holding" status can be restarted after you have set the "canceled with errors" status (see related note 811864).
    Regards,
    Sreenivas

  • Multi-Mapping Message Split 1:n

    Hi experts,
    I have a few questions regarding a multi-mapping for a 1:n message split. I have a business process which collects IDOCs from a specific IDOC type (ZHINVOIC01).
    I have a 1-to-1 Mapping for collecting the IDOCs.
    After this 1-to-1 Mapping the IDOC has the following structure:
    xdoc has the occurrence 0..unbounded
    For every IDOC in the source structure one xdoc in the target structure should be created. My Mapping works very fine, but I have one question. If there are more IDOC-Elements in the source structure, I have more xdoc-Elements in the target structure. But I do not want to have one target-message. the mapping should create one file with the element xdoc for every IDOC element in the source structure.
    I want to send a xml-file for each xdoc-element to a ftp-server. is that possible?
    Thanks and best regards
    Christopher Kühn

    Hi Udo,
    look at my example above:
    for the source structure
    <Messages>
       <Message1>
          <ZHINVOIC01>
             <IDOC/>
             <IDOC/>
             <IDOC/>
          </ZHINVOIC01>
       </Message1>
    </Messages>
    I have the following target structure:
    <Messages>
       <Message1>
          <xdoc/>
          <xdoc/>
          <xdoc/>
       <Message1>
    <Messages>
    now the target structure is only one message, isn't it?
    But I want to have for this case 3 Messages each with only one xdoc-element.
    I hope that we are not talking at cross-purposes
    Thanks and best regards
    Christopher

  • Multi-Mapping and Message Split using BPM

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

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

  • Idoc(receiver) message splitting using BPM

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

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

  • Message-Split in a Sync Scenario

    Hello Experts.
    As i am quite new to Pi, i have some problems with an integration scenario we are about to implement. As i am not really into the topic, i do'nt even know, if the prefered solution can be implemented in PI or if our current approach is nonsense after all.
    The currently preferred solution would look like this:
    1.) The sender system collects the data and sends one message using a synchronous webservice call
    2.) PI splits the message into n parts (one outgoing message per receiving system), sends the message-parts synchronously to the receiving systems, collects the response messages into one big message and sends this message as the response message for the webservice-call, the sender system made.
    3.) The sender system receives the response message and updates the database.
    The problem is, that i have no clue how to do a message-split in a Sync scenario. I already experimented with a message-split in Async scenarios and everything worked fine, but i have no idea, how to do the trick in a Sync scenario.
    As the incoming message represents a table (only one kind of element; occurence 0...unbounded), i would have to do the following:
    1.) Split the incoming message line by line (or childnode by childenode)
    2.) Collect the lines for the single receiver systems (each receiver should get only one message)
    3.) Send the messages
    4.) receive the results
    5.) Join the results into one response message / Handle timeouts, if a receiver could not be reached in time
    6.) Send the response message to the sender system
    When experimenting with the async scenario, i used BPM to split the message into parts, but an integration process seems to need asynchronous abstract interfaces. At least PI did not accept my synchronous message-Interface and even if it would do so, i would have no idea how to send the message parts synchronously and how to join the results.
    Of course we could also send one record per message - in this case everything would be easy and clear, but unfortunatelly this is not the preferred solution, but the "Plan B"...
    Does anybody know how to do what we want? Any suggestions would be highly appreciated.
    And by the way: We are using PI 7.0.
    Regards, Jörg

    Thanks for your reply.
    I was already afraid, that the preferred approach could be a dead end. If the described scenario is impossible to implement, i could immagine two alternative solutions:
    1.) Our "Plan B":
    -> Single records
    -> One record per message
    -> Synchronous communication
    PI would only have to do a quite stupid routing based on a certain field in the message.
    2.) Something totally different:
    -> Asynchronous communication
    -> The sender still send the data for n receivers in one message
    -> PI splits the message and sends the n parts to n receivers
    -> The receiver sends a response after processing the data
    -> PI simply forwards this message to the sender
    I think scenario #2 could have a better performance, as the total number of messages is limited to the necessary minimum, but as i'm not experienced in PI, i'm not actually sure about this.
    Any recommendations?
    regards, Jörg

  • Message Split -- File to Idoc Scenario  -  ( Without BPM )

    I have multiple records coming to XI in a File and I have to create Multiple Idocs to R/3.
    Due to Complexity of mapping I'm splitting Maaping step into 2 message Mappings.
    A-->B
    B-->C
    In the 2nd Mapping step  I'm doing message Split meaning for each Source record I'm creating multiple Idocs ( To be precise each record on the source becomes 4 idocs in the Target.
    2nd Mapping step is as follows
    Source 1..1
      Sourcerecord 0.. Unbounded
        field1  0..1
        field2  0..1
        filed3  0..1
    Target
    Message 1
        Idoc   1.. Unbounded
          Idoc Structure..
    Message 2
          Idoc   1.. Unbounded
    Message 3
          Idoc   1.. Unbounded
    Message 4
          Idoc   1.. Unbounded
    So based on some criteria each record of Source will be mapped to 4 Messages (  1 each under each Message )
    Is it possible to do this without BPM?. Iam sending all these Idocs to same R/3 System.
    Thanks for any help..RK

    Hi,
    See the blog
    /people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    <i>Basicly we have 2 ways of handling such scenarios:
    - we can use a block step and send multiple IDOCs from our BPM
    - we can also do a little trick and send multiple IDOCs from the XI without a BPM
    The first approach is a standard XI approach. It involves the use of a BPM
    so the speed of this transfer many not be very good in case you'd like to send
    hundreds or thousands of IDOCs in just one call.
    The second approach uses a little trick that was mentioned several times
    on the XI Froum by a number of XI developers but is still not very clear to the XI newbies.
    It allows us to send multiple IDOCs without the use of a BPM. Most probably this will be your choice
    if you'd like to use such 1:N (IDOCs) scenarios effectively.</i>
    Please see the bwlow threads also..
    IDOC Splitting
    File To IDOC Thru XI
    Multi-Mappings in BPM (XI 3.0)
    Please let me know , your prob..is solcev or not..
    Regards
    Chilla..

  • Message Split without BPM - Error

    Hi,
    I am creating a message split scenario without BPM as per weblog <a href="/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible Split without BPM</a>
    I am able to receive message in XI but after that it shows error in Integration engine.
    Error Category : MAPPING
    Error Code : GENERIC
    I am able to see the message in SXMB_MONI with error
    <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING">GENERIC</SAP:Code>
      <SAP:P1>No messages created from split mapping</SAP:P1>
    Please advice.
    Thanks,
    Sri.

    Hi Venkat,
    I am not able to see sub-groupid in sxmb_moni.
    Please see below the contents from sxmb_moni trace.
    ============================
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
      <Trace level="1" type="T">Party normalization: sender</Trace>
      <Trace level="1" type="T">Sender scheme external = XIParty</Trace>
      <Trace level="1" type="T">Sender agency external = http://sap.com/xi/XI</Trace>
      <Trace level="1" type="T">Sender party external =</Trace>
      <Trace level="1" type="T">Sender party normalized =</Trace>
      <Trace level="1" type="T">Party normalization: receiver</Trace>
      <Trace level="1" type="T">Receiver scheme external =</Trace>
      <Trace level="1" type="T">Receiver agency external =</Trace>
      <Trace level="1" type="T">Receiver party external =</Trace>
      <Trace level="1" type="T">Receiver party normalized =</Trace>
      <Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>
      <Trace level="1" type="T">COMMIT is done by XMB !</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE" />
      <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">XMB entry processing</Trace>
      <Trace level="1" type="T">system-ID = QN7</Trace>
      <Trace level="1" type="T">client = 100</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = XIAFUSER</Trace>
      <Trace level="1" type="Timestamp">2006-04-18T05:51:20Z CET</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Message-GUID = 67F58830CE9E11DA91CD00111120E6DB</Trace>
      <Trace level="1" type="T">PLNAME = CENTRAL</Trace>
      <Trace level="1" type="T">QOS = EO</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Get definition of external pipeline = CENTRAL</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
      <Trace level="1" type="T">Get definition of internal pipeline = SAP_CENTRAL</Trace>
      <Trace level="1" type="T">Queue name : XBTI0002</Trace>
      <Trace level="1" type="T">Generated prefixed queue name = XBTI0002</Trace>
      <Trace level="1" type="T">Schedule message in qRFC environment</Trace>
      <Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Going to persist message</Trace>
      <Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
      <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
      <Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>
      <Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
      <Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
      <Trace level="1" type="T">system-ID = QN7</Trace>
      <Trace level="1" type="T">client = 100</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = XIAFUSER</Trace>
      <Trace level="1" type="Timestamp">2006-04-18T05:51:20Z CET</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
      <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
    - <Trace level="1" type="B" name="PLSRV_RECEIVER_DETERMINATION">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
    - <Trace level="1" type="B" name="PLSRV_INTERFACE_DETERMINATION">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_ID_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">I N T E R F A C E - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
      <Trace level="1" type="B" name="PLSRV_RECEIVER_MESSAGE_SPLIT" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_PLSRV_RECEIVER_SPLIT-ENTER_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">number of receivers: 1</Trace>
      <Trace level="1" type="T">Single-receiver split case</Trace>
      <Trace level="1" type="T">Post-split internal queue name = XBTO6___0000</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Persisting single message for post-split handling</Trace>
      <Trace level="1" type="T" />
      <Trace level="1" type="T">Going to persist message + call qRFC now...</Trace>
      <Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
      <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
      <Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
      <Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
      <Trace level="1" type="T">system-ID = QN7</Trace>
      <Trace level="1" type="T">client = 100</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = XIAFUSER</Trace>
      <Trace level="1" type="Timestamp">2006-04-18T05:51:20Z CET</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
      <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
      <Trace level="1" type="T">Start with pipeline element PLEL= 5EC3C53B4BB7B62DE10000000A1148F5</Trace>
      <Trace level="1" type="B" name="PLSRV_MAPPING_REQUEST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Mapping-Object-Id:29EB87F0231C357A8336DDEBD574EEAB</Trace>
      <Trace level="1" type="T">Mapping-SWCV:0CF1E1E0C5FC11DABCB9E4A50A07012B</Trace>
      <Trace level="1" type="T">Mapping-Step:1</Trace>
      <Trace level="1" type="T">Mapping-Type:JAVA</Trace>
      <Trace level="1" type="T">Mapping-Program:com/sap/xi/tf/_MM_filesplit_without_bpm_</Trace>
      <Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
      <Trace level="1" type="System_Error">Error exception return from pipeline processing!</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      </SAP:Trace>
    Thanks,
    Sri.

  • BPM Configuration in Message Split

    Hi All,
    My scenario 1:2 Message Split is like this....
    Message types: MT_INPUT,MT_OUTPUT1,MT_OUTPUT2.
    Message Interfaces: MI_INPUT(OUTBOUND),MI_INPUT_ABS(ABS),MI_OUTPUT1(INBOUND),MI_OUTPUT1_ABS(ABS),MI_OUTPUT2(INBOUND),MI_OUTPUT2_ABS(ABS).
    Message Mappings: Source is MT_INPUT and target is MT_OUTPUT1,MT_OUTPUT2(MM_Message_Split)
    Interface Mappings: Souce is MT_INPUT_ABS(ABS) and traget is MI_OUTPUT1_ABS,MI_OUTPUT2_ABS(IM_Multiple Files).
    BPM steps are:One recieve step,transformation step,Fork.
    Fork Branch-1:Reciever determination and Send Output1
    Fork Branch-2:Reciever determination and Send Output2.
    I didn't create any correlation ID in BPM.
    In the configuration of XI I know that I have to create 3 reciever determinations,3 Interface Determinations, 2 Reciever agreements and 1 sender agreement.
    But I am fumbling to find out the flow of message interfaces involved here, especially in the interface determinations.
    Please help me, I am a newbie to BPM.........

    Hi Vijaya,
    go through this you can get some idea
    /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
    without using bpm:-
    /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
    sekhar

  • BPM Message Split in Block par for Each: Just last message is sent n-times

    Hello everybody,
    we got BPM with a message split. In a par-for-each block the message is send.
    Asuming I have 3 lines in the multiline container element, I can see in SXMB_MONI that that message is send 3 times.
    The error is, that 3 times the last message is send.
    <u>Sample Error:</u>
    Message incoming in BPM:
    <root>
      <mymessage>M1</mymessage>
      <mymessage>M2</mymessage>
      <mymessage>M3</mymessage>
    </root>
    Messages outgoing:
    <root>
      <mymessage><b>M3</b></mymessage>
    </root>
    <root>
      <mymessage><b>M3</b></mymessage>
    </root>
    <root>
      <mymessage><b>M3</b></mymessage>
    </root>
    --> As you can see, just the last message M3 is send 3 times!
    What can I do?
    Regards Mario

    If I take the payload from SXMB_MONI an try to test, I get an syntax error when I copy&paste the data into the message mapping.
    This is very strange, because
    a) the message mapping is done on basis of imported IDOCs!
    b) the BPM works without throwing a mapping error
    So what should I do?

  • BPM: error at exactly 2500 messages after message split: no coincidence?

    Hi everybody,
    we poll a message, split it in BPm and than call a WebService.
    We got an error exactly after 2500 messages were processed successful.
    Is there a special parameter which influences the BPM?
    Thanks a lot
    Regards Mario

    Hi,
    In SXMB_ADM you can set the time out higher for the sync processing.
    Go to Integration Processing in SXMB_ADM and add parameter SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 (seconds). You can also increase the number of parallel processes if you have more waiting now. SA_COMM CHECK_FOR_MAX_SYNC_CALLS from 20 to XX. All depends on your hardware but this helped me from the standard 60 seconds to go to may be 70 in some cases.
    Make sure that your calling system does not have a timeout below that you set in XI otherwise yours will go on and finish and your partner may end up sending it twice
    when you go for BPM the whole workflow
    has to come into action so for example
    when your mapping last < 1 sec without bpm
    if you do it in a BPM the transformation step
    can last 2 seconds + one second mapping...
    (that's just an example)
    so the workflow gives you many design possibilities
    (brigde, error handling) but it can
    slow down the process and if you have
    thousands of messages the preformance
    can be much worse than having the same without BPM
    see below links
    http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
    BPM Performance tuning
    BPM Performance issue
    BPM performance question
    BPM performance- data aggregation persistance
    Regards
    Chilla..

  • IDOC_TO_FILE ALEAUDIT message SPLIT

    Hi, 
    1.   I am sending an IDOC from R3 to XI.
    2.   In XI IDOC splits in to 2 messages
    3.   XI sends the 2 messages to 2 File systems(FTP).
    4.   NO BPM,  tried on SP19 / SP20,
    5.    Expected 2 ALEAUDIT messages back to R/3
    Problem:
        ALEAUDIT messages are not reaching the R/3.
    Additional Info:
      1. I dont have any problem in receiving ALEAUDIT message in IDOC_XI_FILE scenario with out message split, means one receiver. Problem is with message split and 2 receivers.
    Thanks in advance.
    Moni

    Hi Moni,
    Please check following points -
    1. Do you get any error in SXMB_MONI transaction in XI? Whats happening to the response messages there? Are you able to see any entry in SXMB_MONI for that?
    2. Also ALEAUDIT idoc only allows few statuses not all. It will be worth checking which status is being passed back to R3. (This will not be relevent in you case as the scenario works without message split...)
    3. Check if you have set up partner profiles correctly and corresponding parter number is set in Idoc specific attributes in adapter channel.
    Hope this helps.
    Rahul.

  • Mapping-based message splits in PI7.0

    We have developed an integration scenario on XI 3.0 that uses mapping-based message splits (1:n transformation without BPM). This is available since SP14 I think.
    Now we want to upgrade to PI 7.0: Are mapping-based message splits a standard feature of PI 7.0 or do we need a certain SP as well?

    Hi,
    It should be available with Pi 7.0 with default
    And also compare the SP's and do finalization
    in 2004 - in 2004s
    SP12 & < - SP04
    SP13 + 14 - SP05
    SP15 - SP06
    SP16 - SP07
    SP17 - SP08
    SP18 - SP09
    Xi's Latest SP is SP 21 and PI's is SP 14
    Regards
    Seshagiri

  • Mapping - message split

    Hi all,
    I need a little bit help with message splitting.
    I have message structure like below. The Error Node exists in all rows, in first part it is initial (with no value), then come rows with different error messages.
    <Message1>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
        <Errror/>
      </Row>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
        <Errror/>
      </Row>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
        <Errror>text_a</Errror>
      </Row>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
        <Errror>text_b</Errror>
      </Row>
    </Message1>
    I need to split it into 2 messages so, that in first message will be rows without error, and in the second with. 
    <Message1>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
      </Row>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
      </Row>
    </Message1>
    <Message2>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
        <Errror>text_a</Errror>
      </Row>
      <Row>
        <node1>a</node1>
        <node2>a</node2>
        <Errror>text_b</Errror>
      </Row>
    </Message2>
    Is this feasible with graphical mapping? How can I can make the assignment of the row once to first and
    other time to second message? Or do I have to use XSLT/ABAP? (I am not very familiar with java...) Thanks for any suggestions.

    Hello,
    Prateek, Jude,
    I think you did not get the point.When I map it just in the simple way it will look like this:
    Input rows:
    1 - no error
    2 - no error
    3 - error
    4 - error
    5 - error
    Output
    Message1 rows:
    1,2,3,4,5
    Message2 rows:
    1,2,3,4,5
    I will have 10 rows in output (I want to have just 5 and in this way M1-1,2; M2-3,4,5).
    Udo,
    I have tried already this approach. However it does not work as desired.
    I have mapped:
    Error node -> not -> exists -> if
    Input_message_Row -> then
    output -> Output_message1_Row
    Error node -> exists -> if
    Input_message_Row -> then
    output -> Output_message2_Row
    However the decision is made on the first row, and the first row is mapped also to second message, and that is all. The next rows are not considered at all:
    Input:
    <ns0:Messages xmlns:ns0=...>
       <ns0:Message1>
          <ns1:MT...>
             <Row>
                <test1>11</test1>
                <Errror/>
             </Row>
             <Row>
                <test1>111</test1>
                <Errror/>
             </Row>
             <Row>
                <test1>111bb</test1>
                <Errror/>
             </Row>
             <Row>
                <test1>11a</test1>
                <Errror>a</Errror>
             </Row>
             <Row>
                <test1>11axx</test1>
                <Errror>axx</Errror>
             </Row>
          </ns1:MT...>
       </ns0:Message1>
    </ns0:Messages>
    Output:
    <ns0:Messages xmlns:ns0=...>
       <ns0:Message1>
          <ns1:MT...>
             <Row>
                <test1>11</test1>
             </Row>
          </ns1:MT...>
       </ns0:Message1>
       <ns0:Message2>
          <ns1:MT2...>
             <Row>
                <test1>11</test1>
                <Errror/>
             </Row>
          </ns1:MT2...>
       </ns0:Message2>
    </ns0:Messages>

Maybe you are looking for

  • Trouble installing Boot Camp and Windows 8

    I'm attempting to install Boot Camp for the first time using OS X 10.10.1 / Boot Camp 5.1.2. When I conduct the install, I get a message stating that this machine (Macbook Air, Late 2010) can only install Windows 7. Apple's Documentation states the f

  • Credit Card Encryption Question

    Question from my customer (on EBS 11i): I have a question about the Visa VCF 4 Transaction Loader. We are working on automating this process and have installed a secured storage area to hold the file. It is my understanding that the bank is going to

  • Not enough memory space

    Dear All, We have a situation where a query made on a cube is used in APD. The data coming from this query, is aggregated and then sent to a transactional DSO to move it forward to another DSO from where it goes to PCM through informatica. Cube -> Qu

  • Code signing from cli in 10.6

    Hello, I'm new to code signing on OS 10.6 and I assumed it works the same way as 10.5.  I installed my Mac pk12 Thawte certificate into my login keychain. No matter how I try to sign with codesign on either an unsigned code or previously signed by an

  • Several tabs leading to single page?

    Hi I'd like to use Tabs as the key navigation vehicle in my app. They give the user info where he/she is, where he/she can go and enable arbitrary graphical desing. But I need several tabs leading to the same page, The page's content is just parametr