Using sap:external-function in XSLT

In the definition of sap:external-function I don't see any way of specifying the target system. Does this mean that the system is by default the ABAP stack on which XI is running?
<sap:external-function name="prefix:fName" method="instanceMethod" kind="instance">
   <sap:argument      param="PARAM_1"/>
   <sap:argument      param="PARAM_2"/>
   <sap:result        param="RESULT"      type="xslType"/>
</sap:external-function>
Kind Regards,
Tony.

Yes. You are right.
Nilesh

Similar Messages

  • Raise error in an external-function of XSLT-mapping (ABAP)

    Hi,
    we implemented a xslt-mapping (ABAP) in PI with external-functions.
    It's a great feature and works fine.
    Now, we have to implement an error handling:
    The external-functions are reading data from an abap table. We have to stop the mapping (if a value in the table is missing).
    We wanna show an error inside the PI-Monitoring (red flag) with a valid error text.
    How can I raise an error inside an external-function?
    regards
    Wolfgang Hummel

    Hi Michal,
    thanks a lot for your answer.
    Can I set dynamic configuration inside an external funktion of an ABAP-XSLT?
    I added the CX_MAPPING_FAULT-Exception to my external-function method and raised an exception inside my external-funktion ... and I got an "UNCAUGHT_EXCEPTION" inside my mapping - bad
    regards
    Wolfgang

  • Error When Trying to use SAP Help Function

    I receive the following Error while simply clicking on Help in SAP.  I put a ticket in and out IT support was by SAP the following highly intelligent and helpful info/advice This is an actual quote!!!!:
    “This option is not available if they are looking for training on how to use SAP, then need to request this from SAP support or an individual that is working with SAP in their departnemtn"
    I was of the opinion that software comes with the help function in most cases (I say most because I could imagine someone making it a separate module but it would not go over well at all).  I
    I found a folder on the corporate shared drive called SAP_Help and took the following screen shots and there was a notedpad doc that listed every chm file and what it covered. 
    Next I opened SAP from Windows Server 2008 Applications Portal and so after I RDP'd into the server help works...
    Anyone know why this is happening I went to school and got a degree in Accounting.

    It seems you are using wrong client ID. Make sure your logon pad has right details. You should verify this with your basis team.
    If the problem persists then try re-installing. But before you do that you can execute sapbexc.xla which is in the c:\program files\sap\bw. Type c:\ in cell c3 and click "start button". Any red flag means you have wrong version dll/ocx on your local drive, in that case you should reinstall with right patches.
    if this solution helps u then pls assign points

  • How to use standard java functions in a XSLT mapping

    Hi All,
    I wish to use a standard java function in a XSLT mapping, The issue is either i am giving incorrect namespace which is used to invoke the function or the signature of the function call is incorrect, I have read all the links in http://help.sap.com, and i know <b> one can enhance a XSLT mapping by writing one's own java code and thereby using java standard functions </b>, but the requirement is such that i need to try and use java standard function in XSLT mapping itself.
    Please refer to the sample code below:
    <?xml version="1.0" encoding="UTF-8"?>
      <xsl:stylesheet version="1.0"  
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:javamap="java:java.lang.String">
    <xsl:output method="text"/>
    <xsl:template match="/">
    <xsl:variable name="input" select="Title">
    <xsl:if test="function-available('javamap:toUpperCase')">
    <xsl:value-of select="javamap:toUpperCase($input)"/>
    </xsl:if>
    Author:<xsl:value-of select="Author"/>
    </xsl:template>
    </xsl:stylesheet>
    error encountered is: Illegal number or type of arguments.
    please reply if you have tried a similar scenario in SAP XI.
    Thanks & Regards,
    Varun

    Hi Varun,
        First of all i want to tell you that as per the documentation you can only call the static function inside xslt mapping. Your toUpperCase method is a non static function.
    What i am getting is that you have an element called Author and you want to convert its value into uppercase.
    you can write your own user defined function which is static.
    Signature of your java method :
    public static string toUpperCase(String Author,Map inputparam)
    try this xslt map.
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:javamap="java:JavaProgram">
         <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
         <xsl:param name="Author">
                 <xsl:value-of select="//Author_name"/>
         </xsl:param>
         <xsl:param name="inputparam" />
         <xsl:template match="/">
         <Author>
                 <xsl:if test="function-available('javamap:toUpperCase')">
                  <xsl:value-of select="javamap:toUpperCase($Author,$inputparam)"/>
                 </xsl:if>
         </Author>
         </xsl:template>
    </xsl:stylesheet>
    Hope this will work.
    Thanks and Regards
    Vishal Kumar

  • Using external function in xquery

    hi all,
    i'm using the Java Api to access Berkeley dbxml.
    i'm trying to raise a number, i get from the database,to a power
    the code i use is :
    String Query = "declare namespace power = 'java:java.lang.Math';";
    Query += "declare function power:pow($this as xs:double,$val as xs:double) as xs:double external; \n"+
    "power:pow(number1,number2)";
    XmlQueryContext context = XmlManager.createQueryContext();
    XmlResults results = XmlManager.query(str, context, null);
    ,,when i run the programm the answer is an uncaught exception from the database.
    Does somebody know how i can use the external function power?
    Message was edited by:
    user556027

    On closer reflection, I realized that external functions would not help with the problem I described. I suppose I would need to do some parsing on my own side and let Javascript retrieve the files (as with non-XML AJAX), let Firefox convert each file to its inner (well-formed) representation, do any necessary processing to circumvent deliberate attempts to create poorly convertible documents (e.g., a certain famous site's trick to have an attribute like )="", an incomplete DOCTYPE, or comments like <!--- ). Though, I do think it would be nice if BDBXML could do such cleaning up HTML to be well-formed before including it (or even allow non-XML documents to be loaded into a document which was flagged as non-XML where detected as such).

  • SAP Standared function module in BODS

    Experts,
    I know that we can not use SAP standared function module as a source in data services, we can use a function module in transformation but again we have to start from a file or table as a source and load into a target (Function Module can not be an end point of a dataflow - as it is used in the transformation and each transformation requires a source and a target).
    Is this statement correct ? ?. Please let me know.
    Here I have some Raw descriptive data in SAP and with some standared functional module which I need to call in BODS. Is it possible by some way to take it as source ..?
    Thanks in Advance.
    -Deep

    Hey,
    Any relevant inputs are much appericiated..!!
    thx
    Deep

  • Use document() function in xslt

    Hi I want to use the xslt function document() to import a data file into the transformation.
    However I don't seem to be able to import the xml file onto the osb. can this be done ?
    Basically can you use the document() function?
    I've tried googling and searching the docs but i think i'm missing something basic :-)
    Thanks in advance

    Not an answer to the particular point but i've got round the issue by adding a stage which inserts the data xml into the xml document being transformed.
    I then supress the data injected from being copied to the output tree and use a variable which references the data nodes rather than a variable referencing
    an external doc variable name="myvar" select="//injecteddatanode" /> rather than <variable name="myvar" select="document("path/doc.xml")
    The question still stands though : how do you import an xml doc which can then be used by the document function in a transform

  • How to use an external XSLT engine for Oracle BPEL Process Manager

    Hi,
    is there a way to use an external XSLT engine instead of the build in provided in Oracle BPEL Process Manager?
    The reason is to perform some XSL Transformations that use an OWL Query language.
    Thanks!

    Yes. you can write your own xpath function which can connect to external xslt engine and pass-in your document:
    <copy>
    <from expression="my:myxslt-processor(bpws:getVariableData('var1','part'))"/>
    <to variable="v2" part="payload/>
    </copy>
    The following Thread discusses about how to create an extension xpath function:
    http://forums.oracle.com/forums/thread.jspa?forumID=212&threadID=305548

  • Send email on external email address using sap workflow

    Dear All,
    I wat to send email( on external email address) to all users on under one position in org unit using sap workflow.
    I have retrived all users under given postion using FM   'RH_OM_GET_HOLDER_OF_POSITION'.
    Please let me know how to get their email ids.
    Thanks & Regards
    Rajshree

    Hi Rajasree,
    You can get the email address by passing the PERNR of employee and read the infotype '0105' (communication) with subtype '0010'.
    DATA: lt_p0105 LIKE p0105 OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'HR_READ_INFOTYPE'
       EXPORTING
    *   TCLAS                 = 'A'
        pernr                 = pernr
        infty                 = '0105'
        begda                 = sy-datum
        endda                 = sy-datum
    *   BYPASS_BUFFER         = ' '
    *   LEGACY_MODE           = ' '
    * IMPORTING
    *   SUBRC                 =
       TABLES
         infty_tab             = lt_p0105
      EXCEPTIONS
        infty_not_found       = 1
        OTHERS                = 2.
    IF sy-subrc <> 0.
    * Implement suitable error handling here
    ENDIF.
    READ TABLE lt_p0105 WITH KEY subty = '0010'.
    email = lt_p0105-usrid_long.
    Regards,
    Pipit

  • How can I use Seeburger java functions on SAP XI's user defined functions?

    Hi All,
    As my title implies; how can I use Seeburger java functions on SAP XI's user defined functions?  I've tried searching over the net in tutorials regarding this topic but I failed to find one; can someone provide me information regarding my question? thanks very much.
    best regards,
    Mike

    Hi Mike !
    You should check your documentation about which java classes you need to reference in the "import" section of your UDF. And also deploy the java classes into the java stack or include them as a imported archive in integration repository...it should be stated in the seeburger documentation.
    What kind of functions are you trying to use?
    Regards,
    Matias.

  • Using SAP BI front-end on external data sources

    We are currently reviewing the BI technical strategy at our organisation and SAP BI is in the running where we have a need to cover more data sources than just R/3.
    Because of the investment made in building other reporting databases, in the short to medium term we are considering using SAP BI as the front-end.
    I have built a Virtual InfoProvider using DTP on a SQL Server database, and initial findings are interesting.
    I would also like to consider other methods of using SAP BI as a front-end, and this post is a plea for further options.
    Some of the existing reports that we need to replace would be based on views in the database, whereas others are driven by result sets from stored procedures.
    I am curious about where all the effort is made, for example, will all the filtering be applied at source or back in BW?
    Will a user-entry variable allow a lookup to the source?
    We have recently upgraded to NW2004s, although we have not implemented the Java Stack .... yet.  We intend to complete the implementation by May 2008.
    I would welcome any suggestions you might have, or if you are able to point me to further sources of information.
    Ian.

    The Web Analyzer within BI 7.0 JAVA run time can go against XMLA datasources (eg: MS Analysis Services) configured within EP system.
    Visual Composer available within Ep 7 can go against any JDBC sources (Web Analyzer will have this functionality in the future.).

  • How to use xsl document() function with LiveCycle XSLT processor

    Hello,
    I would like to use LiveCycle XSLT processor to merge xml documents by using the xsl document() function.
    However, I have not, yet, found  clear reference information on the specifics of how to accomplish in LC. For instance if you have
    a transformation that does merging using a standalone xml editor (such as Oxygen), than what is required to accomplish the same
    using the LiveCycle XSLT service.  How do you specify the URI of the XML document that is specified as an input in the xsl document() function. Your insight is appreciated.   Regards

    Hello Steve,
    I checked the reference that you cited (XSLT Transformation).   The reference omits discussing how to use xlst document() function within a stylesheet.  I think that probably means that feature of xslt technology is not directly available through LiveCycle.  When I find a workaround, I'll post an update...for the user community that might encounter the same issue.  Thank you for your response and insight.  Regards, jb1809

  • Validate xslt against JDK5 so we can remove the 'Use SAP XML Toolkit' flag

    We are working on PI7.1 and have hit an issue with an XSLT mapping. We were getting an error when testing that said:
    TransformerException during XSLT processing:
    javax.xml.transform.TransformerException: com.sun.org.apache.xalan.internal.xsltc.TransletException: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.io.FileNotFoundException
    We found a few threads on SDN pointing us to using the 'Use SAP XML Toolkit' flag, which we'd not even noticed before. Ticking this flag did get us around the problem. Further investigation suggested to us, however, that this flag will not be available in future releases, so I guess our best solution would be to try and resolve the issues in our mapping against the current version of java (JDK5). When we use other tools such as XMLSPY they do not detect a problem with the XSLT. Can anyone point me to a tool that would enable us to validate our XSLT file against JDK5, which will provide us with error messages that will enable us to fix the error and therefore remove the 'Use SAP XML Toolkit' flag?
    thanks,
    Malcolm.

    > Can anyone point me to a tool that would enable us to validate our XSLT file against JDK5, which will provide us with error messages that will enable us to fix the error and therefore remove the 'Use SAP XML Toolkit' flag?
    I am sorry to have to say that even inside SAP nobody can answer this question.
    In principle it will work when it is pure XSLT 1.1 but some commands from XSLT 2.0 might work also.

  • How to call external functions without a .DLL (just using a .H and .LIB file)?

    Hello everyone,
    actually I'm facing little difficulties on how to get an external function getting called from within CVI (Version 2009).
    I was supplied with a .H file and a .LIB file to call an external function from within my CVI project. The .H file looks like this:
    void exportedFunction(double *parameter);
    As far as I know, the external function was written with MS Visual C++ 6.
    So I tried to statically link to the extern al function like this:
    - Add the .H file and the .LIB file to the CVI project
    - #include the .H file where I needed to call the external function
    - do the external function call
    When building I get an unresolved external function call error from CVI so this seems not to be working.
    I made some searches around and got up with two possible issues. Maybe one of you can help me get a bit further and get things working.
    1) The "real" function code is located in the DLL file which was not delivered to me. Or is there a way to get things done (call external functions) just with a .H and a .LIB file (without any .DLL file included)?
    2) The external function does not export according to "C-Style" rules. The function signature in the .H file shows no things like
    extern "C" __declspec(dllexport) void __stdcall ...
     Or maybe it's a combination of both issues (missing .DLL + wrong export style of function)?
    I guess I could get around the wrong export style of the function when I manage to write a wrapper around the original function that actually uses C-Style exporting. But I guess I need the .DLL file for this try as well.
    Thank you for your answers.
    Best regards,
    Bernd
    Solved!
    Go to Solution.

    There is no need  for the dllexport stuff. There is also the option for a static library without any DLL.  But the 'extern "C"' is essential, because it forces the C++  compiler, which was probably used to compile the library , to use C calling convention.
    If you can't ask the provider of the library to provide a version which was compiled using C calling convention the way to go is to write a wrapper with VC++6 around that library which reexports the functions using C calling convertion. Something like
    extern "C" type0 myfunc1(type1 arg1, ...) {
           return func1( arg1,...);
    for every function , you need to use.
    BTW. "unresolved symbol" is the linker error message, you can expect if you try to link C code against a library build with C++ calling convention.

  • Using Translate() function of XSLT ...

    Hi guys
    I have an xml document that i am converting into an html document using XSLT. I need to replace the XML new lines(&#10) with html new lines (<br>) while the xslt transform takes place on my xml document.
    For this I have found the translate function of XSLT but I need to use it on a specific tag and not all the tags in the xml document.
    <ExampleTag>
    1 first line
    2 second line
    3 third line
    </ExampleTag>
    translate(string, replaced_text, replacement_text)
    so I need to get my tags value in the variable string which is:
    1 first line
    2 second line
    3 third line
    and replaced_text: '&#10' and replacement_text: '<br>'
    but the problem is XSLT syntax is so bad that i just cant devote enough time to learn it. Any suggestions for the syntax guys?? an example would be extremely useful.
    cheers :)

    Hey
    after a bit of struggle came up with this:
    <xsl:template match="ExampleTag">
    <xsl:variable name="string" select="."> </xsl:variable>
    translate(string, "&#10", "</br>" )
    <xsl:value-of select="$string"/>
    </xsl:template>
    but its not working :(
    any suggestions??

Maybe you are looking for

  • Hp photosmart premium all in one won't print avery labels?

    HI, When I put a sheet of labels in (avery templete 5160) the printer spits out the label page and prints the info on regular paper? I don't see any place to  change paper to 'labels' on my printer.  Does someone know how to fix this? thank you and M

  • If Pixma MX printer no power

    If the printer power goes off and the cord it working and so it the outlet, suspect it may be a blown fuse in the printer.  can this be fixed ot do I need to get a new printer??

  • 2.33 intel core duo and G5 2.0 dual desk

    Hi i am using a g5 2.0 dual processer with 3.5. ram with lots of synths may b all possible softwares including viena.. i want to buy a laptop 2.33 macbook intel core 2 duo and work on the laptop with the same logic setion with all the synths at some

  • Dual mointors, move too second monitor [solved]

    Hi I have a dual monitor setup on my laptop with different resolutions and aspect 1. LCD widescreen 2. projector not widescreen I'd like to run mythfrontend on the projector screen It starts up on the LCD screen How can I transfer it too the second s

  • Burner plug_in for media sourc

    Hi,having recently upgraded to m/s5 I downloaded the latest plug-in for the burner ( why is this not included in the download ? )but during installtion I am told ` set-up is unable to detect a supported product on your system .` can anyone help with