XSL mapping program

Hello frenz,
         Can anyone give me a sample XSL mapping program with proper explanations. I just want to know how to coin the coding for mapping. U'll be rewarded with points if it's with proper documentation.
                            thank u frenz..
praveen.

hey suraj,
        Thank u for ur reply and
       this is my email id : [email protected]
                                 ---praveen

Similar Messages

  • How can we test XSL mapping program

    Hi Experts,
    I have XSL mapping program. How can I test this program.
    Please tell me how can I test this file.
    Thanks
    Balaprasad

    Please download xml tools like XML SPY/ALTOVA/ COOKTOP.
    YOu can test your XSL mapping using these tools.
    Alternatively, you have to create a Interface mapping in XI, using your XSL mapping.
    Then you can test using test TAB in the interface mapping.
    cooktop download:
    http://www.xmlcooktop.com/update/
    Regards,
    Ravi

  • Performance of XSL Mapping in the ABAP Engine

    Hi All,
    Is the performance of XSL Mapping in the ABAP Engine better than java and graphical mapping. XSLT on the java stack has performance issue handling large documents.I want to know how far XSL Mapping in the ABAP Engine performs when compared to java/graphical mapping in the context of large inputs(>1MB).
    Anticipating your valuable inputs.
    Regards,
    Sudharshan N A

    Hi Sudarshan,
       Please go through the below link for a very clear understanding of the performance of the Mapping techniques...
    /people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
    Hope this helps
    Regards
    Kiran..

  • Mapping Programs

    Hi Expets,
    We know that there are different mapping programs are available in XI environment like Graphical Mapping, Java Mapping, ABAP Mapping and XSLT Mapping. But on what basis we will choose one of these mapping programs?
    I mean, which constraints would make me to choose specific mapping program?
    Thanks,
    Vijay Kumar T.

    Hi Vijay,
    This is a very good question!!!
    We need to decide  mapping based on performance ,response time and complexity.It is found that, one should try Graphical mapping first, and if its not possible by this,then go for other mappings.
    see here for more detalis of mapping
    /people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
    At what situations we will go for ABAP mapping?
    See these threads of similer discussion
    ABAP Mapping
    when we wil go for abap mapping ??
    abap mapping
    ABAP Mapping
    A few example cases in which an XSLT mapping can be used:-
    When the required output is other than XML like Text, Html or XHTML (html displayed as XML)
    When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
    When data is to be filtered based on certain fields (considering File as source)
    When data is to be sorted based on certain field (considering File as source)
    When data is to be grouped based on certain field (considering File as source)
    Advantages of using XSLT mapping
    XSLT program itself defines its own target structure.
    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.
    XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
    File content conversion at receiver side can be avoided in case of text or html output.
    Multiple occurrences of node within tree (source XML) can be handled easily.
    XSLT can be used in combination with graphical mapping.
    Multi-mapping is also possible using xslt.
    XSLT can be used with ABAP and JAVA Extensions.
    Disadvantages of using XSLT mapping
    Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
    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.
    XSLT mapping requires more memory than mapping classes generated in Java.
    XSLT program become lengthier as source structure fields grows in numbers.
    XSLT program sometimes become complex to meet desired functionality.
    Some XSL functions are dependent on version of browser.
    see these also .. u might need this some day!!
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
    Some scenarios
    /people/sap.user72/blog/2005/03/15/using-xslt-mapping-in-a-ccbpm-scenario
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    JAVA mapping
    How is JAVA mapping different from Graphical, XSLT and ABAP mapping?
    Graphical mapping is an easiest and 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 may involve Java UDFs as a part of the mapping program. But sometimes with graphical mapping it is difficult or it may seem impossible 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 XSLT mapping as another option. In such cases, when java mapping is used the developer has full control over the message content and could manipulate it based on the output requirement. Hence, java mapping can prove to be an efficient approach.
    A few example cases in which Java mapping can be used:-
         When the required output is other than XML like Text, Html or XHTML (html displayed as XML).
         When the data is to be extracted from input which is in text format.
         When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
         When data is to be filtered, sorted or grouped based on certain fields (considering File as source)
    Advantages of using Java mapping
         Java program itself defines its own target structure.
         File content conversion at sender side can be avoided in case of text or html input.
         File content conversion at receiver side can be avoided in case of text or html output.
         Java can be used in combination with graphical mapping.
         Multi-mapping is also possible using Java mapping.
         Using Mapping Runtime constants we can determine all message related information such as Message ID, sender service etc.
         Disadvantages of using Java mapping
         Once the java mapping has been imported into XI, to incorporate any further changes one has to compile the java program and import the class file again into XI.
    Thanqs
    Biplab

  • XSL mapping

    Hi Experts,
    I imported the XSL file, it contains the mapping program....Issue is
    Here the value entering in BELNR has to divided in such a way that we discard the first three alphabet and retain the remaining part . Substring function has to be used with staring string 3 and number of characters 10 .
    Could you suggest how to test xsl mapping...or should i modify it in notepad and then upload and test in IR itself
    Many Thanks
    Bijal:)

    To test the XSLT Mapping:
    -Zip the .xslt file and import the zip into Improted Archive
    -Then create the new Interface Mapping or you can copy old Interface Mapping by right clicking on the Interface Mapping where you required to use XSLT mapping
    btw, if you are using xslt or java mapping, you need to just use this in the Interface Mapping.
    -In interface mapping, you can see the drop down list to select type of mapping and proceed further. It will direct you .
    Note: reward points if solution found helpfull
    Regards
    Chandrakanth.k

  • One mapping program for three diferent enviroments

    Hello there,
    I have developed a scenario in which an rfc requests a web service trough XI. In the process a BPM is involved together with some XSLT mappings.
         R3->XI->WebService
    The Web service request message looks like follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <cem:Z_ORDER_SEARCH xmlns:cem="http://XXXXXXXX/yyyyyyyyyyyy">
         <messageStructure/>
    </cem:Z_ORDER_SEARCH>
    Where "http://XXXXXXXX/yyyyyyyyyyyy" Is the web service destination.
    Everything works fine, but as I have to manage three different environments for Development, Quality and Production I need three different versions of the XSL mapping since destinations are not the same for Dev, Qlty and Production environments.
    I found out that I can get information of the sender using runtime parameters as follows:
    <xsl:param name="SenderSystem">
    I would like to evaluate this information to determine the target URL destination.
    If the sender is the development sender then the URL target is the development destination and so on.
    I tried the following code:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
    xmlns:cemDev="http://developmentDestination"
    xmlns:cemQlty="http://qualityDestination"
    xmlns:cemPrd="http://productionDestination"
    xmlns:cem=""
    <xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemDev"/>
    <xsl:template match="/">
         <cem:mappingProgram/>
    </xsl:template>
    </xsl:stylesheet>
    This works all right, but I cannot insert code to evaluate the destination.
    On the other hand, this code is not valid:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
    xmlns:cemDev="http://developmentDestination"
    xmlns:cemQlty="http://qualityDestination"
    xmlns:cemPrd="http://productionDestination"
    xmlns:cem="">
    <xsl:param name="SenderSystem"/>
         <xsl:choose>
              <xsl:when test="string($SenderSystem) = 'PRODUCTION'">
                   <xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemPrd"/>
              </xsl:when>
              <xsl:when test="string($SenderSystem) = 'QUALITY'">
                   <xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemQlty"/>
              </xsl:when>
              <xsl:otherwise>
                   <xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemDev"/>
              </xsl:otherwise>
         </xsl:choose>
         <xsl:template match="/">
              <cem:mappingProgram/>
         </xsl:template>
    </xsl:stylesheet>
    Neither this one:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
    xmlns:cemDev="http://developmentDestination"
    xmlns:cemQlty="http://qualityDestination"
    xmlns:cemPrd="http://productionDestination"
    xmlns:cem="">
            <xsl:param name="SenderSystem"/>
            <xsl:template match="/">
         <xsl:choose>
              <xsl:when test="string($SenderSystem) = 'PRODUCTION'">
                   <xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemPrd"/>
              </xsl:when>
              <xsl:when test="string($SenderSystem) = 'QUALITY'">
                   <xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemQlty"/>
              </xsl:when>
              <xsl:otherwise>
                   <xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemDev"/>
              </xsl:otherwise>
         </xsl:choose>
         <cem:mappingProgram/>
          </xsl:template>
    </xsl:stylesheet>
    I tried this other code, which is obviously not valid:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
              <xsl:param name="SenderSystem"/>
              <xsl:choose>
                   <xsl:when test="string($SenderSystem) = 'PRODUCTION'">
                        <cem:Z_ORDER_SEARCH xmlns:cem="http://productionDestination">
                   </xsl:when>
                   <xsl:when test="string($SenderSystem) = 'QUALITY'">
                        <cem:Z_ORDER_SEARCH xmlns:cem="http://qualityDestination">
                   </xsl:when>
                   <xsl:otherwise>
                        <cem:Z_ORDER_SEARCH xmlns:cem="http://developmentDestination">
                   </xsl:otherwise>
              </xsl:choose>
         <cem:mappingProgram/>
    </cem:Z_ORDER_SEARCH>               
         </xsl:template>
    </xsl:stylesheet>
    So the only way I found to make it works is like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
              <xsl:param name="SenderSystem"/>
              <xsl:choose>
                   <xsl:when test="string($SenderSystem) = 'PRODUCTION'">
                        <cem:Z_ORDER_SEARCH xmlns:cem="http://productionDestination">
         <cem:mappingProgram/>
                        </cem:Z_ORDER_SEARCH>
                   </xsl:when>
                   <xsl:when test="string($SenderSystem) = 'QUALITY'">
                        <cem:Z_ORDER_SEARCH xmlns:cem="http://qualityDestination">
         <cem:mappingProgram/>
                        </cem:Z_ORDER_SEARCH>
                   </xsl:when>
                   <xsl:otherwise>
                        <cem:Z_ORDER_SEARCH xmlns:cem="http://developmentDestination">
         <cem:mappingProgram/>
                        </cem:Z_ORDER_SEARCH>               
                   </xsl:otherwise>
              </xsl:choose>
         </xsl:template>
    </xsl:stylesheet>
    Unfortunately this doesn’t solve my problem, because I need to reproduce the mapping program three times in the document.
    Any ideas, or suggestions how to manage one mapping program for the three different environments?
    Thanks a lot in advance, Raú

    Hi there,
    I just found one way of getting this done. It may not be the better waw, but I post it in case it is helpfull.
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
         <!-- Sender System at runtime-->
         <xsl:param name="senderSystem"/>
         <!-- SenderSystem constants (development addressed by default)-->
         <xsl:variable name="qualitySenderSystem" select="'WHATEVERTHENAMEOFTHEQUALITYSENDERSYSTEM'"/>
         <xsl:variable name="productionSenderSystem" select="'WHATEVERTHENAMEOFTHEPRODUCTIONSENDERSYSTEM'"/>
         <!-- Mapping program template to be called-->
         <xsl:template name="mappingProgram" match="/">
              <!-- MAPPING PROGRAM-->
              <UNIQUE_MAPPING_PROGRAM/>
              <!-- END OF MAPPING PROGRAM-->
         </xsl:template>
         <!Receiver determination depending on senderSystem>
         <xsl:template match="/">
              <xsl:choose>
                   <xsl:when test="$senderSystem=$productionSenderSystem">
                        <xxx:Z_ORDER_SEARCH xmlns:xxx="http://production">
                             <xsl:call-template name="mappingProgram"/>
                        </xxx:Z_ORDER_SEARCH>
                   </xsl:when>
                   <xsl:when test="$senderSystem=$qualitySenderSystem">
                        <xxx:Z_ORDER_SEARCH xmlns:xxx="http://quality">
                             <xsl:call-template name="mappingProgram"/>
                        </xxx:Z_ORDER_SEARCH>
                   </xsl:when>
                   <xsl:otherwise>
                        <xxx:Z_ORDER_SEARCH xmlns:xxx="http://development">
                             <xsl:call-template name="mappingProgram"/>
                        </xxx:Z_ORDER_SEARCH>
                   </xsl:otherwise>
              </xsl:choose>
         </xsl:template>
    </xsl:stylesheet>

  • XSL mapping of ARTMAS IDoc - carriage returns and white space

    Hi all. I have tried all sorts here and am completely stuck. I am mapping an article master ARTMAS IDoc using XSL mapping and an extra carriage return and white space characters are being added to the FIELD1 and FIELD2 fields of the E1BPE1MARAEXTRT segment and I don't know why! These fields contain all our bespoke field values joined together so they are 229 and 250 characters long respectively, which I think is related to the problem. The mapping program looks like this:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" indent="yes"/>
    <xsl:template match="/">
    <ARTMAS04>
    <IDOC>
      <xsl:copy-of select="//ARTMAS04/IDOC/EDI_DC40"/>
      <xsl:copy-of select="//ARTMAS04/IDOC/E1BPE1MATHEAD"/>
      <xsl:copy-of select="//ARTMAS04/IDOC/E1BPE1MARART"/>
      <xsl:copy-of select="//ARTMAS04/IDOC/E1BPE1MARAEXTRT"/>
      <xsl:copy-of select="//ARTMAS04/IDOC/E1BPE1MAKTRT"/>
      <xsl:for-each select="//ARTMAS04/IDOC/E1BPE1MARCRT">
        <xsl:if test="(PLANT='D100') or (PLANT='D200') or (PLANT='D300')">
          <xsl:copy-of select="."/>
        </xsl:if>
      </xsl:for-each>
      <xsl:copy-of select="//ARTMAS04/IDOC/E1BPE1MARMRT"/>
      <xsl:copy-of select="//ARTMAS04/IDOC/E1BPE1MEANRT"/>
    </IDOC>
    </ARTMAS04>
    </xsl:template>
    </xsl:stylesheet>
    I have a test IDoc going through this and the first 3 characters of the FIELD1 are "BIK". If I look at the source of the XML file, the problem area looks like this:
    <E1BPE1MARAEXTRT SEGMENT="1">
          <FUNCTION>004</FUNCTION>
          <MATERIAL>000000000000895649</MATERIAL>
          <b><FIELD1>
            BIK</b>      0  0.00 T                                    000000001CARRERA FURY 04 20"     CARRERA FURY 04 20" 2005092420040622    X                    00000000   20031104 00200406140000000000                    0.00 0000000
          </FIELD1>
    You can't really see it above, but there is a carriage return and 8 white spaces before the BIK. Where does this carriage return and white space come from?! Any help would be really appreciated - this is driving me crazy!
    Many thanks,
    Stuart Richards

    Stuart,
    I think I know the cause to your problem. I am not an XSLT programmer but based on searching this forum I found how I can acheive the carriage return at the end of my document. Your xsl statement is as follows:
    <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" indent="yes"/>
    Change the indent value from yes to no. This should remove the carraige return. Hope this works for you.
    I actually need a carriage return and line feed on my document so I am still stuck. All I have acheived is the carraige return.
    Thanks,
    Jim

  • XI 2.0 Mapping Program Archive not imported

    Hi,
    I am working on XI 2.0 and using XSLT programs within a WinZip archive.  I have tested the mapping program outside of XI and all is OK/Well formed etc, but when I try to import the ZIP file containing the xsl template the imported archive is empty so that I do not see any mapping programs in the list of files within the archive.  I have tried then exporting the imported archive as a new zip file on the o/s and it contains the correct mapping programs.
    I have re-started the XI box and still have nothing working. 
    Please help..
    Mark

    Hi Theo,
    yes the mapping program is xsl.  I have sorted it out now, by simply re-starting XI and the local pc running the Java WebStart.
    Dont understand what the problem was, as I cannot now replicate it.. but thanks anyway..
    Cheers,
    Mark

  • How can I use index in xsl mapping

    Hi All,
    How can I use index in XSL mapping.

    Hi Shiva,
    I am using two more select queries with the same manner ....
    here are the other two select query :
    ***************1************************
    SELECT * APPENDING CORRESPONDING FIELDS OF TABLE tbl_summary
        FROM ztftelpt LEFT JOIN ztfzberep
         ON  ztfzberep~gjahr = st_input-gjahr
         AND ztfzberep~poper = st_input-poper
         AND ztfzberepcntr  = ztftelptrprctr
        WHERE rldnr  = c_telstra_projects
          AND rrcty  = c_actual
          AND rvers  = c_ver_001
          AND rbukrs = st_input-bukrs
          AND racct  = st_input-saknr
          AND ryear  = st_input-gjahr
          and rzzlstar in r_lstar             
          AND rpmax  = c_max_period.
    and the second one is
    *************************2************************
      SELECT * APPENDING CORRESPONDING FIELDS OF TABLE tbl_summary
        FROM ztftelnt LEFT JOIN ztfzberep
         ON  ztfzberep~gjahr = st_input-gjahr
         AND ztfzberep~poper = st_input-poper
         AND ztfzberepcntr  = ztftelntrprctr
        WHERE rldnr  = c_telstra_networks
          AND rrcty  = c_actual
          AND rvers  = c_ver_001
          AND rbukrs = st_input-bukrs
          AND racct  = st_input-saknr
          AND ryear  = st_input-gjahr
          and rzzlstar in r_lstar                              
          AND rpmax  = c_max_period.
    for both the above table program is taking very less time .... although both the table used in above queries have similar amount of data. And i can not remove the APPENDING CORRESPONDING. because i have to append the data after fetching from the tables.  if i will not use it will delete all the data fetched earlier.
    Thanks on advanced......
    Sourabh

  • ** How to use TO_DATE function in Stored Proc. for JDBC in ABAP-XSL mapping

    Hi friends,
    I use ABAP-XSL mapping to insert records in Oracle table. My Sender is File and receiver is JDBC. We use Oracle 10g database. All fields in table are VARCHAR2 except one field; this is having type 'DATE'.
    I use Stored procedure to update the records in table. I have converted my string into date using the Oracle TO_DATE function. But, when I use this format, it throws an error in the Receiver CC. (But, the message is processed successfully in SXMB_MONI).
    The input format I formed like below:
    <X_EMP_START_DT hasQuot="No" isInput="1" type="DATE">
    Value in Payload is like below.
    <X_EMP_START_DT hasQuot="No" isInput="1" type="DATE">TO_DATE('18-11-1991','DD-MM-YYYY')</X_EMP_START_DT>
    Error in CC comes as below:
    Error processing request in sax parser: Error when executing statement for table/stored proc. 'SP_EMP_DETAILS' (structure 'STATEMENT'): java.lang.NumberFormatException: For input string: "TO_DATE('18"
    Friends, I have tried, but unable to find the correct solution to insert.
    Kindly help me to solve this issue.
    Kind Regards,
    Jegathees P.
    (But, the same is working fine if we use direct method in ABAP-XSL ie. not thru Stored Procedure)

    Hi Sinha,
    Thanks for your reply.
    I used the syntax
    <xsl:call-template name="date:format-date">
       <xsl:with-param name="date-time" select="string" />
       <xsl:with-param name="pattern" select="string" />
    </xsl:call-template>
    in my Abap XSL.  But, its not working correctly. The problem is 'href' function to import "date.xsl" in my XSLT is not able to do that. The system throws an error. Moreover, it is not able to write the command 'extension-element-prefixes' in my <xsl:stylesheet namespace>
    May be I am not able to understand how to use this.
    Anyway, I solved this problem by handling date conversion inside Oracle Stored Procedure. Now, its working fine.
    Thank you.

  • TS1702 Maps program does not work. In standard it only shows a grid. If I ask for a route it shows start and end point and three route boxes but nothing else. It does show directions. If I switch to hybrid it shows to routes but no roads. Background is a

    Maps program does not work. In standard it only shows a grid. If I ask for a route it shows start and end point and three route boxes but nothing else. It does show directions. If I switch to hybrid it shows to routes but no roads. Background is a blur.

    Do you have a question? This is a user to user help forum. Apple is not here only other users like yourself. You don't report problems to Apple here.
    By the way, it might help if you indicated where you are located.
    To complain to Apple use http://www.apple.com/feedback/ipad.html

  • Do you have any plans to add user polygon (boundary) creation ability to your great Excel Power Map program ?

    Hi Microsoft Excel Power Map program team!
    I looked @ your Excel Power Map program add on, and it’s great.
    However everyone is looking for the ability for the user to create polygon (boundary) maps.
    It should not be that hard to add this functionality onto such a great map program you already have.
    For example: let’s say one has 10 latitude & longitude coordinates and he wants to see the polygon (boundary) of them on your great map. One should be able to just put those 10 latitude & longitude coordinates in an Excel sheet, fire up your Power
    Map, select that it should be plotted as a polygon (boundary) and it will display on the map.
    Does Microsoft have any plans to add user polygon (boundary) map creation ability to your great Excel Power Map program?
    I would also like to see Excel Power map have USA census tracts built into it just like is has USA zip codes built into it. Census data is also very important as thousands and thousands of people need to display polygon (boundary) for census tracts.
    Please let me know if Microsoft has any plans to add user polygon (boundary) creation ability to its great Excel Power Map program?
    Thank you very much!

    Hi,
    Thanks for your feedback, based on your feature required, I'll move your thread to Power Map forum, there might be give us some light.
    https://social.technet.microsoft.com/Forums/en-US/home?forum=powermap&filter=alltypes&sort=lastpostdesc
    Regards,
    George Zhao
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • ABAP MAPPING PROGRAM TRANSPORTATION ISSUE

    Hi Experts,
    Our issue is as following:
    Already one ABAP mapping program is there in our DEV and in QA also.
    Now we have changes the code according to some requirement.
    Now we need to reflect the same in QA also.
    For that I have certain doubts.
    1) after releasing the request number in R/3, will it effect there in integration builder of the QA?
    2) Is there any need to do in ADMINISTRATION to reflect the same?
    Please revert urgenly.
    Regards
    sreeni

    hi barry,
    thanks a lot . we have released it into integration it is working fine.
    thanks once again and i wll reward points also.
    I think you can tell my one more doubt is as:
    I have one new ABAP mapping program which is not used till now in any interface mapping in ID of XI.
    now want use this my integration builder ID in as mapping program.
    in this case is any requirement to enable the same in Integration ADMINISTRATION tab.
    plz clarify me.
    regards
    sreeni

  • XI 3.0: Additional libraries for mapping program

    Hello,
    I got the scenario that the program within my Interface Mapping is making use of additional custom java resources (jar's).
    I know that in XI 2.0 I had to put these additional libraries into the directory:
    ..\j2ee\cluster\server\additional-lib
    and register them in the files:
    ..\j2ee\cluster\server\managers\library.txt and
    ..\j2ee\cluster\server\managers\reference.txt
    Now in XI 3.0 I don't have these folders and files anymore. Therefore I simply imported the jar files into the repository...But I do neiter know wether that is the right way at all for registering additional libs in XI 3.0 nor I don't know if I have to import them into the same software component or namespace then the mapping program.
    Does anybody know how to make use of additional libraries within a XI 3.0 Stack 5 landscape? I would very much appreciate any recommendations on that!
    Kind regards,
    Sven Lattermann

    Hi Advait,
    From the below what I understand is that you are not able to do value mapping for the follwoing
    1     A
    2     A
    3     B
    As value mapping allow one to one mapping only. Please do it like as mentioned below
    1     1*A
    2     2*A
    3     3*B
    Then in the graphical mapping of Integration Repository do the mapping for the same as shown below
    source field > VALUEMAPPING> UDF--> TARGET Field
    In UDF suppress the value of  1* , 2* , 3* which can be done as follows
    create one UDF with one input field
    //write the code as below to suppress the field
    return input.substring(2);
    Here the davantage of using 1* , 2* , 3* etc is that you have the option to use value mapping for 100 values which I think is not normally the case for any Interface.
    If you have same source you can do the same thing for that.
    Hope this helps you to resolve your query.
    Thanks & Regards
    Prabhat

  • Error in Java Mapping program

    Hi friends,
    I am tryin java mapping for first time.. and created one java program using link https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/wholePayloadtoaXML+field
    But when I am compiling it using JAVAC, I am getting following error message that
    package com.sap.aii.mapping.api does not exist . How can I solve this error.
    Complete error is as follows:
    C:j2sdk1.4.2_16-x64 in>javac PayloadToXMLField.java
    PayloadToXMLField.java:1: package com.sap.aii.mapping.api does not exist
    import com.sap.aii.mapping.api.StreamTransformation;
                                   ^
    PayloadToXMLField.java:2: package com.sap.aii.mapping.api does not exist
    import com.sap.aii.mapping.api.AbstractTrace;
                                   ^
    PayloadToXMLField.java:3: package com.sap.aii.mapping.api does not exist
    import com.sap.aii.mapping.api.StreamTransformationConstants;
                                   ^
    PayloadToXMLField.java:8: cannot resolve symbol
    symbol  : class StreamTransformation
    location: class PayloadToXMLField
    public class PayloadToXMLField implements StreamTransformation {
                                              ^
    PayloadToXMLField.java:16: cannot resolve symbol
    symbol  : class AbstractTrace
    location: class PayloadToXMLField
        AbstractTrace trace;
        ^
    PayloadToXMLField.java:27: cannot resolve symbol
    symbol  : class AbstractTrace
    location: class PayloadToXMLField
                (AbstractTrace) param.get(
                 ^
    PayloadToXMLField.java:28: cannot resolve symbol
    symbol  : variable StreamTransformationConstants
    location: class PayloadToXMLField
                    StreamTransformationConstants.MAPPING_TRACE);
                    ^
    PayloadToXMLField.java:43: cannot resolve symbol
    symbol  : variable outputPayload
    location: class PayloadToXMLField
            outputPayload =
            ^
    PayloadToXMLField.java:50: cannot resolve symbol
    symbol  : variable outputPayload
    location: class PayloadToXMLField
                out.write(outputPayload.getBytes());
                          ^
    9 errors
    Thanks,
    Brijesh Soni

    thanks , it is done now..
    the program is compiled properly and class file is generated.
    but m gettin error in mapping.
    in IR i created two message type  with data type as string.
    and i had imported the class file and java program using Imported archives.
    now in interface mapping mapping program i had selected type as Java Class.and name of java program.
    but when i tested it, it is giving error as Linkage error occurred when loading class zip/PayloadToXMLField
    Please suggest, M i doing some thing wrong?is any thing missing?
    Program tht i had used in java
    from link (https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/wholePayloadtoaXML+field):
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.AbstractTrace;
    import com.sap.aii.mapping.api.StreamTransformationConstants;
    import java.util.Map;
    import java.io.*;
    public class PayloadToXMLField implements StreamTransformation {
        String strXML = new String();
        String outputPayload = new String();
         //Declare the XML tag for your XML message
         String StartXMLTag = "<Payload>";
         String EndXMLTag = "</Payload>";
        AbstractTrace trace;
        private Map param = null;
        public void setParameter(Map param) {
            this.param = param;
        public void execute(InputStream in, OutputStream out) {
            trace =
                (AbstractTrace) param.get(
                    StreamTransformationConstants.MAPPING_TRACE);
            trace.addInfo("Process Started");
            try {
                StringBuffer strbuffer = new StringBuffer();
                byte[] b = new byte[4096];
                for (int n;(n = in.read(b)) != -1;) {
                    strbuffer.append(new String(b, 0, n));
                strXML = strbuffer.toString();
            } catch (Exception e) {
                System.out.println("Exception Occurred");
            outputPayload =
                "<?xml version="1.0" encoding="UTF-8"?>"
                   + StartXMLTag
                   + strXML
                   + EndXMLTag;
            try {
                out.write(outputPayload.getBytes());
                   trace.addInfo("Process Completed");;
            } catch (Exception e) {
                trace.addInfo("Process Terminated: Error in writing out payload");;
    and detailed trace of error is:
    11:34:21 Start of test
    LinkageError at JavaMapping.load(): Could not load class: zip/PayloadToXMLField
    java.lang.NoClassDefFoundError: zip/PayloadToXMLField (wrong name: PayloadToXMLField) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.lang.ClassLoader.defineClass(ClassLoader.java:448) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingLoader.findClass(RepMappingLoader.java:175) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at com.sap.aii.ibrep.server.mapping.ibrun.RepJavaMapping.load(RepJavaMapping.java:136) at com.sap.aii.ibrep.server.mapping.ibrun.RepJavaMapping.execute(RepJavaMapping.java:50) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:319) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:200) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    11:34:21 End of test

Maybe you are looking for