Stored procedure in BI Publisher

hello
I know how I can manage stored procedures in my database, is there any way I can call them from BI Publisher.

If you want to use the stored procedure to return your dataset for the BI publisher report, then you can use them in conjunction with the pipelined table functions. You can call the procedure(and pass the parameters) within the function and pipe the rows to a table. In the BI publisher data model, the sql would be:
select a.*
from table(my_pkg.func_get_data(:param1, :param2))a
Search the forum and/or check the following out: http://winrichman.blogspot.com/search/label/pipelined
http://bipublisher.blogspot.com/search/label/PL%2FSQL
Thanks!
P.S: Sorry, didn't see Vetsrini's post.
Edited by: BIPuser on Nov 22, 2010 9:00 AM
Edited by: BIPuser on Nov 22, 2010 9:04 AM

Similar Messages

  • Problem of java stored procedure

    hi,
    now I use the oracle9i JDeveloper9.0.3.1 to develop java stored procedure and then publish it to oracle9i database.
    In the database I create PL/SQL procedure to invoke the java stored procedure.But I encounter the problem,that is ,when I run the PL/SQL procedure ,it throw the java.lang.NullPointerException ,while the java class,the java stored procedure can run correctly invoked by the main class of java.The code of the java stored procedure is as follows:
    import java.sql.*;
    import java.util.Properties;
    public class SQLServerEventDistribute
    public static void sqlServerSaveData(String hostName,String databaseName,String user,String password,String tableName,int x1,int y1,int x2,int y2,String ip)
    String url="",sql="",userName="",passwd="";
    Connection connection;
    Statement statement;
    url="jdbc:microsoft:sqlserver://"+hostName+":1433;DatabaseName="+databaseName+";User="+user+";Password="+password;
    sql="INSERT INTO "+tableName+" VALUES("+x1+","+y1+","+x2+","+y2+",'"+ip+"')";
    Properties property=new Properties();
    property.setProperty(userName,user);
    property.setProperty(passwd,password);
    try
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    // DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
    connection=DriverManager.getConnection(url,property);
    statement=connection.createStatement();
    statement.execute(sql);
    }catch(ClassNotFoundException connectSQLServerEx)
    System.out.println(connectSQLServerEx.getMessage());
    catch(SQLException connectSQLServerEx)
    System.out.println(connectSQLServerEx.getMessage()+connectSQLServerEx.getErrorCode());
    the main class is as follows:
    public class Test
    public static void main(String[] args)
    SQLServerEventDistribute.sqlServerSaveData("gsm","gsmd","sa","sa","IPBinding",11,45,24,21,"23.1.248.12");
    and the PL/SQL procedure is as follows:
    PROCEDURE TEST AS
    BEGIN
    SQLSERVERSAVEDATA('gsm','gsmd','sa','sa','IPBinding',11,45,24,21,'23.1.248.22');
    END;
    How can I deal with it?
    can you tell me?
    thanks

    Hi JavaQQ,
    This is just a guess, but I think you need to load the
    Micro$oft SQLServer JDBC driver into the Oracle
    database (using the "loadjava" utility).
    In any case, there are several ways -- apart from JDBC
    -- for accessing a different database from within an
    Oracle database. Have you tried searching the Oracle
    Web sites for suitable products?
    Hope this helps.
    Good Luck,
    Avi.abramia ,thank you very much.
    but I have load the Microsoft SQLServer JDBC driver into the Oracle database .
    When I debugged the PL/SQL procedure,the exception was thrown at line connection=DriverManager.getConnection(url,property);
    What's the problem with it?

  • Howto get information about Java Stored Procedures programmaticly

    Hi all,
    using the DatabaseMetaData object it is easily possible to get information about database objects like tables, columns or even plsql stored procedures.
    But is there a way to get information about Java Stored Procedures which are published in packages ? Is it possible here to use a DatabaseMetaData object or is there any other solution ?
    TIA,
    Chris

    What sort of information do you want to know about the Java stored procedures?
    Would the views USER_SOURCE or USER_OBJECTS contain the information you need?

  • Broken Java Stored Procedure Demo

    The link to download HotelBookingsSample.jar does not work. It is located on http://otn.oracle.com/sample_code/tech/java/jsp/samples/jsptrigger/Readme.html

    Do as follows:
    Define a JDBC Connection to your DB - use this name only.
    Create a Deployment profile (Java Stored Procedure )(with [x]Publish option) to the same connection.
    Then in the deployment tab of the Message View (View | Message View), you will see the deployment.
    Then you can call your procedures, functions using SQL*Plus by
    Expand Connection Folder
    Right Click on the JDBC Connection
    Select Invoke SQL*Plus...
    This will invoke SQL*Plus with the info from this connection.
    In SQL*Plus enter various statements to invoke your Java Stored Procedure.
    For grins, try:
    In JDeveloper, select
    File | New ... Class / JavaStoredProcedure
    Add the following methods to the bottom:
    =============
    public static String getJDBTime( ) {
    return (new Date()).toString();
    private static int nSeq = 0;
    public static int getNextSequence( ) {
    return nSeq++;
    ===========
    Then Create a deployment profile and deploy it.
    Then Invoke SQL*Plus and call it as:
    select <PackageName>.FunctionName() from dual;
    In my case, my SQL*Plus window looked as:
    SQL>
    SQL>
    SQL> select MYPROJECT5.GETJDBTIME() from dual;
    MYPROJECT5.GETJDBTIME()
    Wed Dec 20 16:12:16 CST 2000
    SQL> select MYPROJECT5.GETJDBTIME() from dual;
    MYPROJECT5.GETJDBTIME()
    Wed Dec 20 16:12:22 CST 2000
    SQL> select MYPROJECT5.GETNEXTSEQUENCE() from dual;
    MYPROJECT5.GETNEXTSEQUENCE()
    0
    SQL> select MYPROJECT5.GETNEXTSEQUENCE() from dual;
    MYPROJECT5.GETNEXTSEQUENCE()
    1
    SQL> select MYPROJECT5.GETNEXTSEQUENCE() from dual;
    MYPROJECT5.GETNEXTSEQUENCE()
    2
    SQL>
    I hope this helps,
    -John
    null

  • How to generate XML Publisher report from PLSQL Stored Procedure in APPS

    Hi,
    I have concurrent program of type PLSQL Stored procedure.I need to generate XML Publisher report from the same.I have changed the output of the concurrent program as "XML" but when I tried running it,the XML tags are not generated.Due to this I am unable to create the template.Its a urgent issue.
    Please help me out .
    Thanks in advance.
    Kaveri

    Hi Kaveri
    Sadly there is nothing magic about that output field. The only program type that you can flip it to XML and then magically get XML is for Oracle Reports. For plsql you will need to recode the plsql to generate XML rather than text that you have now.
    You have some options, best option first:
    1. Move the sql to a data template - check the user guide and blog for help or
    2. Use SQL XML or XMLGEN (not great for large datasets) or
    3. Use dbms_output.put_line and write the XML file manually - not performant at all
    Regards, Tim

  • Can't publish java xml stored procedure

    I have written a java class to return values from the database as XML using the XSU, and am attempting to publish the class as a stored procedure. I have successfully created other java stored procedures, but am continually getting the following error on this one:
    ORA-29531: no method getItems in class foo/bar/Inbox
    To illustrate the interface which I am trying to implement, snippets from the java class and the Oracle package follow:
    ===========================================
    Java class:
    package foo.bar;
    import oracle.sql.CLOB;
    import other.stuff;
    public class Inbox {
    public static void getItems(int userID,
    CLOB[] xml)
    ===========================================
    Oracle package spec:
    PROCEDURE getItems(user_id IN PLS_INTEGER,
    buf IN OUT NOCOPY CLOB);
    Package body:
    PROCEDURE getItems(user_id IN PLS_INTEGER,
    buf IN OUT NOCOPY CLOB)
    AS LANGUAGE JAVA NAME
    'foo.bar.Inbox.getItems(java.lang.Integer,
    oracle.sql.CLOB[])';
    ===========================================
    I originally structured the class to return the CLOB, but altered the structure to handle the CLOB as an IN OUT parameter so that the NOCOPY option modifier could be used, as suggested in S. Muench's book. I was surprised to hear that Oracle creates an in-memory copy of the return value from a function (wish I'd known this before).
    All suggestions appreciated.
    null

    When I use JDeveloper's automatic Java Stored Procedure publishing feature, I get a PL/SQL spec that looks like this:
    CREATE OR REPLACE PACKAGE EXPERIMENTALWORK
    AUTHID CURRENT_USER AS
    PROCEDURE GETITEMS ("userID" IN NUMBER,
    "xml" IN OUT CLOB)
    AS LANGUAGE JAVA
    NAME 'foo.bar.Inbox.getItems(int, oracle.sql.CLOB[])';
    END EXPERIMENTALWORK;You still have to add the NOCOPY by hand, but perhaps the int versus java.lang.Integer is significant?

  • BI Publisher 11g - calling SQL Server 2005 stored procedure error

    Hi experts
    I have been calling succesfully an SQL server 2005 stored procedure for the data model of a BI publisher report in 10g, passing it a customerNo parameter.
    EXEC     [dbo].[usp_WelcomeLettersConsumerNo]
              @CustomerNo = :sCustomerNo
    However it does not work in 11g I get the error:
    [Hyperion][SQLServer JDBC Driver][SQLServer]Incorrect syntax near the keyword 'is'.
    which is frustrating as there is no 'is' in the statement (perhaps it is picking up :s?) - I wonder does anyone know if there has been a change in 11g that may be causing this?
    cheers
    Tim

    Hi experts
    I have been calling succesfully an SQL server 2005 stored procedure for the data model of a BI publisher report in 10g, passing it a customerNo parameter.
    EXEC     [dbo].[usp_WelcomeLettersConsumerNo]
              @CustomerNo = :sCustomerNo
    However it does not work in 11g I get the error:
    [Hyperion][SQLServer JDBC Driver][SQLServer]Incorrect syntax near the keyword 'is'.
    which is frustrating as there is no 'is' in the statement (perhaps it is picking up :s?) - I wonder does anyone know if there has been a change in 11g that may be causing this?
    cheers
    Tim

  • Publishing JSP form JAVA stored procedure [Oracle8i 8.1.7]

    Hi folks,
    I wonder if anybody knows a way to publish JSP from JAVA stored procedure.
    I know there is a way to load java class using PL/SQL package DBMS_JAVA.loadjava(), or
    oracle.aurora.server.tools.loadjava.LoadJavaMain.serverMain() from java.
    But I need somthing like publishjsp to translate the JSP.
    Also would be nice if I can invoke this from a LOB where I have stored my JSP.
    Any ideas?
    Mitko

    I case anyone is interested.
    I managed to find out what I was doing wrong.
    First when you call a stored procedure that is in a package and is a method of a class. You call it referencing the packagename.method. Leaving out the class name. Also, since this was a method that returns a value. The return value has to be assigned to a variable or used in an sql statement. Such as:
    var x number;
    call claimsprocedures.ip(19990033) into :x;call completed
    print x;(then the value is displayed in sql*plus
    scirco.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by scirco:
    I created a simple java stored procedure and depoloyed it using the deployment wizard. The code for the class is as follows:
    // Copyright (c) 2000 CAP-MPT
    package ClaimsProcedures;
    import sqlj.runtime.*;
    import sqlj.runtime.ref.*;
    import java.sql.*;
    import java.sql.SQLException;
    * A Sqlj class.
    * <P>
    * @author Sebastian Circo
    public class ClaimsFinancialHistory extends Object {
    * Constructor
    public ClaimsFinancialHistory() {
    public static int IP(int Claimno) throws SQLException {
    int Val;
    Val = 0;
    #sql {select sum(amount) into :Val from reshist
    where claimno = :Claimno and type = 'RI'};
    return Val;
    The wizard indicated that everything deployed properly. However when I try to call the procedure/method "IP" from sql*plus I get the following message: ORA-06576: not a valid function or procedure name. I double checked to make sure that I'm publishing the "IP" method and I still get the same error. I also tried calling the procedure with the schema.class.procedure form, still same error.
    Can anyone help?
    thanks
    scirco<HR></BLOCKQUOTE>
    null

  • Publish PLSQL stored procedure as web services

    Is it true that PLSQL stored procedure can only be published as web services using JAVA?
    I came across article that mention how to call other web services from within plsql, but not sure the vice versa.
    So, please advise.
    Thank you.

    True..I've done it once using J-Developer.
    http://www.oracle.com/technology/obe/obe1013jdev/ws/wsandascontrol.htm#o
    Good luck!!
    Bhagat

  • Can BI Publisher call stored procedures?

    Can BI Publisher call stored procedures,no matter how?

    Hi,Chris
    "Stored PL/SQL procedures can be called from data Templates and Oracle Reports."Really?It is a great news for me.
    Currently I am working on a poc.
    There is a problem about calling Oracle stored procedures directly thru BI EE or BI Publisher.
    Our customer has a lot of stored procedures in their previous system,they strongly hope our BI EE can call these sp directly.
    All of these sp return the result set to the cursor,then the applications operate the cursor.
    As there is no way can BI EE working with Oracle stored procedures or cursor,I am wondering whether can I call the sp from BI Publisher.
    Can BI Publisher call sp or pl/sql?Can data template using pl/sql not only pure sql statements?
    I have try write some pl/sql in data template,but it failed.It seems that the data template can only operate on some returned result sets.But sp won't.
    If sp can be called thru data template,everything will be ok for me.For I can use pl/sql to opereate the returned cursor.

  • Error while executing a stored procedure from forms6i

    When I execute a STORED PROCEDURE from ORACLE DB 10g this procedure works perfectly fine.
    But when I execute the same from the FORMs 6i I get the following error:
    PDE-PLU022 Don't have access to the stored program unit
    XMLPARSERCOVER in schema CARE.
    where XMLPARSERCOVER is the class and
    CARE is the schema.
    Regards,
    Jignesh S

    I have tried this with both the owner of the schema and the intended user, -from both forms and directly.
    All rights was granted on the stored procedure. Since posting I have found that one of the tables that the procedure might insert into, was not explicitly granted to the intended user, and after rectifying that the error message went away.
    -however, the procedure now silently "finishes" without any evidence that it ever ran, if invoked from the forms application. When invoked from SQL Plus (or JDev, or Toad) it runs as expected.
    I have no public synonym for the procedure, -is that necessary?
    The stored procedure in question is implemented in java, and published as a stored procedure. It does rather heavy lifting, when running, using a view against another server , updating local tables and quite a lot of data validation/cleansing, and logging. All recourses are within the same schema.
    Any ideas?

  • Calling a report from a Stored Procedure

    Is it possible to call a Oracle Report from a Stored Procedure or a Packaged Stored Procedure. If Yes, please provide some details.
    Thanks
    Shalu

    Shalu,
    there's an API available to do this.The feature is called "event driven publishing" (because you can use this even from a trigger) and you can find the documentation here:
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_evnt.htm#sthref1870
    Regards
    Rainer

  • Report Using A Stored Procedure Is Caching Data

    Post Author: springerc69
    CA Forum: Data Connectivity and SQL
    I converted a report from a view that worked fine to a stored procedure to try and improve the performance of the report, but when I publish the report it seems to cache the data.  When you change the parameters you use to call the report or simply run the report again with the original parameters the report doesn't run the sproc and just shows the cached data from the original request.  If I right click on the report and select refresh (web based crystal report), it prompts for the parameters. I just close out the prompt window, report window and click on the link for the report again it returns the correct results based on the new parameters or a refresh based on the original parameters.  I've checked the cache time setting and set it to 0, and if you close the Internet Explorer window that originally called the report, open IE back up and request the report it will return the appropriate data.  I have also verify that the report is not setup to save data with report.  This is on Crystal XI Server.

    Post Author: synapsevampire
    CA Forum: Data Connectivity and SQL
    Which viewer are you using?
    It might be that your IE settings are caching the report pages. because you're using an HTML viewer.
    Try the Active-X viewer.
    I've forgotten which icon it is that changes the viewer...it's under the preferences options, I think it's the one that looks like a hunk of cheese on the right upper side.
    -k

  • BO v5.1 - creating a report from an oracle stored procedure

    Post Author: newrochelle
    CA Forum: Publishing
    hi to all,
    im using BO 5.1 and i need to create a document from an oracle stored procedure that have only one IN parameter and ten OUT parameters.
    Creating the new report I selected the database connection then I choose the stored procedure name from the list, I inserted the value for the IN parameter and finally I click on Run button.
    I got the following error message:
    ORA-06550: line 1, column 38: :PLS-00103: Encountered the symbol
    "," when expecting one of the following: : : ( - + case mod
    new not null others <an identifier> : <a double-quoted
    delimited-identifier> <a bind variable> avg : count current
    exists max min prior sql stddev sum variance : execute forall
    merge time timestamp interval date : <a string literal with
    character set specification> : <a number> <a single-quoted SQL
    string> pipe : <an alternatively-quoted string literal with
    character set specification> : <an alternatively-q :-6550
    it seems to be caused by the OUT parameters!
    i leaved them without any value.
    it's the first time that I used a stored procedure to create a BO report, but I think the OUT parameters are needed to do that, otherwise what data will be presented in the report???
    can you help me?
    please answear me ASAP.
    Thank's in advance
    Regards
    Andrea

    Post Author: synapsevampire
    CA Forum: Publishing
    Try posting in a BO forum, this is Crystal Reports.
    -k

  • Creating XML report using PL/SQL Stored Procedure

    Hi Friends,
    I am working on an xml report with the xml source as PL/SQL Stored Procedure.
    I am referring the exercise shown in the following link to understand the process:
       http://orclapp.blogspot.com/2012/02/developing-xml-publisher-report-using.html
    In the example shown in the above link I could not understand the following:
    1) In the following procedure, the out parameter 'retcode' is not used at all.
       What is the importance of this parameter.
        PROCEDURE REPORT (errbuf  OUT VARCHAR2, retcode  OUT VARCHAR2, p_product_id   IN     NUMBER)
    2)  After the xml data is prepared and put to 'l_result' Clob variable, the following
        Loop is executed. I am not able to appreciate why the following loop is required.
         LOOP
             EXIT WHEN l_length = l_retrieved;
             IF (l_length - l_retrieved) < 32000
             THEN
                SELECT SUBSTR (l_result, l_retrieved + 1) INTO l_xmlstr FROM DUAL;
                l_retrieved := l_length;
                fnd_file.put_line (fnd_file.output, l_xmlstr);
             ELSE
                SELECT SUBSTR (l_result, l_retrieved + 1, l_offset)
                  INTO l_xmlstr
                  FROM DUAL;
                l_retrieved := l_retrieved + l_offset;
                fnd_file.put_line (fnd_file.output, l_xmlstr);
             END IF;
         END LOOP;
    3) In the example it is not explained how the concurrent program gets the xml data?
       I assume it is written to a file using the following line of code:
        fnd_file.put_line (fnd_file.output, l_xmlstr);
       I would appreciate if anyone can throw some light into my above queries so that I can understand the process clearly.
    Thanks & Regards
    Hawker

    Hi 32000 in the code is a 'safe' size smaller than the max available 32767, the loops purpose is to move through the entire thing in chunks that will be manageable in the limits of the data type.
    Btw; if you are in Oracle e-business suite then you can also use Oracle reports very simply to create XML output.
    If you have reports developer all you need to do is put raw sql (without any 'artifice' to create XML) in the report SQL and then set the reports output to XML in the program definition in Oracle e-business.
    best regards,
    Robert.

Maybe you are looking for

  • Adobe Acrobat X Pro Update Error 2379

    Each time I attempt to update Adobe Acrobat X Pro I am greeted with the following error message: Error 2379.Error Opening file for read: C:\Program Files (x86)\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe GetLastError:5. Any idea on how to  resolve this is

  • How do I download os6 to my 1st generation iPad

    My first generation iPad will not download OS6, is there any way to do it?

  • How to make picture button in oracle forms?

    can any one tell me how to make a picture button in oracle form builder? please help?

  • Saving Keynotes and Pages

    Hi, I recently typed up a report on pages and closed it assuming that it was saved. When I went to documents to open it back up, I could not find it, eventually I did find it under the iCloud file where it automatically saved after I searched with sp

  • Is it possible to use Standalone Apache web server with APEX ?

    HI, We are currently evaluating Oracle Applciation Express to be part of our product suite. Currently, in our software landscape, we are using standalone apache http server on the database server (Required for our java front end application). We supp