ABAP XSLT Extensions or XSLT (XI imported archive)?

Hi all,
I would like to know which is having better performance in a scenario with a significant number of messages.
I know that ABAP XSLT Extensions is based in XSLT 1.0 and have some features of XSLT 2.0. So, for me it means some limitations and a disadvantage compared with all of XSLT 2.0 “standard” can offer.
But, my question is related with performance and I just want to know which is faster.
Thanks in advance,
Cheers,
Ricardo.

Hi Ricardo,
abap xslt has one great advantage
abap stack does not have to communicate with
java stack to perform the - so no RFC calls for mapping
with many messages that might influence their flows
but it wuold be best if you could just test it
in YOUR environment (there are many test tools -
like Loadrunner from Mercury) or you can write your own scripts
and just test in your particular examle which one is better
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Similar Messages

  • Imported archives

    How to import externally defined mapping programs in to Imported archieves? could anybody help me....
    Thanks in advance,
    Manoj

    Hi Manoj,
                XI supports 4 types of mappings
                            1. Message mapping
                            2. XSLT MApping
                            3. JAVA Mapping
                            4. ABAP Mapping.
                     If you go with message mapping or ABAP mapping no need to use imported archive. If you want to implement XSLT or JAVA mapping then only you need to import those programmes into imported archives. when import the external programms(XSLT or JAVA) to the Imported archives then should keep those file as a ZIP. The ZIP files only can import to the Imported Archives. 
    Thanks,
    Satish

  • Looking for example - abap xslt - that uses xslt document() function

    Hello,
    I'm looking for an example that shows the use of abap xslt with the xslt document() function.  Using the xslt document() function seems like a straightforward way to use xslt to create a result xml document by processing the content of two or more
    source documents.  For example, if source document A.xml and aux.xml are available in  memory as xstringand using stylesheet ztransformwhat would be the argument for the document() function to associate aux.xml.  Thanks for any insight.
    Regards,
    jb10809

    Hi,
    Sorry, perhaps I should have been clearer! The function that I picked just to test what you need to do just happened to return a string that contains SPAN tags with style attributes. The actual function code is:
    create or replace FUNCTION out_string_fn
       RETURN VARCHAR2
    IS
       CURSOR emp_cur
       IS
          SELECT ename
            FROM emp;
       v_string   VARCHAR2 (4000);
    BEGIN
       v_string := ' ';
       FOR c IN emp_cur
       LOOP
          v_string :=
                v_string
             || '&lt;SPAN style="font-weight:bold;color:green"&gt;'
             || c.ename
             || '&lt;/SPAN&gt;'
             || ', &lt;/br&gt;&lt;/br&gt;';
       END LOOP;
       RETURN v_string;
    END;And this returned a naff list in green (see [http://apex.oracle.com/pls/otn/f?p=55041:57] and click the Test button) - but it does show that you can style the validation error messages
    Andy

  • Overloaded Java methods in XSLT extensions?

    Hello,
    when using Java classes as XSLT extensions, is it possible to use overloaded methods at all? I get "XSL-1042: Extension function error: Overloaded method 'format'" when doing that.
    I studied Steve Muench's book, pages 607-611, and came up with the following:
    Declared namespaces: "Date" for java.util.Date, "DateFormat" for java.text.DateFormat.
    Declared XSL variables: "now" as "Date:new()", "datefmt" as "DateFormat:getDateInstance()".
    Value of "Date:toString($now)" works fine. However, value of "DateFormat:format($datefmt, $now)" causes the XSL-1042 error.
    Is there any way around this?
    --Jere
    null

    The way around it is to create a wrapper function yourself that doesn't depend on overloading, and then exploit the overloading within your wrapper function call.

  • SQL extension for XSLT

    Hi,
    I am working on SQL extensions on XSLT using xalan SQL Library. My requirement is to insert some data which comes in the form of XML to one of our tables. I tried to write a sample XSLT to retrieve the data from the database (thought I can change it to insert once I succeed retrieving data). The XSLT is not working. I think I am able to connect to database successfully but not able to retrieve any results. Any help would be greatly appreciated.
    Thanks in advance,
    Latha
    Here is my sample XSLT.
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0"
    xmlns:sql="org.apache.xalan.lib.sql.XConnection"
    extension-element-prefixes="sql"
    xmlns:xalan="http://xml.apache.org/xalan"
    exclude-result-prefixes="xalan"
    >
    <xsl:param name="queryString" select="'SELECT * FROM FASTATUS'"></xsl:param>
    <xsl:output method="html" indent="yes"/>
    <xsl:template match="/">
    <xsl:variable name="dbObj" select="sql:new()"></xsl:variable>
    <!-- Connect to the database with minimal error detection -->
    <xsl:if test="not(sql:connect($dbObj, 'extpool'))" >
    <xsl:message>Error Connecting to the Database</xsl:message>
    <xsl:copy-of select="sql:getError($dbObj)/ext-error" />
    </xsl:if>
    <xsl:message>Database Coneection successful</xsl:message>
    <HTML>
    <HEAD>
    <TITLE>List of Values</TITLE>
    </HEAD>
    <BODY>
    <!--
    Let's include Error Checking, the error is actually stored
    in the connection since $table will be either data or null
    -->
    <xsl:variable name="table">
    <xsl:copy-of select="sql:query($dbObj, $queryString)"/>
    </xsl:variable>
    <xsl:if test="not($table)" >
    <xsl:message>Error in Query</xsl:message>
    <xsl:copy-of select="sql:getError($dbObj)/ext-error" />
    </xsl:if>
    <xsl:message>Query execution successful</xsl:message>
    <TR>
    <!-- Get column-label attribute from each column-header-->
    <xsl:for-each select="$table/sql/metadata/column-header">
    <TH>
    <xsl:value-of select="@column-label"/>
    </TH>
    </xsl:for-each>
    </TR>
    <xsl:apply-templates select="$table/sql/row-set/row"/>
    <xsl:text>&#10;</xsl:text>
    </BODY>
    </HTML>
    <xsl:value-of select="sql:close($dbObj)"/>
    </xsl:template>
    <xsl:template match="row">
    <TR><xsl:apply-templates select="col"/></TR>
    </xsl:template>
    <xsl:template match="col">
    <TD><xsl:value-of select="text()"/></TD>
    </xsl:template>
    </xsl:stylesheet>

    No idea. You didn't mention pquery in your original post, and I don't even know what that is (even after googling it).
    Anyway, your problem is the same as in your first post. You haven't done your research. All you know is it's "not working". Find out in what way it is not working and then post a detailed question.

  • Brainstorming imported Archives (JAVA) versus Z-TABLEs (ABAP)

    Hi everybody,
    we got very complex processes and I would like to ease them:
    Instead of fixedValues in Message-Mapping we use CSV-files and store them in the imported archives.
    In different message-mappings we read the CSVs via UDF.
    The problem is that the CSV get often updated by the R/3-agents. So we have a lot of administrative work to communicate with the agents, import the files, transport and so on.
    Thats the reason I am thinking of creating z-tables where the agents can maintain the values instead of updating the CSV. Also the agents would be able to transport the z-table entries.
    But as the z-tables are resided on the ABAP-stack we would have change our graphical message mappings to ABAP-Mappings. This would be to much work for us and is not practicable.
    Do you see a workaround or a best practice I do not see?
    Thanks Regards
    Mario

    Hi,
    Instead of doing all this work, you can do in simple
    Use RFC LOOKUp in XI Mapping to pull the values based on the input value and Maintain the ZTable in ABAP Stack of XI or in R/3 itself.
    RFC Lookups
    The specified item was not found.
    Use this crazy piece for any RFC Mapping Lookups!
    REgards
    Seshagiri

  • ESB XSLT Extension Functions

    Hi
    Could anybody tell me if we can use log4j in the java class which we write for XSLT Extension Functions which will be used in ESB XSL mappings?
    It is not recognizing log4j only.It is not giving any error also.
    Thanks
    Praveena

    Thanks Kanchan.
    This is talking about how to implement Extension functions.
    I have done this. but my question I am not able to use log4j for debugging purpose in this java class. It is not recognising this.
    We need to use logger instead of System.out.println .
    Thanks
    Praveena

  • Xslt extension

    I'm looking to write an Xslt extension to help produce Html-output. For part of the tags produced, some information in the Xml needs to be checked and the output changed accordingly. The idea I had was to dynamically add a piece of xsl to each stylesheet used. The question is rather simple: What's the "cleanest" way of writing a thing like this? So that there would be least possible "obscuration" of the code in the different stylesheets?
    Tommy Sedin

    Combining the XSLs isn't the problem. Calling the
    templates inside the "extension stylesheet" in a nice
    and clean way is. I hate having 4-5 lines of code to
    call a template, when it should be possible to have
    just 1.XML is a verbose language, isn't it?
    I appreciate your answers, but - as I said in my
    previous post - you're giving solutions to something
    that is already solved without even touching the
    problem I actually need help with. And I'm sorry if
    I'm making "smart ass comments", but I don't much
    appreciate you attacking my skills as a programmer and
    systems architect. There is a reason why I've solved
    something in a harder, more clumsy way than what
    everyone else does.Yes, people always have their reasons for doing things. And sometimes those reasons are bad reasons. Questioning a design is not an attack, it's just a question. So there's no need to take it personally. However, I really didn't read your first reply properly, and that didn't help.

  • Where to put property files used by XSLT extensions?

    Still fighting with Java XSLT extensions. I have narrowed the
    problem down: my XSLT extension cannot find its property file,
    which I use to store JDBC connect strings etc.
    What is the proper directory to put this file so the XSLT
    extension class can find it? I am using Oracle HTTP Server with
    XDK 9.0.

    Thanks for the answer, Steve!
    Depends on what call you're using in your extension function to
    read your properties.Maybe I tried a too simplistic approach. I'm just using this:
    Properties props = new Properties();
    try {
    props.load(new FileInputStream("/foo.properties"));
    etc.
    This (with the slash) works if the properties file is in the root
    directory of the filesystem, but it's a kludge.
    If you read your properties as a resource using
    getResourceAsStream(), then where the classloader expects to
    find your file depends on the resource name that you specify.So maybe I should use getResourceAsStream() then? What if I put
    the properties file inside the JAR with the extension classes?
    Or is there any way to reference the web root?
    --Jere

  • Cant resolve class on XSLT Extension

    I have XSLT and I am trying to call a java method and I get
    java.lang.NullPointerException
    at oracle.xml.parser.v2.XSLExtFunctions.getClass(XSLExtFunctions.java:351)
    Trying even a simple example using java.lang.xxxx gets the same error.
    <!-- x.xsl: show value in Hexadecimal -->
    <xsl:stylesheet version="1.0" exclude-result-prefixes="Int"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:Int="http://www.oracle.com/XSL/Transform/java/java.lang.Integer">
    <xsl:template match="/">
    <xsl:variable name="x" select="99"/>
    <!-- Invoke public static toHexString() method on current node "." -->
    <x-hex><xsl:value-of select="Int:toHexString($x)"/></x-hex>
    </xsl:template>
    </xsl:stylesheet>
    This is XDK 9.2.0.6
    Thanks in advance.

    Terris Linenbach (guest) wrote:
    : Does the v2 parser support XSLT extension functions?
    : Here is a cool example of an implementation at
    : http://www.jclark.com/xml/xt.html :
    : A call to a function ns:foo where ns is bound to a namespace
    of
    : the form http://www.jclark.com/xt/java/className is treated as
    a
    : call of the static method foo of the class with fully-
    qualified
    : name className. Hyphens in method names are removed with the
    : character following the hyphen being upper-cased. Overloading
    : based on number of parameters is supported; overloading based
    on
    : parameter types is not. A non-static method is treated like a
    : static method with the this object as an additional first
    : argument. A constructor is treated like a static method named
    : new. Extension functions can return objects of arbitrary types
    : which can then be passed as arguments to other extension
    : functions or stored in variables.
    : For example, the following
    : <xsl:stylesheet
    : xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
    : xmlns:date="http://www.jclark.com/xt/java/java.util.Date"
    : xmlns="http://www.w3.org/TR/REC-html40"
    : result-ns="">
    : <xsl:template match="/">
    : <html>
    : <xsl:if test="function-available('date:to-string') and
    : function-available('date:new')">
    <xsl:value-of select="date:to-string(date:new
    ())"/></p>
    : </xsl:if>
    : </html>
    : </xsl:template>
    : </xsl:stylesheet>
    : will print out the current date.
    Our current release 2.0.2 does not support extension functions
    but they will be supported in the very near future.
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    null

  • What is main diff b/w imported Archives and External Defination in IR

    What is main diff b/w imported Archives and External Defination in IR

    Hi Vijay,
    ED-standard schema for describing the message structure.If you have the structure provided to you from some external application you can use it in PI directly without recreating in PI.you can import following formats which are used to describe message schema
    WSDL (Web Service Description Language),
    XSD (XML Schema Definition Language),
    DTDs (Document Type Definitions)
    Imported Archives: its used basically for java and xslt mapping where you create the required mapping externally using some tools
    (java-eclipse/NWDS .XSLT-stylus studio).You can also implement XSLT and Java mappingsf and save them as archives in the Integration Repository.
    read More details here
    [ED|http://help.sap.com/saphelp_nwesrce/helpdata/en/26/9e97b0f525d743882936c2d6f375c7/content.htm]
    [Imported Archives|http://help.sap.com/saphelp_nw04/helpdata/en/4c/b2ad3de2d76b3be10000000a114084/content.htm]
    Regards,
    Srinivas

  • Imported Archive not visible

    Hi Guru,
    I have imported into XI a XSLT Mapping in IMPORTED ARCHIVE; now I have to use thi mapping in my Interface Mapping, but the imported Archive (the XSLT Mapping...) is not visible! How is it possible?
    Thanks to all!

    hi,
    1. Make sure that the XSLT program .zip or jar format.
    2. If the mapping program it' not showing then forceble you need to push your interface mapping.
      If the mapping program it is not showing mean particular source message particular target message couldn't defind the mapping program..this is not complesary any mapping program we can push through forceble .
    Regards,
    Venu.

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

  • How to upload into import archive

    How to import the XSL mapping and JCO LOOK UPS int to import archive archive 
    should i import java file or class file in look ups part , what abt the XSLT mappimg part, then i want to test the mapping part will you please tell me how to copy the already existing interface so that i can test the mapping part without distrubing it
    thanking you
    sridhar

    Hi,
    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 .
    Hope this helps,
    Rgds,
    Moorthy

  • Problem with imported archives

    Hi all,
    I have created Message mappings(this I have to delete once get the sucess),Interface mapping.I need to use XSLT mapping so I copied the Message mapping output to XSLT file Organization_2_PSTCS_Department_XSLT.xslt and when Imported into imported archieves.
    When I try to use this mapping I am getting the message as in SUB .Alternatively if i use the message mapping I am getting sucess.
    Please let me know what is the problem.
    Thanks,
    Srini

    Hi,
    >>>>>>I need to use XSLT mapping so I copied the Message mapping output to XSLT file Organization_2_PSTCS_Department_XSLT.xslt and when Imported into imported archieves.
    you copied the output ? (you mean the result of message mapping?)
    this has no sense as message mapping has nothing to do with
    xslt mappings
    you need to create your xslt mapping yourself and then import it
    you cannot create xslt mapping from message mapping
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Maybe you are looking for

  • Solaris 10 Zone for Solaris 11.1 creation with template fails.

    Hi, We are trying to use the Oracle VM Template for Oracle Solaris 10 Zone to create a solaris 10 zone on a solaris 11.1 GZ root@exsolh0005:/opt/scripts# ./solaris-10u11-sparc -v This is an Oracle VM Template for Oracle Solaris Zones. Copyright © 20

  • I am new to mac and i am trying to download the new software

    my mac is telling my my start up disk doesnt have enough space i barely have any thing on this lab top and i also have no clue what or where this start up disk is or how to access it please help me i am getting very frusterated.

  • Photos too big for Flash, what can I do?

    Hi, I have tried all the different Formats of Photo and bringing them into Flash, but they are still too big, causing Flash to crash and meaning I am unable to upload my website to my server. I think i remember being told you could use a preloader. B

  • Linking captivate to excel sheet?

    Is there a way to link captivate to an excel sheet - where if a person puts in an identifying number; captivate jumps to a set slide?  What I'm trying to do is the following:  I have an excel sheet with the 2 columns:  Column 1 - EE ID and Column 2 -

  • Reg. module pool....have ur points..

    Hi all, In module pool programming, we see "MODULE CANCEL AT EXIT-COMMAND" in PAI. Pleas let me know the meaning of this in simple language..... <b>n Have ur points.</b>