Message Split

Hi all,
I am doing a File Split scenario, requirement is to group a set of  items coming
From a source file into messages .
File to flat file scenario source file is having n items requirement is to split this file after  every 500 items not using BPM.
As of now  I am able to generate as many files as the number of items but the
Requirement is to group atleast 500 items in one message because the target system
Can nt take that big file .
Is this scenario feasible in Message mapping ??
Regards,
KLK

Hi,
You can achieve this using UDFs(queue type).
Create the following UDF and map the parent node as
item ---> UDF -
> parent node
input: a
int len = (int) Math.ceil(a.length/500.0);
for(int i=0; i<len; i++){
     result.addValue("constant");
Then create a second UDF and map the child element.
item ---> UDF -
> child
input: a
for(int j=0; j<a.length; j++){
     if(j%500 == 0 && j != 0)
          result.addValue(ResultList.CC);
     result.addValue(a[j]);
Regards,
P.Venkat
Message was edited by:
        Venkataramanan

Similar Messages

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

  • Problem with Mulit Mapping/Message Split

    Hi,
    I am a newbie to XI trying to set up a file2file scenario with multi-mapping/message splitting without BPM.
    System is XI 3.0 SP14
    Scenario is:
    read an XML-File and multiply it and write 2 XML-files using the File adaptor.
    For reference I used "multimapping without BPM".
    - setting occurancy of Message types to unbounded in both Message Mapping and Interface Mapping.
    - using the RB_Split button
    - setting up one business service containing 2 message interfaces and 2 communication channels for output.
    Designing and Konfiguring worked fine.
    File is read but no file is written.
    XML-Moni tells me "Mapping did not create Messages" 
    I did extensive studies in sap.help, forum and various blogs. Also to verify Messagetypes and Kommunication channels I set up similar file2file scenario without splitting. Nothing really helped.
    Any clues?

    Hi again,
    very efficient method to test XML-source file. - Thanks.
    Unfortunately it did not solve my problem.
    Again: "Split mapping did not create messages"
    Below you can find a part of the trace created when processing this message:
    <Trace level="3" type="T">Multi mapping required.</Trace>
      <Trace level="3" type="T">Creating Java mapping com/sap/xi/tf/_MM_data_duplic_async_.</Trace>
      <Trace level="3" type="T">Load ac6179b0-a92e-11da-be15-e51f0a000472, http://MyTutorial/SHeinz05, -1, com/sap/xi/tf/_MM_data_duplic_async_.class.</Trace>
      <Trace level="3" type="T">Search com/sap/xi/tf/_MM_data_duplic_async_.class (http://MyTutorial/SHeinz05, -1) in swcv ac6179b0-a92e-11da-be15-e51f0a000472.</Trace>
      <Trace level="3" type="T">Loaded class com.sap.xi.tf._MM_data_duplic_async_</Trace>
      <Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._MM_data_duplic_async_</Trace>
      <Trace level="2" type="T">Java mapping com/sap/xi/tf/_MM_data_duplic_async_ completed. (executeStep() of com.sap.xi.tf._MM_data_duplic_async_</Trace>
      <Trace level="3" type="T">Nachrichtentyp 1 Anzahl der Nachrichten 0</Trace>
      <Trace level="3" type="T">Nachrichtentyp 2 Anzahl der Nachrichten 0</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="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 005</Trace>
      <Trace level="3" type="T">Message version 005</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
      <Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Persisting message Status = 014</Trace>
      <Trace level="3" type="T">Message version 006</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </SAP:Trace>
    Test of MM and IM is always successful.
    Any clues?

  • 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

  • Message split questions

    Hi Guys!
    First I need a confirmation for following assumption:
    To create multiple messages of same type (without BPM) I set the inbound interface to 0..unbounded in the if-mapping and I also set the target message to 0..unbounded in the message mapping. If I want to create one message per let's say "ITEM", I map ITEM to the root node of the target message and there will be one message per ITEM. Is that right?
    Then I have a question concerning the processing order:
    Are the messages processed in the order they appear in the message mapping?
    Last question:
    Does the message split within the if-/ message mapping also work with synchronous processes and with jdbc adapter?
    Thanks in advance!
    Karsten

    Karsten:
    In anwsering your first question, it is 1:N multi-mapping scenario, noticed that your target message is just single type.
    1. In your message mapping, go to "message" tab, change your target message to 0:unbounded
    2. In you Interface mapping, change to inbound interface to 0:unbounded, mapping program need to be specify your message mapping
    3. In your message mapping, you want each 'ITEM" in your source message to generate each target message:
    you need to map: ITEM  --->  Target_Message_Type.
    Hope this answer your first question as well.
    Liang

Maybe you are looking for

  • Components are invalid after the execution of utlrp.sql

    Hi All,         I have migrated one database from the version 10.2.0.4 to 10.2.0.5, After the execution of upgrade script all components are found as valid, and then I executed utlrp.sql and at the end of this execution some of the components became

  • Hide links and options on Appraisal Documents

    Hi, Our customer would like to customize the appraisal documents funcionality with the follow requirements. I searched (application configuratiors, component configurators, classes...) but I didn´t find where I can achieve his expectations : Applicat

  • [advance question] loading a swf in adobe Air, which loads an image with "componentloader"

    Good evening all, I think this is a complex issue. I have adobe air application which loads a SWF I made. Inside this SWF I have used the "component LOADER" to load something with "ContentPath=image.jpg" for example. But the swf loaded in the Adobe a

  • Adobe updater tries to update to an old version

    Hi, the adobe updater requests a update to Photoshop CS5 to 12.0.4 but ist is allready at level 12.0.5. Same with Ilustrator ist on 15.0.3 and the request is to level 15.0.2. How can I supress this request Thanks in advance best regards Roland

  • Implementation project in realtime

    HI Experts,                    In implementation project the phases are like REALIZATION,FINAL PREPARATIO AND GO LIVE AND SUPPORT how these are will be work in organization in real time scenario kindly help me from this. Thanks Rajeshwari