Multi mapping - solution ??

HI
This is regarding a typical scenario where SAP XI 3.0 receives data through an outbound ABAP proxy , the output of these have to be files ...but the problem is :
a) There will be around 15 files -  5 of type .txt , 5  of type .CSV and 5 of  .RTF  all to placed on a single location , how to achieve this ? design wise . ..
b) all the files will have different formats i.e all txt files will be of a different format but the source data will be the same ,which means from the same  incoming Xl different files need to be formed , We dont want to use BPM ...
does it mean we  need 15 differenct Communication channels ??
and do we require 15 different mapping also ??
Kindly suggest if it can be done through multi mapping ,  i am unsure how
thanks
Dev

Hi,
>>a) These 15 files are of different out put formats( as in the 5 csv files have different layouts and so does the 5 txt files ) , so does it essentially mean 15 different mappings and 15 different file communication channels ?
No need of 15 mappings, one multimapping will do.. where from one source message type you are creating 15 target message type....
>>b) Enhance interface determination basically helps me in creating (n)Target interfaces from 1 source message, right ?
but then when i have 15 different mappings ... how does multi mapping help ? isnt itas good as 15 different interaces ??
i think you are confused.. do like this
1. Create a message mapping
2. Go to the signature tab and add one source message type and 15 target message type..
3. Come to definition tab and complete the mapping
4. You can see that lot of Message, Message0 etc are created, these help in doing multimapping and this is multimapping
1. Create interface mapping
2. Go to the signature tab and add one source message interface and 15 target message interface..
3. Do read interface and select the mapping done in above step
1. Create interface determination.
2. Provide the interface mapping created above there
3. Create 15 communication channel and 15 receiver agreement
Regards
Suraj

Similar Messages

  • Multi Mapping 1 to n. SP15

    Hi All,
    I have a plan to do a demo scenario 1 to n mapping without BPM.
    I tried FAQS solution bit confused , so  i tried designing following way.
    I'm confusing in creating target messages ( i need to create 2 messages from 1)for message mapping.
    can any one clarifies design steps approach for this scenario.
    and what precautions i need to take care when designing this type scenario.
    I'm using SP15.
    Reagrds,
    venu.

    Hi Venu,
    To do a 1:N mapping, the follwoing things are essential.
    1. In your message mapping, make the occurence of your destination message type unbounded
    2.in  your inetrace mapping, make the occurence of your destination message interface unbounded.
    3. WHile doing your Interface determination, select the option extended and selected your mapping program.
    Also, Multi mapping works only with adapters running on the j2ee engine and so, will not work if you are using an idoc adapter as the receiver adapter.
    The number of source message type will only be one, just the occurence will change for the destination message types.
    Regards,
    Bhavesh

  • How to achieve Java Multi-mapping in PI 7.31?

    Hi,
         I have a simple file to file scenario. Want to do 1:n transformation using java mapping.
         Followed this link  Multi-Mapping using Java Mapping - Process Integration - SCN Wiki . But the result was a single message with three root segments. where as the requirement is to get three messages each having one root segment. Please suggest how can we achieve this.
    PS: Please suggest a solution specifically using java mapping.
    Thanks

    Hi Nisar,
    I had the same issue when I was trying to achieve this. I am able to create the target structure with multiple subsegments but unable to get them in individual multiple messages.
    Sumit

  • Receiver Determination in multi mapping

    Dear Folks,
    I am facing a difficulty in implementing conditional receiver determination in my scenario. This is an  IDOC to FILE scenario and requirement is IDOC needs to be split in multiple messages and specific messages to be delivered to different warehouses using FTP.
    I have implemented multimapping 1:N and able to split the IDOC as per the requirement. But when I execute conditional receiver determination, all the splitted files are sent to all the warehouses.
    The input is
    <IDOC>
            <Segment>
                  <warehouse_no>1</warehouse_no>
              </Segment>
              <Segment>
                  <warehouse_no>2</warehouse_no>
              </Segment>
              <Segment>
                  <warehouse_no>3</warehouse_no>
              </Segment>
    </IDOC>
    and output I want as
    File No 1
    <MT_WarehouseDetails>
                <warehouse_no>1</warehouse_no>
    </MT_WarehouseDetails>
    sent to warehouse 1
    File No 2
    <MT_WarehouseDetails>
                <warehouse_no>2</warehouse_no>
    </MT_WarehouseDetails>
    sent to warehouse 2
    File No 3
    <MT_WarehouseDetails>
                <warehouse_no>3</warehouse_no>
    </MT_WarehouseDetails>
    sent to warehouse 3
    currently I am getting all the files in all the folders.
    Your help will be appreciated.
    - Shri

    hi,
    it is indeed a nice solution here is what I propose:
    define a new communication component called XI_BUS, define a sender comm soap channel SND_SOAP_IDOCTYPE and a receiver soap comm channel RCV_SOAP_IDoctype that points to the sender one. (you will need a service username and password in the pi system). check this link on how to configure your RCV comm channel to point back to your PI system [http://help.sap.com/saphelp_nw04/helpdata/en/2b/d5653fd1d3b81ae10000000a114084/frameset.htm]
    source system -> XI (in this flow you do the multi mapping)-> XI_BUS (using RCV_SOAP_IDOCTYPE) (basically re-routing it back to XI)
    XI_BUS(using SND_SOAP_IDOCTYPE) -> XI ( here you use your extended receiver determination) -> RCV_1
                                                                                    -> RCV_2                                                                               
                                                                                    -> RCV_n
    I hope this helps

  • Multi Mapping to multi receiver

    Hello all,
    I having a req that incoming IDoc hac multiple files say,
    <IDoc Name>
         <IDoc>
              <Field1>
              <Field2>
         <IDoc>
              <Field1>
              <Field2>
         <IDoc>
              <Field1>
              <Field2>
    Based on field 2 i need to send multiple receiver. For ex if my field2 is 10 i need to send receiver 1, if my field2 is 20 i need to send receiver 2, if my field2 is 30 i need to send receiver 3 and so on..
    I searched google and unable to get solution. Please help out of this. This is in high priority.
    Regards
    Amar

    Hi Amarnath,
    You can achieve your requirement in two ways.
    1)Multi mapping
    2)Enhanced receiver determination , (map b/w sender structure,receiver1 structure),(map b/w sender structure,receiver2 structure),...
    I personally prefer 2nd option because it looks very clean design and efficient than multi mapping.
    2)In enhanced receiver determination use the below udf.
    field2-->mapwithdefault-->remove context-->sort-->splitbyvalue (valuechange)-->collapsecontest-->udf-->receiver1,service1,receiver2,service2..............
    for(int i=0;i<n;i++){
         if(input[i].equals("10")){
              receiver1.addValue("");
              service1.addvalue("BSNAME");
    else if(input[i].equals("20")){
              receiver2.addValue("");
              service2.addvalue("BSNAME");
    In individual mappings just send those respective records
    field2-->mapwithdefault-->remove context-->equals("10")-->if-->mt_receiver1
    field2-->mapwithdefault-->remove context-->equals("20")-->if-->mt_receiver2
    NOTE:We need to go for either of the above approach because we need to check record in sender structure .
    Regards
    Venkat

  • Error when implementing Multi mapping

    Hi all,
    I am carrying out a scenario which invloves multi mapping. I have read both the interfaces in Interface mapping and I have chose extended interface determination. But the message is not getting processed successfully. I get an error in SXMB_MONI saying "NO_RECEIVER_FOUND". Could you plz help me regarding this?
    Thank you
    Indudhar

    you have to define a Receiver Determination for the Sender & Interface  and specify the Receiver there. Furthermore, you will need an Interface Determination to determine the interface of the outgoing message and the mapping
    Finally you will require a Receiver Agreement .
    http://help.sap.com/saphelp_nw04/helpdata/en/19/8dba88b1db634f891622e909565f7a/frameset.htm
    Note: reward points if solution found helpfull
    Regards
    Chandrakanth.k

  • Relational Mapping Solution

    Hi,
    Hopefully someone can answer this question in about 20 seconds and save me wasting days. I have a website and wish to set up some servlets which will access a database on the web server. However, i'd rather not use JDBC, but would prefer a relational mapping solution.
    I have previously done this with EJB's (using middlegen to quickly generate all the EJB classes without any work from me!!) but i only have a cheap package with my web host so running an Application Container is out of the question. I am unfamiliar with other relational mapping products such as hibernate, JDO etc. but if someone could simply tell me if there is a solution out there that i can use without needing to have an Application Container i'd be most grateful,
    Cheers,
    Dave

    I cannot speak to JDO, but we do use Hibernate at my work. A few words of caution. Only use an O/R mapper for new or relatively new data models (or the rare case of a legacy data model that was properly designed and has not subsequently become bloated). Connecting an O/R mapper to a legacy database can (and has been) a nightmare.
    You also have to consider the up-front cost of learning the technology. Though we may be there in 5-10 years, you cannot simply take these tools 'out of the box' and expect them to work. Just like SQL, there is a learning curve. And if you are in a multi-developer environment, many of them will already know SQL, further increasing the 'cost' of making this switch.
    However, for new projects and well designed data models, I think these O/R mappers are just starting to come of age (though much work still needs to be done). A world of improvement over EJB CMP, but I think any good developer will be able to churn out more efficient SQL than the mapper. Where these tools do shine is in features that are cumbersome to implement globally, such as snapshoting updates and lazy loading.
    If you want to go the HIbernate route and do not want a fully-featued container, the Spring Framework is gaining popularity and has excellent integration out of the box with Hibernate (though you still need to set-up the mappings yourself). Though, as above, beware of 'technology soup'. Too much gives indigestion.
    - Saish

  • Multi Mapping

    Hi all,
    I need a help on how to go about the following scenerio.
    XI first performs a multi-mapping that creates two output messages:
    One is the target message in Flat File Format. The mapping also generates the filename for the output message which should follow the format 11_<Unique ID>.txt. This filename is written into the XML Payload of the message. The File Adapter later does a flat file conversion on the message. In this step, the filename is not written into the flat file. Instead, it is used by the file adapter as the target filename.
    The file should be placed in a specified directory. 
    The mapping also creates a second message, which only contains the same filename in the payload. This message goes to a second File Adapter, which also does a flat file conversion. Its output only contains the filename that was created by the mapping, followed by a line break. The output of this File Adapter is written into the same directory as the first file. The name of the output file is 11.catlg. If the file already exists in the target directory, the output needs to be appended to this file.
    Thankyou.

    Shruthi,
    It seems the payload contains the filename and this filename as to be used in the Communication Channel of file adapter.If my understanding is correct the problem can be solved by the Variable substitution. Refer the below link:[http://****************/Tutorials/XI/Variable/substitution.htm]
    Regards,
    Kiran Bobbala

  • Multi Mapping error

    Hi,
    I am required to have a IP recieve 3 IDOC types triggered from BD10 . It can trigger 3 or more IDOCs. For Eg.
    1 ARTMAS (only 1) , 2 INFRECs and 1 LIKOND.
    If anyone IDOC has come then after a waiting period of 1 minute it should come out of FORK.
    My IP is like this.
    In a FORK there are 4 branches.
    1) ARTMAS receiver
    2) Loop(infinite) with INFREC Receiver and a Container Operation to collect all IDOCs
    3) Loop(infinite) with LIKOND Receiver and a Container Operation to collect all IDOCs
    4) A wait Step with a container operation to initialize endtime variable
    necesary branches: 4
    The Fork Comes out when the end condition is met ie the End variable is Set or if all the IDOCS have  come.
    Corelation on MATNR.
    Next I have the transormation and send step.
    In the MM i have 3 Source and 1 Target.
    Artmas 0-1 occurance
    INFREC 0 - unbounded
    LINKND 0-unbounded
    I have created the Target with External Definition and have set the correct occurance in the XSD file
    I have mapped the neceessary Segments from INFREC and LIKOND and all the Segments of ARTMAS to the Target structure.
    In SXMBMONI it says error on Outbound side and
    I see Mapping Exception  when I seen in WORKFLOW.
    Is my design Correct?
    I have tested the Interface & Message Mapping they are correct
    Request your help.
    John Rajesh
    <?xml version="1.0" encoding="utf-8" ?>
    - <MappingTrace>
      <Trace level="1" type="T">Mapping-Namespace:http://test.com/usa/SapRetail/ARTICLE_CLASSIFY/TESTDEMO</Trace>
      <Trace level="1" type="T">Mapping-Name:IM_ARTMAS04_TO_ZARTMAS04_PUB01</Trace>
      <Trace level="1" type="T">Mapping-SWCV:00000000000000000000000000000000</Trace>
      <Trace level="1" type="T">Mapping-Type:JAVA</Trace>
      <Trace level="1" type="T">Mapping-Program:com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="3" type="T">Multi mapping required.</Trace>
      <Trace level="3" type="T">Creating Java mapping com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_.</Trace>
      <Trace level="3" type="T">Load b8f12d30-2c45-11da-90af-ef160a892024, http://test.com/usa/SapRetail/ARTICLE_CLASSIFY/TESTDEMO, -1, com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_.class.</Trace>
      <Trace level="3" type="T">Search com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_.class (http://test.com/usa/SapRetail/ARTICLE_CLASSIFY/TESTDEMO, -1) in swcv b8f12d30-2c45-11da-90af-ef160a892024.</Trace>
      <Trace level="3" type="T">Loaded class com.sap.xi.tf._MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns4:Messages/ns4:Message1/ZARTMAS04_PUB/IDOC. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:292) at

    Check the following
    1. Have u mapped the root level element?
    2. Inside interface mapping, when u say read interface, is it diplaying both the interface.
    Also check ur input
    may be u r not providing proper input
    Regards,
    Prateek

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

  • SP14 Multi-mapping - error in receiver idoc adapter

    Hi,
    I have a scenario where a business service should send some XML to SAP CRM. I get the file via a sender JMS adapter and try to post it to CRM via a receiver IDOC adapter.
    I have created a multimapping (1:N - 1 XML file to many Idocs) as should in the repository.
    In the configuration under Interface Determination, I have chosen 'RB_SPLIT' and selected the interface multimapping.
    It should be pointed out, that when testing both interface and message mapping i get no error. All idocs seem to be created as they should.
    When testing the setup 'real life' the message fails. The error message in the monitor says:
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_WRONG_INTF</SAP:Code>
      <SAP:P1>InterfaceCollection</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Unable to interpret IDoc interface InterfaceCollection</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Notice that the above error is when trying to send only 1 record, which in turn then should result in only 1 idoc.
    If trying to send multiple XML records, i get the following error:
    - <!--  Technical Routing
      -->
    - <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">MMF_ENGINETYPE</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>A system error occurred in the outbound binding</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    In the monitor in the payload of 'Request message mapping' I see as many Maindocument, Submaindocument pairs as should be Idocs.
    Now i really don't know how to interpret the error messages in both cases, so I'm a little lost here...
    It should be pointed out that the idoc being used everywhere in this scenario, has not been modified - from all places it is being used (and only exists) in the 'Imported objects | Idocs' place.
    Also the Idoc is also being used as Inbound interface - so no mistakes here either.
    I really hope someone can help me here, as I'm otherwise pretty stuck in this case.
    Best regards,
    Daniel

    Hi Daniel,
    I have exactly the same type of scenario (under SPS14 and now also SPS15), sending an XML message over JMS to XI and trying a multi-mapping to many IDocs (actually a list of orders in XML is mapped to n ORDERS Idocs).
    I also face problems doing so, when I use the IDoc Adapter as outbound in the Receiver Agreement. I receive the following error:
    <i>CO_TXT_MMF_ENGINETYPE
    Messages in multi message format can be sent to one adapter engine only</i>
    However, I tested the same scenario by just changing the Receiver Agreement to a File Communication Channel and - surprise, surprise - it works. One file per IDoc is created.
    Of course, this is not what we want to accomplish, but when I checked this piece of documentation (sorry another link
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
    the IDoc adapter is not listed in the list of Adapters that are supported. Does that mean, that this feature is not supported for generating IDocs? Maybe that's a question for a SAP OSS Message?
    I hope that helped you a little further - if you find out more I'd be happy to learn about it.
    regards,
    Peter

  • Multi mapping with out BPM

    HI ALL ,
           I am trying to do multi mapping with out using BPM .I will get message from the sender and i need to send that to two different target system. I have defined the mapping in the IR . In ID i  have created the configuration scenario and i have created the receiver determination .In receiver determination i have selected "EXTENDED" and when i select input help for mapping name it says "NO Object found". What else should i do get the mapping program here .
    Regards,
    Tarun.

    Bhavesh,
    I'm sorry but if he needs 2 different receivers, then it's not the case of using Enhanced Interface Determination.
    sapuser,
    if you scenario is asynchronous, then it's easily implemented.
    But it won't be achieved with multimapping.
    You'll have 2 receivers in receiver determination (normal RD, not enhanced). For each of those, you'll have to create a separate simple mapping (that will generate the message expected at each receiver system) and refer that mapping in the interface determination of each receiver.
    For example, you have input_message containing data1 and data 2. You'll have 2 simple mappings (not a multimapping), 1 generating output_message_1 containing data1 and the other generating output_message_2 containing data2. Then refer those mappings in the proper interface determinations.
    Regards,
    Henrique.

  • Multi-mapping for ibound IDOC

    Hi! All
    It would be of great help if you provide your suggestions on:
    Mapping one XML source file to 6 IDOC receivers, 2 of them are of the same type and 4 are distinct idoc types.
    I tried multi-mapping and received the following error:
    "Messages in multi-message format can only be sent to one Adapter Engine"
    Looks like IDOC adapter does not support multi mapping...
    Can you please suggest any other option apart from using BPM(since it consumes lot of resources).
    Thanks a lot!!
    Regards,
    Patrick

    Hey
    its not possible to do Multimapping over IDOC's without BPM.
    other way around can be to do a single -single scenario,suppose u have 6 IDOC's to post then u need to design 6 different scenarios for them.
    without BPM you cant do multimapping for IDOC or HTTP
    Thanx
    Aamir
    Message was edited by:
            Aamir Suhail

  • Multi-Mapping without BPM

    Hi ,
    I am following this weblog
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    but stuck up with what are the fields contained by ID in target message2 ...
    Please check this for your clarification
    http://www.flickr.com/photos/11212307@N08/1135395357/
    Thanks
    dushanth

    ID will have only ID under it. instead of creating flat structure like the one above Jin has changed the strucutre below . you will have only ID field in it or you want u can add other fields in it .
    Regards
    Sreeram.G.Reddy

  • Multi-mapping 1:n - 1:1

    Hi,
    We are using multi-mapping in a file-to-file interface. When we have 1:n everything is ok, but when we have 1:1 we have this error:
    Success The message status set to DLNG.
    Error Unable to find channel ID
    Error Delivery of the message to the application using connection AFW failed, due to: Couldn't find delivery channel for message: f285a9a0-4a74-11dc-b843-00145e1b2f3d.
    We need this interface working for both 1:n and 1:1 situations.
    Any idea?
    Thanks for your help:)

    Hi Diana !!
    Check this thread:
    Re: Couldn't find delivery channel !!!
    Regards,
    Matias.

Maybe you are looking for