What is multimapping in xi

hi gurus,
what is multimapping in xi .
please guide with one scenerio of taking a blog.
or provide me some pdf with screenshot wise .
pls provide me some blogs of multimapping in xi without usig bpm.
thanks and regards.
Edited by: Pawan Kumar on Feb 19, 2008 11:15 AM

Hi Pawan,
Multi Mapping :
You can specify the multi-mapping program by means of an interface mapping in logical routing. In this case, the interface mapping not only determines the mapping program, but also determines which target interface the target message is to be sent to in logical routing. Hence the term mapping-based message split.
Multi-mappings require the interfaces involved to be asynchronous. There are no other restrictions on the outbound interface of the interface mapping.
Messages that result from the split in a mapping-based message split are sent using one Adapter Engine. For this reason, only those adapters that run on the Adapter Engine are supported. The Java proxy runtime is also not supported. This means that the selection of possible target interfaces is restricted to the corresponding adapter types. In particular, no target messages can be sent to an integration process.
Developing Multi-Mappings as Message Mappings
       1.      Create a message mapping.
       2.      In the mapping editor, switch to the Messages tab page.
       3.      Reference a (fault) message type, an IDoc, the request, response, or fault part of an RFC or an external message (external messages originate from external definitions).
       4.      Specify the occurrence for each message.
       5.      Switch to the Design tab page and edit your message mapping as usual. The rules that apply to message mappings also apply here.
       6.      Create an interface mapping and reference the interfaces that use these message schemas. Enter your message mapping in the interface mapping.
Developing Multi-Mappings Externally
Message mappings are not the only means of implementing multi-mappings. Develop the mapping program using the same approach that is described in Multi-Mappings:
       1.      Create an interface mapping and reference the interfaces that reference the message schemas that are relevant for the multi-mapping. Only target interfaces of those adapter types that run on the Adapter Engine (excluding the Java proxy runtime) are supported.
       2.      Export the schema of the request message from the interface mapping.
       3.      Develop the multi-mapping by using the exported schema. The resulting target structure must be structured as is described in multi-mappings.
       4.      If the mapping is an XSLT or Java mapping ,import the mapping program to the Integration Repository and reference it from the interface mapping.
Hope this will help you.
Regards
Aashish Sinha
PS : reward points if helpful

Similar Messages

  • Help on Mapping: What is Multimapping, splitbyvalue,valuemapping?

    Hi
    *What is multimapping and how to design a multimapping?
    *What does value mapping and splitby value does in mapping?
    Kindly let me know on this with a simple example for my understanding.
    Regards
    Prabhu

    Multi mapping is the conversion of 1 message to N or N -1 or N:M messages
    Ref:
    Multi Mapping
    BPM involved:
    /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 BPM:
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    Value mapping - converting a value in the source to a another in target. Say in source it might me KM but in target u might need Kilometers.
    http://help.sap.com/saphelp_nw04/helpdata/en/13/ba20dd7beb14438bc7b04b5b6ca300/frameset.htm
    Split by value -
    http://help.sap.com/saphelp_nw04/helpdata/en/21/3bb8c495125e4eb5969f0377885fe0/content.htm

  • What is MultiMapping, what interface do we use for it?

    What is MultiMapping, what interface do we use for it?

    Hello  Chaitanya,
    Refer the following blogs
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    MultiMapping is a term referred to any mapping that has mutliple messages in your source or target.
    So, mappings like
    1. 1:N --> 1 source message and N target messages
    2. N:1 --> N source messages and 1 target messages
    3 M:N --> M number of source messages and N number of target messages
    are referred as MultiMappins.
    Mapping 1 can be achieved without BPM whereas others need to have a BPM.
    With Regards,
    Raju.
    **********Please give points if found useful

  • Can any one brief me in using multimapping

    Hi ALL,
    Can any one brief me in using multimapping in detail.
    Thanks
    Govindu.

    Hi Govindu,
    I hereunder explain you in detail what is multimapping all about:-
    Multi-Maping can only be used in ccBPM.  It is used to map abstract interfaces.  Development is the same as Message Mappings
    n:1 Transformation
    Bundles multiple messages into one message, for example, individual purchase order items into one purchase order.
    1:n Transformation
    Splits a message into multiple messages, for example, a purchase order into the individual purchase order items.
    n:m Transformation
    Converts a message into another message, for example, a message that is defined by interface A is converted to message that is defined by interface B.
    Multi-Mappings reference multiple message structures:-
    a) All source message structures are combined into 1 source structure.
    b) All target message structures are combined into 1 target structure.
    Therefore, there is only one source structure mapped to one target.
    I hope this clarifies.
    Regards.
    Praveen

  • Error in BPM with multimapping.

    Hi,
    I've got next  error in a transfromation step of bpm with multimapping :
      <?xml version="1.0" encoding="utf-8" ?>
    - <MappingTrace>
      <Trace level="1" type="T">Mapping http://www.miquello.com/C3900 IM_I3934_REPLICA_BBY , Software Component Version 931D4B005DF711DFC0CACC330A640786</Trace>
      <Trace level="1" type="T">Mapping Step 1 , Type JAVA , Program com/sap/xi/tf/_MM_I3934_REPLICA_BBY_</Trace>
      <Trace level="3" type="T">MTOM Attachments Are Written to the Payload</Trace>
      <Trace level="3" type="T">Mapping has exactly one source message</Trace>
      <Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
      <Trace level="3" type="T">Executing multi-mapping</Trace>
      <Trace level="1" type="T">while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'guid' Thrown: java.lang.NullPointerException: while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'guid' at com.sap.guid.GUID.parseHexGUID(GUID.java:1046) at com.sap.guid.GUIDGenerator.parseHexGUID(GUIDGenerator.java:111) at com.sap.aii.utilxi.misc.api.GUIDFactory.parseHexGUID(GUIDFactory.java:127) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createInputParameter(ParametrizationMap.java:140) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createElement(ParametrizationMap.java:112) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createParametrizations(ParametrizationMap.java:57) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.<init>(ParametrizationMap.java:37) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.newInstance(ParametrizationMap.java:65) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:111) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:72) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at sun.reflect.GeneratedMethodAccessor804.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy1098.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:183) at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:267) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:182) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:280)</Trace>
      </MappingTrace>
    However i've tested with same input message in Operation Mapping ESR, without any error.
    What could be the cause?
    Thanks, in advance.
    Carme.

    Hi,
    Are you using parameterized mapping or RFC lookup in your mapping???? If yes, please make sure that you are passing the parameter in the interface determination instead of null value.
    Also verify whether your cache is updated  with the latest GUID of your mapping program or not.
    Regards,
    Priyanka.

  • Multimapping n:1 (XML to IDOC) Issue - Cannot use map in the scenario

    Hi! I have created a multimapping in the directory. Source message is 0...unbounded and destination message is 1. The intention is to bring a single file into XI that contains mutliple XML messages. I then need to map this into a single IDOC. I have the mapping working. However, when I try and bring this into my integration scenario, XI cannot find the message interface.
    I am not 100% convinced that this will all hang together =) But Cannot even prove that 'cos I cannot set this up in the scenario.
    Any ideas would be greatly appreciate and rewarded.
    Thx
    Duncan

    Apologies for getting all my terminology screwed up. Here is what I have:
    <u>Integration Repository</u>
    Imported Objects - Target IDOC
    Interface Objects : External Definitions - XML schema of source message
    Interface Objects : Message Interface - For source XML; Outbound + Asynch
    Message Objects : Message Mapping - XML (0..unbounded) to IDOC (1) map
    Message Objects : Interface Mapping - XML message interface (0..unbounded) -> XML to IDOC mapping -> IDOC (1)
    <u>Integration Directory</u>
    Interface Determination...
    I select Type of Interface Determination = Extended but when I pull down the dropdown I do not see the multimap.
    I have this working OK for one IDOC to multiple XML messages, doing the same as above. I have checked SCV, namespace etc... and they are correct. I am sure I am missing something very simple.
    Again, any ideas appreciated.
    Thx
    Duncan

  • N to 1 multimapping scenario

    Hi experts,
    I have done N to 1 multimapping scenario following the below link..
    http://www.****************/Tutorials/XI/BPM/Fork1.htm
    In this link it is done for occurrence 1 in message mapping.If my sender files have multiples records(occurrence 0..unbound).
    What configurational changes I hv to make ??
    Thanks in advance

    Hi
    Suppose in both sender file I have mutiple records.Lets say,
    File1: <ns1:mt_input1 xmlns:ns1="http://www.sandbox/xi/testgd">
             <Name>abc</Name>
             <Place>mumbai</Place>
             <ID>1</ID>
          </ns1:mt_input1>
          <ns1:mt_input1 xmlns:ns1="http://www.sandbox/xi/testgd">
             <Name>xyz</Name>
             <Place>delhi</Place>
             <ID>2</ID>
          </ns1:mt_input1>
    File2 : <ns1:mt_input2 xmlns:ns1="http://www.sandbox/xi/testgd">
             <Company>qwe</Company>
             <DOJ>121212</DOJ>
             <ID>1</ID>
          </ns1:mt_input2>
          <ns1:mt_input2 xmlns:ns1="http://www.sandbox/xi/testgd">
             <Company>rty</Company>
             <DOJ>141414</DOJ>
             <ID>2</ID>
          </ns1:mt_input2>
    Based on that i want to merge both the records of sender files in target file based on ID(which has two values 1 and 2)
    target file: abc, mumbai, qwe, 121212, 1
                     xyz, delhi, rty,141414,2
    It is working if I have only one record in files.
    Please suggest how can i do it for multiple records.

  • 1:N multimapping, IDoc change occurrence in XSD or Signature

    Hi SDNers,
    In the current assignment, I have 1:N (File to IDoc) Scenario, In order to do this 1:N Multimapping for receiver IDoc we can either change the occurrence of IDoc as 0..unbounded(Using External Definition) or we can change the signature of the Message Mapping.
    I want to know the technical difference between these 2 approaches, which approach is the preferred approach for development and for what reasons.
    Regards,
    Gautam Purohit

    GO with IDoc as 0..unbounded(Using External Definition).
    If you use signature tab then it will be multimapping.
    As IDOC adapter resides in ABAP stact it does not support Java based message merge and split.
    If you use signature then you need to go with BPM and incase of external defination no need for BPM.

  • Design Approach for 1:N Multimapping scenario with SAP ECC Receiver

    Hi Experts,
    I am trying to find the best approach to implement the following scenario. its desribed as follows:
    Legacy Database ->XI ->  SAP scenario.
    1. Pick records from database table with status ='n'
    2. The records picked can have one or more RefNos i.e. if 2000 records are picked 1500 can have RefNo :1111 and rest 500 RefNo: 2222
    3. 1st condition is to split the records into multiple messages if reference nos are different, so for scenario in point 2 it will be 2 messages. Secondly if the no of records are more than 1000 then split further into 2 message. So 1500 Ref No would be split into messages with 1000 and 500 records. Hence we get 3 messages. I know something similar was achieved in this blog:
    </people/claus.wallacher/blog/2006/06/29/message-splitting-using-the-graphical-mapping-tool
    4. Once the data is forwarded to ECC and its successfully updated, we need to update the status of the database table on the sender side to 'y';
    So the point where i am not very clear as of now is,
    1. What alternative I choose for PI-> ECC call? Its a 1:N multimapping split scenario and as far as I know the call has to go via AE, so is RFC the only option or is there a way to have a call with Proxy/IDOC? Or will there be an option to limit such a scenario at the JDBC Adapter level so that split is not needed. I am not sure if that can be achieved and is a better solution.
    2. If I go for either of the approaches mentioned above, what is the best way to achieve point 4, i.e. update the database table at the sender. As JDBC Adapter would be async and hence we either use a Aysnc-Sync bridge(for proxy/rfc receiver) or some other option like triggering a outbound interface from SAP side with the update data?
    Hope that experts can provide the inputs on the best way forward.Let me know if anything is missing from scenario details perspective.
    Best Regards,
    Pratik

    Pratik,
    2. If I go for either of the approaches mentioned above, what is the best way to achieve point 4, i.e. update the database table at the sender. As JDBC Adapter would be async and hence we either use a Aysnc-Sync bridge(for proxy/rfc receiver) or some other option like triggering a outbound interface from SAP side with the update data?
    Use the solution # 2, make it like this:-
    DB (async) -> PI -> Proxy (sync) -> PI -> DB (async)
    Just out of curiosity, why you breaking the records into 1000's in PI? Why not you select only 1000 records when polling the DB? That will help in improving the overall performance.
    Regards,
    Neetesh

  • Multimapping 1:N issue

    Hi everybody,
    I have a problem with multimapping. My scenario is:
    FILE (Content conversion) -> PI -> BAPI
    My source structure looks like:
    but its not coming.
    When i test with the source structure in message mapping didn´t work either, but if I add the tags Messages and Message1 it work out fine.
    What is the solution?? should I add the tags with XSLT mapping? it doesn´t have to much sense to me,  this should work properly without doing that...
    Thanks in advance!

    Hi Luis,
    exact about PI 7.1. Thanks for the lesson, I learned something today...
    So to resume:
    1. in I.R - Message Mapping, on tab "Signature", you have occurence : 1 --> 0..unbounded.
    2. in I.R - Operation Mapping, you have occurence : 1 --> 0..unbounded.
    3. in I.D - Interface Determination, for your bapi, you have Multiplicity = 0.. unbounded, as it's automatically found (based on I.R).
    And when you process a source file, you have almost nothing in payload of your target Bapi.
    Is that right ?
    if yes, the only error that I see is an error in your Message Mapping, probably on node "Message1" or "bapi".
    or eventually a problem of cache if you have recently change something in your flow...
    Regards.
    Mickael

  • Is this a bug? about multimap

    code:
    #include <map>
    int main()
    std::multimap<int, float> coll;
    coll.insert(std::make_pair(2, 22.3f));
    return 0;
    compile with CC command . get some error
    compile with g++ command. OK
    why?
    Best
    D.Y

    No, do NOT do that.
    If you attempt to modify any of the library configuration macros, you wind up with declarations in the headers that do not match what is in the library.
    In addition, the otherwise dead code enabled in the headers has never been compiled or tested by Sun. If you run into problems, you are on your own.
    If you need a more standard-conforming library, you can use STLport that also comes with the compiler. Add the option
    -library=stlport4
    to every CC command line, compiling and linking.
    As noted in the documentation, the default libCstd and STLport are mutually exclusive. You cannot use both in the same program.

  • Multimap Error in Solaris C++ V5.0

    I am experiencing an error with multimap on the CC version 5.0 compiler.
    The worrying thing is that this error does not occur on gcc
    $ gcc -v
    Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs
    gcc version 2.95.3 20010315 (release)
    $ gcc -g -I -fPIC -DOS_SOLARIS -D_REENTRANT -D__OMNIORB4__ -DUsePthread -D__sparc -D__sunos__ -D__OSVERSION__=5 -Dsolaris2 -c err.cpp
    $ rm err.o
    $ CC -g -I. -KPIC -DOS_SOLARIS -D_REENTRANT -D__OMNIORB4__ -DUsePthread -D__sparc -D__sunos__ -D__OSVERSION__=5 -Dsolaris2 -template=wholeclass -instances=extern -c err.cpp
    "err.cpp", line 10: Error: Could not find a match for std::multimap<int, int, std::less<int>, std::allocator<std::pair<const int, int>>>::insert(std::pair<int, int>).
    1 Error(s) detected.
    $ CC -V
    CC: WorkShop Compilers 5.0 98/12/15 C++ 5.0
    The program consists of little more than 2 lines in a main (and I have even removed strings to create the simplemap possible).
    1 #include <map>
    2 #include <string>
    3
    4
    5 using namespace std;
    6
    7 int main( int argc, char ** argv)
    8 {
    9 multimap<int, int> myIntMMap ;
    10 myIntMMap.insert( (std::pair<int, int>) make_pair( (int)1, (int)2)) ;
    11 }
    Elsewhere in the forum, I have seen people applying const to multimap or pair parameters to get a solution (workaround), but I have tried most combinations without success. Can anyone help?

    No, do NOT do that.
    If you attempt to modify any of the library configuration macros, you wind up with declarations in the headers that do not match what is in the library.
    In addition, the otherwise dead code enabled in the headers has never been compiled or tested by Sun. If you run into problems, you are on your own.
    If you need a more standard-conforming library, you can use STLport that also comes with the compiler. Add the option
    -library=stlport4
    to every CC command line, compiling and linking.
    As noted in the documentation, the default libCstd and STLport are mutually exclusive. You cannot use both in the same program.

  • Configuration of multimapping scenario without a bpm

    Hi all,
    I am trying simple multimapping without a bpm for jdbc to jdbc scenario
    I have created
    a single business service which has one sender interface and two receiver interfaces.
    Two communication channels, one for sender jdbc and another for receiver jdbc.
    One Sender agreement.
    Two receiver aggreement with the same communication channel.
    Receiver determination.
    Interface determination of enhance type.
    Hav i missed anything? I am getting a error while testing the configuration in Interface determination and Mapping step.

    Hello
          I suspect there could me an error at Message Interface or Message mapping.
         What is the error syntex you encountered. As a process you have done well with
                1) communication channel
                2) Sender agreement & Two receiver aggreement
        Let me know. What are the action item at Intregatrion scenario.
             It was nice answering your question. Feel free to reach SDN if you have any questions. What are the action item at Intregatrion scenario.
    Thanks in advance for your co-operation
    Ashok Babu
    Enterprise Business process Architect
    SAP XI Senior Consultant

  • Multimapping: RFC+File to File

    Hello,
    I've read a lot of blogs about multimapping and BPMs but I don't know how to solve my problem yet.
    I have an RFC in R3 that triggers data to XI. Then XI must receive that data and read a file with more data.
    Once I have all the data I have to map to a target file.
    My problem now is, how can I tell to XI to read the source flat file when it receives the R3 RFC data?

    >
    Jean Carlo Abreu wrote:
    > well... you have your starting process, the RFC ...and then you just make the request to the file adapter, what is the problem?
    Maybe the problem is that simply the file adapter doesnt support requests?
    It is read only (send file adapter) or write only (receiver file adapter).
    The scenario will have to be changed.
    If it is feasible to use correlations, you can start the bpm with the receiver from rfc (which sets the correlation), then receive step waits for file that matches the correlation set by 1st receiver, then you proceed.
    If you do have to execute a "file query" (for example, if the pooling directory is defined by the rfc), you'll have to write a java or abap proxy that does it.
    Regards,
    Henrique.

  • What happen if idoc extension will be changed ?

    HI,
    we are using a BPM (a big one) with a Multimapping zMATMAS03(Source) & RFC(Source) to MATMAS05(Target).
    The source(zMATMAS03) IDoc has a extension(German Erweiterung) with new Segment ZZxxx and new Fields ZZyyy.
    What happen if the allready importet and mapped zmatmas03 Idoc will be changed in the source system ?
    Example. We added 2 new Fields in the old zzxxx segment.
    Did i have to map everything new if i import the new idoc ? or did the new field are added to the old idoc and the mapping is working again ?
    Regards,
    Gordon

    Hi,
    1. you have to reimport the idoc from IR
    2. you should delete the old idoc definition in TCODE - IDX2
    3. you have to change your mappings so that they will use the new IDOC
    Regards,
    michal

Maybe you are looking for