Mapping objects

hi expects,
can any body tell me about mapping objects .and what is use of message mapping,java mapping ,xslt mapping,abap mapping.
                                                                         thank you

Hi Rohit,
  XI provides 3 standard ways of interface mapping between source and target.
     1)Graphical mapping
     2)Java mapping
     3)XSLT mapping
Two more additional mapping types can be activated in XI by making changes to the exchange profile. Those two mappings are
     1)ABAP mapping
     2)XSLT mapping with ABAP Extensions
      Graphical mapping is a common approach followed by everyone for generating desired target structure. It involves simple drag-n-drop to correlate respective nodes (fields) from source and target structure. It hardly involves coding. (Exception – User defined functions).   But sometimes with graphical mapping it is difficult to produce required output. For example … text/html output, namespace change, sorting or grouping of records etc. A person comfortable with Object Oriented ABAP can go for ABAP mapping instead. One can also think of Java mapping as another option but it is a bit complex and required knowledge of Java. In such cases, XSLT mapping can be the best approach to meet the requirements.
A few example cases in which an XSLT mapping can be used:-
1)When the required output is other than XML like Text, Html or XHTML (html displayed as XML )
2)When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
3)When data is to be filtered based on certain fields (considering File as source)
4)When data is to be sorted based on certain field (considering File as source)
5)When data is to be grouped based on certain field (considering File as source)
>>>Advantages of using XSLT mapping
1)XSLT program itself defines its own target structure.
2)XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
3)XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
4)File content conversion at receiver side can be avoided in case of text or html output.
5)Multiple occurrences of node within tree (source XML) can be handled easily.  
6)XSLT can be used in combination with graphical mapping.
7)Multi-mapping is also possible using xslt.
8)XSLT can be used with ABAP and JAVA Extensions.
>>>Disadvantages of using XSLT mapping
1)Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
2)Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
3)XSLT mapping requires more memory than mapping classes generated in Java.
4)XSLT program become lengthier as source structure fields grows in numbers.
5)XSLT program sometimes become complex to meet desired functionality.
6)Some XSL functions are dependent on version of browser.
Regards,
Prasanthi.

Similar Messages

  • Interface mapping Object does not exist in runtime cache

    I am getting the following error after importing IR into our test system (PI7.0 SP10).
    Interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 does not exist in runtime cache Exception of class CX_XMS_SYSERR_MAPPING
    You want to execute interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 .     However,the data of this interface mapping is missing in the runtime cache. Activate the interface mapping in the Integration Repository.
    I cannot change the mapping and reactivate - as this cannot be changed.
    I have run SXI_Cache, Cleared SLD caches on IR and ID and run cacherefresh=full, but no luck!
    The mapping is there and I can test it in the IR.
    Any thoughts?

    I had this problem today, maybe this helps someone when searching about this (at least this is the first hit at a very big search engine when searching for interface mapping does not exist...)
    I have a RFC => PI => File scenario. I was aware that this would need to be asynchronous so I set up the message interface (service interface for PI > 7.0) as asynchronous inbound. This is the file receiver part of the interface.
    Hints on the error: Audit Log in message details of RWB showed a line like this: RFC adapter received sRFC for ZMY_FM from <sender SID>/<sender client>. Attempting to send message synchronously. This of course could not work as file is asynchronous by default.
    Bottom line however was, to make the call of the sender RFC asynchronous by using "in background task" like so:
    CALL FUNCTION 'ZMY_FM'
       IN BACKGROUND TASK
       DESTINATION 'PI_DEST'
       EXPORTING
         t_file = lt_file.
    COMMIT WORK.
    Don't forget the commit work here.
    Hope this helps.
    Cheers
    Jens

  • Problems with User Defines Mapping Objects - Dynamic Configuration

    We have a mapping object that takes data passed in from R3 and does an HTTP Post to another system using a URL and file name that is passed from the header record. We had a consultant set this up for us last year and in creating the new one we just pretty much copied what he did. The problem is, it is not working for us. We have the url and file name, we pass it to the user defined code that is supposed to pass it to the url and file name in the configuration. The java code looks like this:
    public String getPcurlOut(String pcurl,Container container){
    String ourSourceFileName = "START";
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    if (conf != null) {
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","Directory");
    conf.put(key, pcurl + ".xml");
    ourSourceFileName = conf.get(key);
    } else {
    ourSourceFileName = "conf == null";
    Basically we want to pass a url and file name to our communication channel based on values that come from our file in R3
    It is almost exactly like the one that works. Can anyone help with this?
    Thanks
    Mike
    Message was edited by:
            Michael Curtis

    Hi Michael
    <i>Basically we want to pass a url and file name to our communication channel based on values that come <b>from our file in R3</b></i>
    --> This means you have file as a sender adapter.
    Check adapter specific message properties in sender adapter.
    Please refer this blog , it is really worth.
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Also
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","Directory")
    Try writing this as
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","<b>FileName</b>")
    Regards

  • Interface Mapping Object - No class definition found

    Hi
    I have created a simple Interface Mapping in the Integration Repo. When i try to TEST the interface mapping i get class not found errors.See the stacktrace below.
    LinkageError at JavaMapping.load(): Could not load class: com/sap/xi/tf/_PO_MAPPING_
      - java.lang.NoClassDefFoundError: Illegal name: com/sap/xi/tf/_PO_MAPPING_
    Looks like some standard sap packages are missing from the CLASSPATH. Anyidea where it has to be specified ?
    PO_MAPPING is the message mapping object i have created and the test is successful for this object.However when i reference it in Interface Mapping , i get the above errors.
    I suppose XI generates Java Code when i create these objects and the mappings.Any idea where the JVM seems to reference these packages and How to rectify it ?
    Thanks
    Saravana

    Hi,
    Please check whether you have applied note 755302.
    - Sreekanth

  • Interface mapping Object _Doesn't exist in RuntimeCache_Error_SXMB_MONI

    Hi  EXperts ,
    Issue in XI --Dev System
    I have an simple IDOC  (DESADV.DELVRY03) ->Flat File Scenario . Mapping is done as per the Line of Business requirements .
    I have tested mapping and  I get the response as expected.
    We released the IDOC (Outbound Processing ) in SAP R/3 , but I get the mapping error in SXMB_MONI.
    Error:
    SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
      <SAP:P1>Object ID 61CFAE955F1A345ABEA3081C92818052 Software Component C31B3EB0F7B811DFC3F3ECDD0AE005A3</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Interface mapping Object ID 61CFAE955F1A345ABEA3081C92818052 Software Component C31B3EB0F7B811DFC3F3ECDD0AE005A3 does not exist in runtime cache</SAP:Stack>
    Activtaed the Interfcae mapping and refeshed the  configurtaion Object :  Interface , Receiver Determination.Noticed  that we have error in Cache Notifictaion --Design Part . The Configuration --Cache update is fine.
    I have raised the Ticket to resolve this error.
    But as this was high proirity task to be delivered,how can i try fixing this issue myself . I have tried couple of times, creating new interface mapping , activating , referring new interface mapping in : Interface , Reciever Determination but nothing fix this issue.
    Please provide me inputs.
    Thanks,
    Vara

    Thanks to all of your for your support .
    Yes as Udo said , I  did reassign the Interface mapping in : Interface Determintaion / Reciever Determination and activated .
    Buta s this isuse was in Development System , and I reliased that there was mismatch of Password entered for : PIAPPLUSER --pipeline user  and Cache Error  with SLD  in Design . Configurtaion / SLD .
    Raised ticket for Cache Error which got solved . Resetting password of PI service user also worked .
    Release new IDOC in WE19(--outbound DESADV.DELVRY03) and it was successfully processed  to File(xml).
    Best Regards,
    Varalakshmi

  • 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

  • Non BPM process - no mapping object found in interface determination

    I'm working on a non BPM synchronous process of kind HTTP=>XI=>RFC
    I completed my design and onto config now. I created receiver determination for HTTP (no sender agreement) and receiver determination for RFC. In my interface determination I cannot find mapping objects.
    I included in HTTP service, the request, sync and response message and RFC shows up naturally with RFC objects.
    Any ideas. I've been struggling with this for over a day now.
    Thanks.

    Hi Parimala -
    Just to clarify, for this scenario, here's what you need:
    <b>Design</b>
    1. One Message Interface (outbound/synchronous) corresponding to your HTTP request/response.  You don't need a Message Interface nor Message Type for your inbound/synchronous RFC.
    2. Request Mapping corresponding to request
    - HTTP request Message Type to imported RFC (request)
    3. Response Mapping corresponding to response
    - RFC.response to some Message Type for the response
    4. Interface Mapping
    - interfaces: your outbound/sync Message Interface corresponding to HTTP request to imported RFC
    - at bottom request tab, select your Request mapping (#2 above)
    - at bottom response tab, select your Response mapping (#3 above)
    <b>Config</b>
    When you say the following:
    >>><i>I completed my design and onto config now. I created receiver determination for HTTP (no sender agreement) and receiver determination for RFC.</i>
    Don't know if that's a typo, but there should only be one receiver determination based on your sending system/service, sending interface (HTTP one), and interface namespace.
    Confirm the above steps and see if that helps.
    Regards,
    Jin

  • What is the Use of Imported Archives in Mapping Objects

    Hi All,
    What is the Use of Imported Archives in Mapping Objects ( IR )
    Regards
    Vamsi

    Hi Vamsi,
    When we are doing JAVA , XSLT mappings we have to do import archievs
    after developing the JAva mapping in NWDS and create jar file come back to IR under imported archieves we will import the jar file.
    Similarly XSLT als make the zip and import under imported archieves
    Also when we have any java packages ,import it under archieves and make them to use in UDF
    See the below links
    XSLT Mapping
    /people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
    /people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    XSLT Mapping with java enhancement
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-iii
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.highlightedcontent?documenturi=%2flibrary%2fxi%2fxi-design_configuration%2ffileValidationsinSAPXI-ACaseStudy.pdf
    Check this thread...
    Reusability of User-defined Functions
    Check this thread...
    Re: User-defined function in multiple Message Mappings
    Using external JARs in Web Dynpro Dev.Component
    see sap documentation:
    http://help.sap.com/saphelp_nw04s/helpdata/en/4c/b2ad3de2d76b3be10000000a114084/frameset.htm
    Cheers...
    Vasu
    <b>** REward POints if found useful **</b>

  • Mapping Objects Missing in ESR

    Hi All,
    currently in my PO dev system mapping objects are missing
    Service Pack Version: 05
    Release:NW731EXT_10_REL.
    please advice me how to do it .

    hi Vidya,
    Please share more information. What do you mean by no Mapping objects available.
    Do you mean u are creating objects but its getting disappeared.
    or are you expecting some pre-delivered objects.
    Please share more details.
    thanks and regards,
    Praveen t

  • Convert Map String, Object   to    Map Object, Object

    is there any way to convert a map of type Map<String, Object> to a map of type Map<Object, Object>? I tried casting it did not work

    You can also take the long way around:
        Map<Object, Object> map = (Map<Object, Object>)buildMapObject(
          new String[] { "1", "2", "3" },
          new Object[] { new Integer(1), new Integer(100), new Integer(1000) });
      public Object buildMapObject(String[] s, Object[] o) {
        Map<String, Object> map = new HashMap<String, Object>();
    // Populate map from arguments
        return map;
      }Though why you'd want to do that is beyond me.

  • List of Map objects with html:options collection

    Hello All,
    I'm trying to get an arraylist of map objects to display dynamically as a dropdown select with html:options collection. I've spent hours on this and I haven't been able to get it working. Any ideas as to how this is done?
    Thanks,
    James

    An arraylist of Map objects?
    What is it that you want to show up in the dropdown box - all the name value pairs included in all the maps of the list?
    Assuming with a Map the "key" is what you want submitted and the "value" is what to display to the user
    Definitely sounds like a double loop structure is required. One to loop through all the maps. Another to generate all the options in each map.
    This one does it at the basic level of things
    <c:forEach var="map" items="${listOfMaps}">
      <c:forEach var="entry" items="${map}">
        <html:option value="${entry.key}">${entry.value}</html:option>
      </c:forEach>
    </c:forEach>The following might also work.
    <c:forEach var="map" items="${listOfMaps}">
      <html:options collection="map" property="key" labelProperty="value"/>
    </c:forEach>Cheers,
    evnafets

  • Interface mapping Object doesn't exist in runtime cache

    Hi SDN,
    Now I am trying to finish a senario that Getting an IDOC of R/3 into a file by XI. I can get the xml message by tcode IDX5, but always get the following error infromation by IDX5:
    ===============
    Interface mapping Object ID E4815D26AD5B35D2B89A5557DBE045E7 Software Component 2F1990F0E66D11DB9DC2C239C0A8007A does not exist in runtime cache
    ===============
    What happens?
    Thanks for your time ahead!
    Bruce

    HI,
    See the below links
    /people/sravya.talanki2/blog/2005/12/02/sxicache--ripped-off
    XI Runtime cache error: Cache contents are obsolete
    Cache Refresh - SAI_CACHE_REFRESH
    /people/sravya.talanki2/blog/2005/11/03/cache-refresh-errors--new-phenomena
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1a69ea11-0d01-0010-fa80-b47a79301290
    Regards
    Chilla

  • ORA-07445 Invalid Permissions For Mapped Object

    I have query that is using the new Result Cache hint in Oracle 11g (release 2). The query when rendered started producing the error listed below in the alert file and created trace and core dump files:
    ORA-07445 exception encountered: core dump [qesrcIter_PutRow()+4272] [SIGSEGV] [(some address here)] [PC:0x102BD7370] [Invalid permissions for mapped object] []
    Does anyone know what might be the cause of the above error?

    Hi;
    ORA-07445 : internal error code, You are getting oracle internal error(ORA 600) which mean you could need to work wiht oracle support team. Please see below note, if its not help than i suggest log a sr:
    Troubleshoot an ORA-600 or ORA-7445 Error Using the Error Lookup Tool [ID 153788.1]
    Regard
    Helios

  • Memory leaks in C++(OCCI ) for OTT generated C++ mapping objects with Oracl

    Our application is in C++ which interfaces with Oracle 10g database using OCCI. The mapping objects are created using OTT. The type of these mappisng objects in PersistentObject. Our development machine(Solaris 8) and database machine are different. So we have installed the "instantclient-basiclite-solaris6432-10.2.0.3-20070101.zip" to use OTT and OCCI on development machine. We are running purify in our application, Purify is reporting memory leaks on these OTT generated POObjects (type used is transient Objects), despite the fact that we are deleting these objects appropriately. .

    Since OTT generated code uses the STL data structures vector list etc.
    STL are not standard across platforms and hence you can ignore these warnings.

  • J2me and Esri Map Objects

    Hello all j2me developers:
    I want to show the map of the city i live on my phone as a city guide, For this, I think using Esri map objects java edition. But I don't have enough information about this subject.If is there someone has information about this, I ask some help.
    thanx everyone
    Message was edited by:
    ahmets43
    Message was edited by:
    ahmets43

    good luck !!!
    http://www.esri.com/software/mojava/about/sys-reqs.html

Maybe you are looking for

  • Date field input help - changing first day of the week

    Hi, I need to change the starting day of the week  in a date field value help. I also need to change the days name in this calender. Thanks in Advance, Dekel.

  • SQL PLUS acitvity in process flow

    I looked at other threads and did exactly the same but I am getting a error. Any ideas. I created a variable as counter. In sqlplus activity Paramter List I did not do anything. for result code I did the binding as counter which is my variable.In scr

  • Lightning to 30-pin Adapter not work properly with iPhone 5s

    Lightning to 30-pin Adapter (0.2 m)       with iPhone 5s working good with power adapter and 30-pin cable, but how iPhone at 100% power, I see message "This accessories is not working correctly". But with iPad mini 1 everything is OK.

  • FM9 Save CMYK As PDF again: different results for instances of one character

    Hi,   A customer sent me an FM9 document that uses the Symbol font. When he saves the document as PDF, without converting CMYK to RGB, one instance of a character in this font appears in the PDF as a different character in the same font. Other instan

  • Web Proxy Server Load Balancing

    I deployed Sun Jave Web Proxy Server 4.0 as a Reverse Proxy. I would also like to use it as a load balancer. As per the instructions, I configured the obj.conf file as shown below Route fn="set-origin-server" server="https://xx.xx.xx.xx" server="http