Abap cleint proxy with Multi mapping

Hi folks,
In this senario i am using client proxy to jdbc.
but my client proxy is generating input file
- <n0:MT_xxx_SAP xmlns:n0="http://xxxxx/bbb/HR/002/SAP_to_yyyy" xmlns:prx="urn:sap.com:proxy:RD1::700:2008/01/11">
- <row>
  <BUKRS>This is a string 11</BUKRS>
  <WERKS>This is a string 12</WERKS>
  <BTRTL>This is a string 13</BTRTL>
  <NAME1>This is a string 14</NAME1>
  <BTEXT>This is a string 15</BTEXT>
  </row>
- <row>
  <BUKRS>This is a string 16</BUKRS>
  <WERKS>This is a string 17</WERKS>
  <BTRTL>This is a string 18</BTRTL>
  <NAME1>This is a string 19</NAME1>
  <BTEXT>This is a string 20</BTEXT>
  </row>
  </n0:MT_xxx_SAP>
but in message mapping the input xml is excepting as
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
   <ns0:Message1>
      <ns1:MT_xxx_SAP xmlns:ns1="http://xxxx/yyy/HR/002/SAP_to_jjjjj">
         <row>
            <BUKRS>4654</BUKRS>
            <WERKS>321</WERKS>
            <BTRTL>5545</BTRTL>
            <NAME1>khghjg</NAME1>
            <BTEXT>jhdhgdg</BTEXT>
         </row>
      </ns1:MT_xxx_SAP>
   </ns0:Message1>
</ns0:Messages>
how to handle this <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
   <ns0:Message1>
which is autometically generating in message mapping..
Regards
Vijay

Hi,
your msg mapping is not generating target node.........so in your msg mapping, map the target header node to source header node.......msg1 to msg1......then map the target msg type to source row node.............then take SXMB_MONI payload and test your msg mapping to see if target node is getting generated............
Regards,
Rajeev Gupta
Edited by: RAJEEV GUPTA on Feb 9, 2009 2:44 PM

Similar Messages

  • ABAP client proxy With Receiver JDBC Adapter

    Hello Experts,
    I am working on a scenerio ABAP client proxy With Receiver JDBC Adapter.
    The client proxy program will fetch the master data related to equipment in plant maintenance module and  will update the sql database through Receiver JDBC Adapter .
    my requirement is if the equipement is created in sap then the  scheduled job has to trigger the client proxy program and send the message with status 'created'  to sql data base.
    if the equipment is modified in sap then the scheduled job has to trigger the client proxy program and send the message with status 'modify' to sql data base.
    please let me know how can i write the logic/code for this scenerio in client proxy program.
    Tables for equipment master i am using  is EQUI and fields are   ERDAT and AEDAT which is created date and modified date.
    fields for scheduling start date is tbtcp-sdldate.
    Thanks in advance.
    Ram.

    Hello Ram,
       Here you can check if updated date field is not empty then send status as created and if this field is not blank then send status as modified record.
    Monica

  • Problem with multi-mapping

    Hello everybody,
    we got a problem with multi-mapping.
    Source and target message-type are the same:
    <xsd:element name="MY_MESSAGE_TYPE">
    _<xsd:element name="BUSTRANS">
    __<xsd:element name="CHILD_1" maxOccurs="unbounded">
    ___<xsd:element name="SUB_CHILD_1" maxOccurs="unbounded">
    ____<xsd:element name="SUB_CHILD_1_NAME" type="xsd:string">
    __<xsd:element name="CHILD_2" maxOccurs="unbounded">
    ___<xsd:element name="SUB_CHILD_2" maxOccurs="unbounded">
    ____<xsd:element name="SUB_CHILD_2_NAME" type="xsd:string">
    The requirements are:
    <xsd:element name="MY_MESSAGE_TYPE"> should be created as often as <xsd:element name="CHILD_2"..> occurs
    a) so we mapped
    CHILD_2 -> MY_MESSAGE_TYPE
    BUSTRANS -> CopyValue -> BUSTRANS
    CHILD_1  -> CopyValue -> CHILD_1
    SUB_CHILD_1 -> CopyValue -> SUB_CHILD_1
    SUB_CHILD_1_NAME -> CopyValue -> SUB_CHILD_1_NAME
    CHILD_2 -> splitByValue(eachValue) -> CHILD_2
    The problem is:
    If we duplicated
    a) SUB_CHILD_1
    b) subtree CHILD_2 (so 2 messages will be generated)
    for testing, SUB_CHILD_1 only occurs 1 time! But we need it in every target message as often as it occurs in the source message.
    For your testing, here is the datatype:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://enbw.com/XI/SAPCRMB2B/javamappings_test" targetNamespace="http://mynamespace.com/XI/SAPCRMB2B/javamappings_test">
    <xsd:complexType name="MultipleBookingOrderRequest">
    <xsd:sequence>
      <xsd:element name="BUSTRANS">
       <xsd:complexType>
        <xsd:sequence>
         <xsd:element name="CHILD_1" maxOccurs="unbounded">
          <xsd:complexType>
           <xsd:sequence>
            <xsd:element name="SUB_CHILD_1" maxOccurs="unbounded">
             <xsd:complexType>
              <xsd:sequence>
               <xsd:element name="SUB_CHILD_1_NAME" type="xsd:string">
               </xsd:element>
              </xsd:sequence>
             </xsd:complexType>
            </xsd:element>
           </xsd:sequence>
          </xsd:complexType>
         </xsd:element>
         <xsd:element name="CHILD_2" maxOccurs="unbounded">
          <xsd:complexType>
           <xsd:sequence>
            <xsd:element name="SUB_CHILD_2" maxOccurs="unbounded">
             <xsd:complexType>
              <xsd:sequence>
               <xsd:element name="SUB_CHILD_2_NAME" type="xsd:string">
               </xsd:element>
              </xsd:sequence>
             </xsd:complexType>
            </xsd:element>
           </xsd:sequence>
          </xsd:complexType>
         </xsd:element>
        </xsd:sequence>
       </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    Regards
    Dominic

    Mario,
    <i>multimapping (split IDOC into several IDocs) is possible with IDocs. We did it!</i>
    Did you use IDOC packaging for this?
    AFAIK,when  you use multimapping that involves different adapters including one J2EE adapter and a IDOC adapter in the inbound side, multi mapping does not work.
    Regards,
    Bhavesh

  • 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

  • Question with multi-mapping 1:n split scenario

    Hi
        I have a scenario with the following requirement
    R3 --> XI --> Multiple files
    I used a multi-mapping scenario  using message mapping. to get the following output
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    <ns0:Message1>
    <Transaction> </Transaction>
    <Transaction> </Transaction>
    </ns0:Message1>
    <ns0:Messages>
    Each  <Transaction> </Transaction>  produces a file in runtime. So far so good.
    Now, there was a new requirement to introduce a dtd line as the first line  in each of the target files created  - that looks like follows :
    <!DOCTYPE Transaction PUBLIC \"-//XXXXX//DTD BatchReceiptAuthorization//EN\" \"http://dtd.XXXXX.com/dtds/ReceiptAuthorization.dtd\">
    How do I go about introducing this header line above the <Transaction> node in each and every target file - that is created by multi-mapping  ? This header line is not a part of the target schema and hence cannot be mapped to as an constant element in the target.
    Any suggestions/ideas as to how this can be done ?

    Hi Gautam
        I did use a java mapping , as a second step after the message mapping - so that the dtd line can be introduced as a header for each target message/file written by the muti-mapping in the first step.
         In my scenario, I sent the inputstream that is being passed to the Java execute method  - to trace and I see that the whole of the xml file - as shown below - which is the output of message mapping ( from the first mapping step ) in sent to the execute method of the java mapping a single call
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    <ns0:Message1>
    <Transaction> </Transaction>
    <Transaction> </Transaction>
    </ns0:Message1>
    <ns0:Messages>
    So, I modified Java mapping program to look for multiple occurences of <Transaction> tag and prefix them with my constant DTD Literal - which is the primary reason , why I had to use Java mappings after the message mapping.
    Now, I get an error is XI- SXMB_MONI
    - <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="MAPPING" />
    <SAP:P1>unexpected symbol; expected '<'</', entity refe</SAP:P1>
    <SAP:P2>rence, character data, CDATA section, processing i</SAP:P2>
    <SAP:P3>0</SAP:P3>
    <SAP:P4>113</SAP:P4>
    <SAP:AdditionalText />
    <SAP:ApplicationFaultMessage namespace="" />
    <SAP:Stack>The exception occurred (program: CL_XMS_MAIN===================CP, include CL_XMS_MAIN===================CM00A, line: 609)</SAP:Stack>
    <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    Can you help me out here ?

  • Need help with multi-mapping

    Hello! I need to develop scenario like in blog: /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    but I need to have sets of records. For example, I have 9 "Element2" records in original message.
    So, I  need to have 3 messages, each contains 3 records of "Element2".
    How can I do this?

    Change the occurance of target message type to 0..unbounded in Messages Tab in mapping for 1:n mapping.
    Mapping for Piyush_msg_out_3 target node-
    Element2 (source)-> Index(increment 1) -> Divide by Constant (3 in your case) -> Floor -> Split By value(Value chnaged) -> collapse contexts -> Piyush_msg_out_3
    Change the occurance of Element2 node as 1..unbounded in target data type.
    Mapping for Element2-
    Element2 (source)-> Index(increment 1) -> Divide by Constant (3 in your case) -> Floor -> Split By value(Value chnaged)  -> Element2(target)
    Edited by: nagarjuna _s on Nov 5, 2009 7:41 AM

  • ABAP Outbound Proxy with multiple entries

    I have message type as follows.
    MT_Proxy_Matmas_out  -- DT_Proxy_Matmas_out
    Matnr         1..unbounded
       Material_Num   1..1
       Material_Dec    1..1
    Message Inrerface: MI_proxy_Matmas_out.
    Generated Proxy has following objects.
    1. Class     ZMCO_MI_PROXY_MATMAS_OUT     Proxy Class (generated)
    2. Structure     ZMDT_PROXY_MATMAS_OUT     Proxy Structure (generated)
    3. Structure     ZMDT_PROXY_MATMAS_OUT_MATNR     Proxy Structure (generated)
    4. Structure     ZMMT_PROXY_MATMAS_OUT     Proxy Structure (generated)
    5. Table Type     ZMDT_PROXY_MATMAS_OUT_MATN_TAB     Proxy Table Type (generated)
    Report Program ZB_Matnr_xport.
    DATA: prxy TYPE REF TO ZMCO_MI_PROXY_MATMAS_OUT.
    DATA: i_data_records TYPE TABLE OF ZMDT_PROXY_MATMAS_OUT.
    DATA: wa_data_records TYPE ZMDT_PROXY_MATMAS_OUT.
    DATA: it type ZMMT_PROXY_MATMAS_OUT.
    CREATE OBJECT prxy.
    Loop at itab
    MOVE_Corresponding ......to XXXXXXXXXXXXXX // we tried several option with no success here in this Loop  //
    EndLoop
    CALL METHOD prxy->execute_asynchronous
          EXPORTING
            output = it.
         commit work
      CATCH cx_ai_system_fault .
        DATA fault TYPE REF TO cx_ai_system_fault .
        CREATE OBJECT fault.
        WRITE :/ fault->errortext.
    As you can see from above template I want move all the records of Internal table to Message Type structure before calling Proxy, CALL METHOD proxy->.........
    Can someone provide me sample code how to achive this. We are on WEB AS 620.
    Thanks a lot.
    ST

    suppose your table is it_datatable  of type  ZMDT_PROXY_MATMAS_OUT_MATN_TAB which contains matnr, description.  Then try the following
    data : l_var type ZMMT_PROXY_MATMAS_OUT.
    l_var-MT_Proxy_Matmas_out-Matnr 1[ ] = it_datatable[ ].
    then
    CALL METHOD prxy->execute_asynchronous
    EXPORTING
    output = l_var.
    commit work

  • IDOC in transformation step with multi mapping

    Hello,
    I have found this posting
    Splitting a message into multiple Idocs
    and now I am a little bit afraid that our planned process using BPM is not working:
    a) XI receives an IDOC
    b) XI continues with calling an external system sync.
    c) Sync message response and IDOC are used to be merged into one new message M using transformation step (2 messages into 1 new)
    d) send message M to receiver
    Now I have read (see link) that IDOCs cannot be used in such multimapping steps. Is this true?
    Can anybody give some information?
    Best regards
    Dirk

    Hi Michal,
    this answer gives hope!
    So I think there is a misunderstanding in using the "multimapping" term?
    Multimapping in a simple Interfacemapping for 1 sender to n receiver is different from the "multimapping" issue in a transformation step in BPM?
    The central assumption in the mentioned blog was:
    IDOC cannot be used in multimapping because IDOC adapter runs on ABAP engine.
    In BPM transform step we are on Java side and using XML payload! So this will set us apart from the IDOC adapter ABAP engine issue?
    That would be nice!
    Regards
    Dirk

  • Multi Mapping - Receiver IDOC & Mail with BPM

    Hi,
    Is it possible to use BPM with Multi Mapping for IDOC & Mail receivers sent parallely..
    Appreciate your help ..
    Thanks,
    vasanth.

    Hi Michal,
    Thanks Michal,
    We are using PI 7.1, Our Scope to do File to IDOC & Mail scenario in between we have to do RFC Lookups..
    Could you pls guide me thru the steps fo BPM,
    1 SA -> OB to AA
    2 ID  -> OB to AA & AA to Recv
    3.RD -> OB to AA & AA to Recv
    4.RA -> AA to IB & AA to IB
    Correct me if i'm wrong..
    Clarification : Is there is any way out to implement this scenario with out BPM.
    We already implemented this scenario with 2 MM & 2 OM, Scenario works fine...but we have to use 1 Mapping..
    Appreciate your help in advance..
    Thanks,
    vasanth.

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

  • Issue with java mapping in a multi-mapping scenario

    Hi
        We have  a 1:n multiple mapping scenario in XI and the source is R3 proxy and target side is files. So, creating multiple file from a single message from R3 .
    R3 --> XI --> Multiple files
    Structure of the output of the multi-mapping is
    - <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    - <ns0:Message1>
    <Transaction>
    </Transaction>
    <Transaction>
    </Transaction></ns0:Message1>
    </ns0:Messages>
    wherein each Transaction node represents a file.
    Now, we need to introduce a constant /string like
    <!DOCTYPE Transaction PUBLIC \"-//XXXXXX//DTD BatchReceiptAuthorization//EN\" \"http://dtd.XXXXXXX.com/dtds/ReceiptAuthorization.dtd\">
    on each of the files at the very beginning - i.e within each transaction node , in the above structure, we need the above DTD string to be written.  To do this, we added a java mapping as the second mapping after the message mapping that creates this string. Is this the right approach and would it produce what we are expecting ?
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import com.sap.aii.mapping.api.StreamTransformationConstants;
    import com.sap.aii.mapping.api.DynamicConfiguration;
    import com.sap.aii.mapping.api.AbstractTrace;
    public class ModifyRootAndDelay implements StreamTransformation {
         AbstractTrace myTrace;
    public void execute(InputStream input, OutputStream output) throws StreamTransformationException {
              try{
                   BufferedReader reader = new BufferedReader(new InputStreamReader(input));
                   String NameSpacePrefix = "<!DOCTYPE Transaction PUBLIC \"-//innotrac//DTD BatchReceiptAuthorization//EN\" \"http://dtd.innotrac.com/dtds/ReceiptAuthorization.dtd\">";
                   String sLine = null;
                   StringBuffer XmlMsg= new StringBuffer();
                   String Result,PayloadBody;
                   int indexOfFirst;
                   while ((sLine = reader.readLine()) != null) {
                        XmlMsg.append(sLine);
                   String StartingTag = XmlMsg.toString();
                   indexOfFirst = StartingTag.indexOf("<MerchantID>") ;
                   PayloadBody=new String(XmlMsg.substring(indexOfFirst));
                   Result=NameSpacePrefix.concat(PayloadBody);
                   output.write(Result.getBytes());
              /*     Thread.sleep(200000); */
              }catch(Exception e){
                   myTrace.addWarning("Exception raised in the JavaMapping:modifyNamespace.java""\n The Exception Message: " e.getMessage());
                   throw new RuntimeException(e.getMessage()) ;
            }     public void setParameter(Map param) {
              myTrace = (AbstractTrace) param
                        .get(StreamTransformationConstants.MAPPING_TRACE);

    Hi XI Gurus
                       In my scenario, I sent the inputstream that is being passed to the Java execute method - to trace and I see that the whole of the xml file - as shown below  - which is the output of message mapping ( from the first mapping step ) in sent to the execute method of the java mapping a single call
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    <ns0:Message1>
    <Transaction> </Transaction>
    <Transaction> </Transaction>
    </ns0:Message1>
    <ns0:Messages>
    So, I modified Java mapping program to look for multiple occurences of <Transaction> tag and prefix them with my constant DTD Literal - which is the primary reason , why I had to use Java mappings after the message mapping.
    Now, I get an error is XI- SXMB_MONI
    - <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="MAPPING" />
      <SAP:P1>unexpected symbol; expected '<', '</', entity refe</SAP:P1>
      <SAP:P2>rence, character data, CDATA section, processing i</SAP:P2>
      <SAP:P3>0</SAP:P3>
      <SAP:P4>113</SAP:P4>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>The exception occurred (program: CL_XMS_MAIN===================CP, include CL_XMS_MAIN===================CM00A, line: 609)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Should I create multiple outputs - as many as the numberof target split files ( of type outputstream ) from the execute method in the java program ?

  • Multi Mapping with out BPM and Receiver Determination Condition

    Hi Masters,
    My Requirement Was:
    Proxy will send the data to XI system, Based Customer group number[1000,2000,3000,4000], I need to split the message into 4 messages, and sent to 4 Different location, based on Customer Group condition.
    For message split, I fallowed below weblog.
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    Problem is file split correctly, but data goes to all customer groups..
    EX
    If they send the customer group 1000, I need to send the customer group 1000 file to BS1[Business Server1],
    If they send the customer group 2000, I need to send the customer group 2000 file to BS2[Business Server1],
    Please guide me,
    Thanks,
    ANU-

    Hi,
    Develope it like follow.
    Source Structure- Same for everything.
    Create 4 different structures for all targets, create 4 different msg types, 4 inbound message interface ( i think you are creating single Message type now, that is the mistake)
    In message maaping, add 4 target message types in same MM.. i hope i am clear..  ( same like in blog /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible he has created 2 message types USER_1 and Employee)
    keep occurence of all of them 0 to unbunded (not necessary)
    Now create mapping for each message type (same like USER_1 and Employee, imagine them like different message types virtually). 
    Map message type with the source field and mention the condition which you want test using graphical functions.  i will say if x e equla to 1 creatif --> target.
    I hope i m clear till now...
    thanks.

  • Multi mapping in proxy

    Hi all,
              I am Trying to do file to RFC Scenario where i have to post multiple invoices in a single bapi. I am using proxy in my scenario In such case can i do multi mapping and post the data to R/3 could you please suggest.
    Thanks in advance,
    Kalam.

    I am using proxy in my scenario In such case can i do multi mapping and post the data to R/3
    You have to use BPM for this because ABAP proxy uses the abap stack and multimapping without BPM requires java stack.
    Regards,
    Prateek

  • Abap multi-mapping doesn't work

    Hi,
    We have a 7.1 PI system and we are trying to set up a multi-mapping. This should process one IDOC into multiple XML-files.
    If we do this with a message mapping everything works fine. If we do this with an abap mapping it doesn't work. We receive the following error message:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Message canceled -->
    - <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="MAPPING">MISSING_INTERFACE</SAP:Code>
      <SAP:P1>2</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>No interface specified for parameter 2</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I can make it work by changing a value in debugging. In class CL_MERGE_SPLIT_SERVICE, method ENTER_SPLIT_SERVICE, there is a read on table split_data:
              set interface
                READ TABLE split_data
                  WITH KEY
                    param_type = c_param_type_inbound
                    param_numb = <payload_line>-numb
                  ASSIGNING
                    <split_line>.
    Now if I change the <payload_line>-numb to 1 each time the table is read, everything works fine.
    What am I doing wrong here? Or is this a bug?
    Thanks,
    Wim
    Edited by: Wim Van Linden on May 19, 2009 12:32 PM

    Hi,
    What ws you mistake ? caus I have the same error, here is my XML generated :
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages
         xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
         <ns0:Message1>
              <SOAP:Envelope
                   xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
                   <SOAP:Header>
                        <OPER_REF>SAPPI</OPER_REF>
                   </SOAP:Header>
                   <SOAP:Body>
                        <ns2:createSapProductRequest
                             xmlns:ns2="http://xxxxxx.com/PI/ZIN243/SendMaterialList">
                             <country>FR</country>
                             <division>1300</division>
                             <productStage>
                             </productStage>
                             <productCode>000000000001207062</productCode>
                             <typeCode>VERP</typeCode>
                             <productLab>PALETTE INTERCO</productLab>
                             <productHierarchy>
                             </productHierarchy>
                             <productCreateDt>2009-06-19</productCreateDt>
                        </ns2:createSapProductRequest>
                   </SOAP:Body>
              </SOAP:Envelope>
         </ns0:Message1>
         <ns0:Message2>
              <SOAP:Envelope
                   xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
                   <SOAP:Header>
                        <OPER_REF>SAPPI</OPER_REF>
                   </SOAP:Header>
                   <SOAP:Body>
                        <ns2:createSapProductRequest
                             xmlns:ns2="http://xxxxxxx.com/PI/ZIN243/SendMaterialList">
                             <country>FR</country>
                             <division>1500</division>
                             <productStage>
                             </productStage>
                             <productCode>000000000001207062</productCode>
                             <typeCode>VERP</typeCode>
                             <productLab>PALETTE INTERCO</productLab>
                             <productHierarchy>
                             </productHierarchy>
                             <productCreateDt>2009-06-19</productCreateDt>
                        </ns2:createSapProductRequest>
                   </SOAP:Body>
              </SOAP:Envelope>
         </ns0:Message2>
    </ns0:Messages>

  • Facing problem with SOAMANAGER while working on ABAP Client Proxy

    Dear Community Friends & Experts,
                 I am facing a problem with the SOAMANAGER, I think so. Let me explain you a scenario what I am into:
    The scenario is like I need to Push data from BI table to SAP PI. We decided to go using ABAP client proxy as Sender and then will
    receive it using FTP adapter to FTP address.
    I have created Integration repository design object Data types, Message types, interfaces and mapping. Now I am into SAP BI and running SPROXY and generated proxy for my outbound interface. fine.
    Till now its okay.Now I wanna my generated proxy to be available within the SOAMANAGER T-code I am not able to find my proxy in the list.
    Can anybody send me detailed steps for outbound proxy to SOAMANAGER for creating local port for proxy. I wanna use proxy with WS adapter.
    Second Query:
    I need to using RSPC in SAP BI to trigger the proxy what code to write with SAP PI 7.0 version.
    Can anybody bring some light to this problem...
    <h5>Regards,
    Gaurav Patwari </h5>

    Dear Experts,
    Problem solved, cannot say solved but yes its not required now as I am having Client Proxy call so it will be a native call to XI and which does not need SOAMANAGER things.
    Thank you all for taking your time and writing answers.
    Regards,
    [Gaurav Patwari|http://gauravpatwari.wordpress.com]
    Edited by: GauravPa on Apr 17, 2010 11:32 AM

Maybe you are looking for