1

Topic: BI Publisher 11g

Good afternoon!
After transfer of a part of the reports using XSL-templates, on 11g the unpleasant singularity was found out - new  the class oracle.apps.xdo.template.rtf.XSLTFunction is not familiar

 <Line 1609, Column 76>: XML-22045: (Error) Extension function error: Class not found ' oracle.apps.xdo.template.rtf.XSLTFunctions'
@Line 1609 ==> <xsl:variable name = "v_rnk_max" select = "xdoxslt:maximum (GROUP2/RNK)"/> 

There can be somebody faced?
Oracle BI Publisher 11.1.1.7.0 (build:20130303.1415)

2

Re: BI Publisher 11g

You register xdoxslt-nejmspejs in title of XSL-templates?
Try instead of a way "oracle.apps.xdo.template.rtf.XSLTFunction"
To use "oracle.xdo.template.rtf. XSLTFunction" (i.e. without "apps")

3

Re: BI Publisher 11g

Jack Carver;
Yes,  it is defined

xmlns:xdoxslt = "http://www.oracle.com/XSL/Transform/java/oracle.apps.xdo.template.rtf.XSLTFunctions"

"apps" removed, now other error:

<Line 1609, Column 76>: XML-23002: (Error) internal xpath error
@Line 1609 ==> <xsl:variable name = "v_rnk_max" select = "xdoxslt:maximum (GROUP2/RNK)"/>

4

Re: BI Publisher 11g

Obviously, XPath-expression "GROUP2/RNK" now is not pleasant.
Look more attentively on formed XML dataful.
/* If the urgent task - send a XSL-template and example XML dataful on soap in a profile */

5

Re: BI Publisher 11g

Jack Carver;
It is not assured that a problem of the data.
[spoiler XML]

<ROWSET>
<ROW>
<DATA>
<GROUP1>
<GROUP2>
<RNK> 100500 </RNK>
</GROUP2>
</GROUP1>
</DATA>
</ROW>
</ROWSET>

[/spoiler]
[spoiler XSL]

<? xml version = "1.0" encoding = "UTF-8"?>
<? mso-application progid = "Excel. Sheet"?>
<xsl:stylesheet version = "2.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
xmlns:fo = "http://www.w3.org/1999/XSL/Format"
xmlns:fn = "http://www.oracle.com/XSL/Transform/java/"
xmlns = "urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o = "urn:schemas-microsoft-com:office:office"
xmlns:x = "urn:schemas-microsoft-com:office:excel"
xmlns:ss = "urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ora = "http://www.oracle.com/XSL/Transform/java/"
xmlns:xdofo = "http://xmlns.oracle.com/oxp/fo/extensions"
xmlns:xdoxslt = "http://www.oracle.com/XSL/Transform/java/oracle.xdo.template.rtf.XSLTFunctions"
xmlns:xdoxliff = "urn:oasis:names:tc:xliff:document:1.1"
xmlns:xlink = "http://www.w3.org/1999/xlink">
<xsl:template match = "//ROWSET/ROW/DATA">
<xsl:processing-instruction name = "mso-application">
<xsl:text> progid = "Excel. Sheet" </xsl:text>
</xsl:processing-instruction>
<Workbook xmlns = "urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o = "urn:schemas-microsoft-com:office:office"
xmlns:x = "urn:schemas-microsoft-com:office:excel"
xmlns:ss = "urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html = "http://www.w3.org/TR/REC-html40">
<Worksheet ss:Name = "Otchet1">
<Table>
<xsl:for-each select = "GROUP1">
<Row>
<xsl:for-each select = "GROUP2">
<Cell>
<Data ss:Type = "Number">
<xsl:value-of select = "xdoxslt:maximum (RNK)-1"/>
</Data>
</Cell>
</xsl:for-each>
</Row>
</xsl:for-each>
</Table>
</Worksheet>
</Workbook>
</xsl:template>
</xsl:stylesheet>

[/spoiler]

6

Re: BI Publisher 11g

And if to you to make a knight's move - and to calculate a maximum means most Excel?
You after all all the same in Excel preempt the report.
Example of that as I in one report created total row at outswapping in Excel (XSL a template):

...
<Cell ss:StyleID = "s103">
<xsl:attribute name = "ss:Formula"> =SUM (R [- <xsl:value-of select = "count (.//R/R_ROW)"> </xsl:value-of>] C:R [-1] A C) </xsl:attribute>
<Data ss:Type = "Number"> </Data>
</Cell>
...

Truth for this purpose it is necessary, that  has been presented on sheet Excel.

7

Re: BI Publisher 11g

Jack Carver;
Idea with the formula interesting, but I am afraid in our case it is not applicable, since the index is used at the further calculations.
The unique output while sees in transfer of calculation of a maximum in , however, it would be desirable to avoid it, as this report far not the unique.