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

Similar 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?

  • Multi Mapping issue - *Split mapping created no messages*

    Hi,
    The scenario I am trying to test is a multi mapping scenario where I am trying to split one source message and create two target messages by using two different inbound service interfaces, one for each message type.
    I am on PI 7.1 and when I test message mapping and operation mapping using the payload from SXMB_MONI, it is successful. Whereas when I test the scenario end to end I am getting the following error messages:
    Runtime error
    *Split mapping created no messages*
      Start tag ns0:MessagesStart tag ns0:Message1Close tag ns0:Message1Start tag ns0:Message2Close tag ns0:Message2Close tag ns0:Messages
    Could someone please help
    Cheers,
    S

    Hi,
    (1)First change the occurrence of target message to 0..unbounded.
    (2) Do the mapping and test it under test tab of mapping whether your mapping is working fine creating target records.
    (3) Copy the source code from mapping and remove the unwanted tags "as Mark said " those were created due to multimapping.
    Then test that file and that will work.
    You can follow this link .
    Link :Message Splitting
    Thanks
    Rabi
    Edited by: RabiPanda on Nov 17, 2011 8:42 AM

  • XI Configuration Design questions with multi-mapping message mapping object

    Hello,
    I'm having trouble designing a particular scenario for multi-mapping.  Currently i'm working with a Vendor create and change.  BPM is not being used.
    This is what i need:
    I need a CREMDM04 to turn into one or multiple ADRMAS/CREMAS IDocs and potentially a CLFMAS IDoc based on the values in the inbound CREMDM04 IDoc.
    This is what i currently have:
    A CREMDM04 inbound idoc is multi-mapped to a CREMDM03 (1...9999), another CREMDM03 (0...9999), and a CLFMAS01 (0...9999).  At a minimum only the first CREMDM03 IDoc will be created and at a maximum all three will be created.  The parameters on creating the second CREMDM03 IDoc and the CLFMAS01 IDoc are based on the values in the inbound CREMDM04 IDoc, whereas the first CREMDM03 IDoc will always be created and the values will just be converted/mapped from the inbound CREMDM04 IDoc.  This multi-mapping is currently set-up via a graphical message map and works successfully in the test-tab of the mapping object.  It has a main message and has sub-messages which are the IDocs.  I’m mapping the CREMDM04 to a CREMDM03 to then map it through an ABAP-Class and then to an XSL where the CREMDM03 inbound structure is expected to split into ADRMAS and CREMAS Outbound IDocs for Vendor Create/Change in the remote R/3 systems.
    After the graphical map we have a necessary ABAP Class call that calls a BAPI to the remote system.  This ABAP Class must come after the graphical map since the parameter for the BAPI is based on a converted value from the graphical multi-map.
    After the ABAP Class call there is finally an XSL message split the CREMDM IDoc into an ADRMAS and CREMAS IDoc.  There need to be two interface mappings (one per ADRMAS and CREMAS) since the ABAP classes and XSLs are specific to the ADRMAS and CREMAS.
    The CLFMAS IDoc can go directly to the remote system, but since it’s within this one multi-map, I’m not sure if is possible?  I’m not sure if it will fail once it tries entering the XSL mapping (this is the standard CREMDM message split offered from SAP).
    There are three interface mapping scenarios I can think of, but cannot get to work:
    CREMDM04 to ADRMAS02
    CREMDM04 to CREMAS03
    CREMDM04 to CLFMAS01
    Currently I have the Interface Mapping structured as follows:  (I cannot get this to activate as it appears it does not work)
    Multi-Mapping ==> ABAP Class Call ==> Standard XSL Message Split
    How should i design the interface mapping objects and the configuration objects for this scenario?
    Any help is appreciated and I definitely will reward points (no need to include it in your response).

    Hi,
    I suggest you may use multiple steps interface mapping. It's composited with 3 message mappings as step by step.
    Mapping 1: One to one mapping. For the output schema, use a composition schema which includes those 3 IDOCs you want.
    Mappign 2: ABAP Mapping. I am not sure the ABAP class you mentioned is an ABAP mapping or not. If it does, That's ok. If not,
    call that ABAP class in your ABAP mapping and do corresponding change for your message. Return back the same structure as output.
    Mapping 3: One to multiple mapping to split the message.
    So basically as interface mapping, it's one to multiple mapping. And internally, you have 3 steps to realize the mapping.
    And as my experience, for both one to multiple message mapping & multiple steps interface mapping, it works well in my project. And
    in ID, you have to configure it via "advance" function in receiver determination or interface determination.
    Let me know if any confusion.
    Thanks
    Nick

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

  • 1: N multi mapping -----Message Mapping Error

    Hi,
    I am doing this scenario
    Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI.
    In the design part of the mapping.
    How can I perform the message mapping
    Step 1. We are controlling occurrence of Output Piyush_msg_out_3 by mapping it with element2 with message context.
    Step 2.
    We are using u201CUseOneAsManyu201D under category node functions (SP14). It has three inputs ;
       1. Element which is going to be used for multiple times. In our case it is Element1 with message context.
       2. The element which is going to define how many times it will be replicated. Important thing, context should be same.
       3. Same as second input but with its own context in our case it is Element2.
    For Step 1,
    I have mapped piyush_msg_out_3 with Element2 (context is root)
    For Step 2,
    I have mapped
    Element1(context root)----
    |
    Element2(context root)----
    |   useOneAsMany -
    >Element1
    Element2(context root)----
    |
    subelement------> subelement
    I did not do root mapping.
    when do the test I am getting the following error
    Start of test
    Compilation of MM_multimappingandoptimizing successful Cannot produce target element
    /ns0:Messages/ns0:Message1/ns1:piyush_msg_out_3[2]/root/Element1. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd Cannot produce target element
    /ns0:Messages/ns0:Message1/ns1:piyush_msg_out_3[2]/root/Element1. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    End of test
    I thought error generated due to Parent Node condition fails, How do I map the Top node,
    even though I mapped root------->root, I am  getting the same error in the instance test
    Please give me some suggestions
    my message mapping is correct or do I need to change the context of the node  or what should I have to do ?
    thanks
    manian

    Hi Praveen,
    I have checked the XSD tab of Source and Target message types. I can see the complete XSD.
    Source Message Type XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:mlr:multimappingandoptimizing" targetNamespace="urn:mlr:multimappingandoptimizing">
         <xsd:element name="piyush_msg_in_1" type="piyush_msg_in_1" />
         <xsd:complexType name="piyush_msg_in_1">
              <xsd:annotation>
                   <xsd:appinfo source="http://sap.com/xi/TextID">
                   f1fd03a0cddd11ddc1c4001cc01cef0d
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="root">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             99ffb9e0cd1a11ddc6b0001cc01cef0d
                             </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="Element1" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            99ffb9e1cd1a11dd8843001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Element2" maxOccurs="unbounded">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            99ffb9e2cd1a11dd8f7a001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element name="subelement" type="xsd:string">
                                                      <xsd:annotation>
                                                           <xsd:appinfo source="http://sap.com/xi/TextID">
                                                           99ffb9e3cd1a11dd8ff2001cc01cef0d
                                                           </xsd:appinfo>
                                                      </xsd:annotation>
                                                 </xsd:element>
                                            </xsd:sequence>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:sequence>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>
    Target Message Type XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:mlr:multimappingandoptimizing" targetNamespace="urn:mlr:multimappingandoptimizing">
         <xsd:element name="piyush_msg_out_3" type="piyush_msg_out_3" />
         <xsd:complexType name="piyush_msg_out_3">
              <xsd:annotation>
                   <xsd:appinfo source="http://sap.com/xi/TextID">
                   058e2b60cdde11ddaffd001cc01cef0d
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="root">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             7fb0d7d0cd1b11dd99ae001cc01cef0d
                             </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="Element1" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            7fb0d7d1cd1b11ddc07e001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Element2">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            7fb0d7d2cd1b11dd9385001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element name="subelement" type="xsd:string">
                                                      <xsd:annotation>
                                                           <xsd:appinfo source="http://sap.com/xi/TextID">
                                                           7fb0d7d3cd1b11dda9d7001cc01cef0d
                                                           </xsd:appinfo>
                                                      </xsd:annotation>
                                                 </xsd:element>
                                            </xsd:sequence>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:sequence>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>
    thanks
    manian

  • Multi-mapping activate changes error

    Good afternoon!
    I want to use multi-mapping to split one IDoc(WBBDLD04) to some xml documents.I want XI to create one xml document per segment E1WBB01 of WBBDLD04 IDoc. I set Occurrence = 0..unbounded for target interface in interface mapping . Then I try to activate changes. IX generate errors:
    MaterialMasterRequestMapping | http://sap.com/xi/SBO:
    A multi-mapping with multiple source or target interface instances is only recommended with asynchronous interfaces, since only a mapping of this type can be used in the process editor. IDoc WBBDLD.WBBDLD04 | urn:sap-com:document:sap:idoc:messages are not asynchronous abstract interfaces
    Mapping program Message Mapping MaterialMaster2SBO_GT2 | http://sap.com/xi/SBO does not match the interface mapping. The number or frequencies of source or target messages for the message mapping are not identical to the number or frequencies of source or target interfaces.
    Tell me please, what I do wrong?
    Thanks!
    Lositskiy Alexandr

    Alexandr,
    You need to create an Abstract from your IDoc (Message Interface).
    To use mutli mapping, you need to create a Business Process.  Then in your Business Scenario, use your Business Process and reference your multi map.
    Hope this helps.
    Regards,
    Simon

  • 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

  • Multi mapping and message splitting in BPM

    Hi ,
    I am working with this scenario ...
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    how many message interfaces i have to create .
    one outbound , one abstract  and two inbound .. is it correct.

    Hi
    Minimum you need to create three message interfaces i.e. Bpm_In_MI_Abstract,  aBpm_Out_MI_Abstract Bpm_Out1_MI_Abstract, because abstract interfaces can be use inbound and outbound as well.
    You can also use create implement it by using inbound and outbound message interfaces. In that case you have to use three additional interfaces(1 outbound and 2 inbound).
    Regards
    Sami
    Reward points if helpful.

  • Split Message value in Multi-Mapping

    Hello everybody,
    I got the following problem with 1:n Mapping
    My Source Structure is
    <root>
    .<element_list> // 1:1
    ..<element>     // 1:unbounded
    ...<value>
    ...</value>
    ..</element>
    .</element_list>
    </root>
    Sample for source structure:
    <root>
    .<element_list>
    ..<element>
    ...<value><b>WILLIAM</b>
    ...</value>
    ..</element>
    ..<element>
    ...<value><b>RICHARD</b>
    ...</value>
    .</element_list>
    </root>
    I want to split by multi-mapping!
    The target structure looks similar as source target structure (just <element_list> is missing)!
    So my structure looks in target:
    <Messages>
    .<Messages1>
    ..<element>    
    ...<value>
    ...</value>
    ..</element>
    .<Messages2>
    ..<element>    
    ...<value>
    ...</value>
    ..</element>
    For splitting the <value> tag is responsible:
    Every RICHARD should be mapped to <Messages1>
    Every WILLIAM should be mapped to <Messages2>
    --> so I use the if-function (I dont want to use the SORT function!)
    But this seems not to work.
    Any suggestions?
    Regards Mario
    null

    Hi Vijaya
    annotation:
    I need different messages!
    So in the tab >messages< of massage mapping
    Target Message: The message type must occur in row 1 & 2
    Like in thread: /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    Here: First screen shot under >Message Mapping<
    Did you do this?
    Regards Mario
    Message was edited by:
            Mario Müller

  • Multi-Mapping and Message Split using BPM UDFs Error

    hi
    As per the below blog
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
    I have just modified the UDFs(1.selectnodeifA 2.selectNodeifB)
    1.selectnodeifA
    for(int i=0;i<=n;i++)
    if(Name<i>.equals("A"))
    result.addValue(Node<i>);
    2.selectNodeifB
    for(int i=0;i<=n;i++)
    if(Name<i>.equals("B"))
    result.addValue(Node<i>);
    while checking I am getting the following errors
    Source code has syntax error: 
    D:/usr/sap/D10/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Mapdc8fa4d0896011dd907d001cc01cef0d/source/com/sap/xi/tf/_bpm_mm_.java:132: cannot resolve symbol
    symbol : variable n
    location: class com.sap.xi.tf._bpm_mm_
    for(int i=0;i<=n;i++)
    ^
    D:/usr/sap/D10/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Mapdc8fa4d0896011dd907d001cc01cef0d/source/com/sap/xi/tf/_bpm_mm_.java:140: cannot resolve symbol symbol : variable n
    location: class com.sap.xi.tf._bpm_mm_
    for(int i=0;i<=n;i++)
    ^
    2 errors
    The source code given in the blog is correct ? I thought for loop has not completed
    pls help
    manian

    Hi manian,
    I was having a look to Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure blog.
    The functions are not the same. I mean, yours and blogs functions.
    Each function has two parameters, Name and node. Furtheremore, in the blogs' functions is using arrays and you don't.
    So, the right code will be
    1.selectnodeifA
    for(int i=0;i<=node.length();i++)
    if(Name<i>.equals("A"))
    result.addValue(Node<i>);
    However, if you don't need an advance user defined function as you want to process just one element of the node's queue, you will not need to use for sentence.
    Something like:
    1.selectnodeifA
    // for(int i=0;i<=n;i++)
    if(Name.equals("A"))
    result.addValue(Node);
    Hope it is usefull for you.
    Carlos

  • Multi-Message-split with ABAP mapping and adapter specific attributes

    Hi all,
    With <b>ABAP-Mapping I split 1 message to n messages</b>.
    So many files are generated in <b>file-Adapter</b>.
    Everything fine.
    But now I want the file names different using adapter specific attributes.
    It is not possible to use variable substitution and write the file name in payload because of receiver restrictions.
    I tried this with following similar coding in ABAP-Mapping:
    data: lt_records TYPE MPP_DYNAMIC_TAB.
          Loop.
          l_file_name = "payload-Inbound"-information
          ls_record-namespace = 'http://sap.com/xi/XI/System/File'.
          ls_record-name = 'FileName'.
          ls_record-value = l_file_name.  "l_file_name comes from inbound-payload
          append ls_record to lt_records.
         Endloop.
      CALL METHOD dynamic_configuration->set_all_records
        EXPORTING
          records = lt_records.
    If I start the interface I see in the monitoring the dynamic configuration with many entries for file-name in the the SOAP-Header mapping of the request message (following extract):
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Mapping der Request-Message
      -->
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPAADDRESS.XML</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPABROKERROLE.XML</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPACOMPANYSEGMENT.XML</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPACUSTOMERROLE.XML</SAP:Record>
    The result is that <b>all files have the same file name</b> (last entry in dynamic configuration).
    Is it possible to write the adapter specific configuration in ABAP-mapping <u>for every single result message</u>??
    Thank you for your help,
    Florian

    Hi Florian,
    I've a different idea...I dont think its a "right solution" but just another work around..it involves a BPM...
    In your ABAP mapping..set the dynamic config with as many variables as number of different messages...i.e. use the variables like 'FileName1', 'FileName2'...'FileName6' instead of 'FileName'. But use the same namespace 'http://sap.com/xi/XI/System/File'
    Call the above mapping in a BPM and capture the individual messages and set the attribute 'FileName' from the values of 'FileName1' to 'FileName6' accordingly using Message Mapping and then send the message using the 'Send' step.
    before you try this, try using the variable names 'FileName1' ...'FileName6' in the receiver adapters...enable the ASMS. <b>I know we need to select which variables from the dynamic config to be used by the adapter by specifically selecting 'FileName', 'Directory' etc...but just give it a try and see if it works..</b>
    Or..instead of using a BPM..you can combine Henrique's idea...use Adapter module to set the value for 'FileName' from variables 'FileName1'...'FileName6' accordingly.
    hope I'm clear..lemme know if you have any questions..
    cheers
    praveen

  • Duplicate Message ID issue in case of Multi mapping (without BPM)

    Hi Experts,
    I am doing one sample Example for my requirement of converting the single source message data into the multiple Target messages.
    for example, when sender system is sending the 5 sale order details into a single message in PI then my Inbound proxy class of ECC R/3 receiver system must get this sale orders separately, that means inbound proxy class method must be triggered separately for 5 sale orders from sender system. for achieving this, I have used the Multi mapping concept in ESR (without BPM).
    This scenario is in Asynchronous mode.
    The below screen shots give the details on what I have configures so far.
    IN ESR
    IN ID
    IN SXMB_MONI of PI
    IN SXMB_MONI of ECC R/3 Receiver system (Error in Processing)
    due to this error, inbound Proxy class method is not being triggered for the single Sale order details as well,
    please let me know how to tackle this duplicate message ID issue when we have multiple payloads to process in a single message.
    please also let me know if is there any other workaround to fulfil this requirement.
    Thank you,
    Regards,
    Jagesh

    Hi Nunu,
    Check the below blog for restrictions.
    Multi-Mapping without BPM - Yes, it’s possible!
    Restrictions
    Messages that result from the split in a mapping-based message split are sent using one AE. So only adapters running on the AE are supported. In particular, this means that target IDOC message splits are not supported since the IDOC adapter is not part of the AE.
    Regards,
    Praveen.

  • Message split - XML to IDOCs - (1:n) mapping

    I have to split an incoming XML(in idoc DEBMDM format) from MDM to 2 Idocs (ADRMAS & DEBMAS).
    Target message set to occurences "0:unb".
    Have tested my graphical-mapping in IR and its working fine. Tested the configuration and got error in IB.
    In SXMB_MONI i find the error message,
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="OUTBINDING">CO_TXT_MMF_ENGINETYPE</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Messages in multi-message format can only be sent to one Adapter Engine</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Read in few threads about creating a "custom adapter module"...is this right? if so.... how to proceed ?
    Appreciate any help.

    Ram,
    Message Split using Graphical Mapping that ur using now supports adapter which are on same J2EE engine .
    In ur case Ur trying to post IDOCS ( I suppose ) which is not
       supported in using Graphical mapping.
    U need to change the design.
    -- Kavitha

  • Multi mapping & seeburger Message Tracking (Filestore module)

    Hello,
    For the people who knows seeburger archiving...
    Anybody make the scenario using multi mapping (split in the receiver) with message Tracking seeburger (File Store module in the Receiver Channel)?

    Hi,
    before these steps  you need to have MT installer file based on your database and some settings needs to be done at database level.
    if you have seeburger manuals there is one pdf 'SAPXI_Archiving_en.pdf' which talks about MT.
    Suresh

Maybe you are looking for

  • I want read PDF file from SAP directory and create a spool request or print

    Hi all, I want read PDF file from SAP directory and create a spool request or print the pdf through SAP. Can any body  help me in this. Also please write to me if its possible to open PDF from SAP directory to adobe pdf reader. Thanks in advance, Sun

  • Illustrator CS6 doesn't open after installing Yosemite (Java issue)

    Illustrator CS6 can't open and gives  message "need to install the legacy Java SE6 runtime" and gives Apple link to Java program. But even after installing latest java CS6 doesn't work. What can I do? ?

  • Gl leder balance

    hi     can any one can tell me how to view the vendor ledger balance. as like in tally debit and credit.        as they also want to see the balances in sap also total all debits and credits.     can any one can tell me the t code fo it thnx and rega

  • How can I make my buttons be gone forever?

    Just starting out with Flash and have run into a problem. I have several scenes with buttons that can be pressed once and then they disappear using: myBtn1.onRelease = function(){ this._visible=false} But when I go back to the scene the buttons reapp

  • How can I find all the silences above 2 sec.?

    Hi everybody, I have a speech recording in which I would like to find each silence longer than 1.5 seconds. After I edit it reducing its length, I would like the program to find the next silence longer than 1.5 secs, and jump to it, I edit it, and so