How do you call a function that belongs in a package?

Hello,
Can anyone help me with this issue? My intent is to create a procedure that returns a cursor to the results of the query without passing in the cursor to the function. After reading thru online tutorials, I found that I had to create a function, not a procedure.
I created a .sql file as such:
create or replace package GetEmployeeCursors is
type empResultSet is REF CURSOR;
function Funct1 return empResultSet;
end GetEmployeeCursors;
create or replace package body GetEmployeeCursors is function Funct1 return
empResultSet is
tmpResultSet empResultSet;
begin
open tmpResultSet for
select * from employee;
return tmpResultSet;
end Funct1;
end GetEmployeeCursors;
Both the package and package body were created without any problems.
Then, I tried to call the Funct1() in many ways, including the following:
call System.getEmployeeCursors.Funct1()
call getEmployeeCursors.Funct1()
call Funct1()
All produced the following error message:
ERROR at line 1:
ORA-06576: not a valid function or procedure name
How do I call Funct1()?
Thanks so much in advance,
--Anna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Hello Frank,
Thanks for the information regarding not using the system schema when creating packages.
I tried what you suggested to call the Funct1 in many ways:
SQL> mycursor := system.getEmployeeCursors.funct1;
SP2-0734: unknown command beginning "mycursor :..." - rest of line ignored.
SQL> mycursor := getEmployeeCursors.funct1;
SP2-0734: unknown command beginning "mycursor :..." - rest of line ignored.
SQL> mycursor := funct1;
SP2-0734: unknown command beginning "mycursor :..." - rest of line ignored.
SQL> select *
2 from table(system.getEmployeeCursors.funct1);
from table(system.getEmployeeCursors.funct1)
ERROR at line 2:
ORA-22905: cannot access rows from a non-nested table item
Could there be something else I need to do before making the function call?
Thanks alot!
--Anna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • EL - How do you call a method that requires a parameter

    How do you call a method that requires a parameter
    In scriplet code here is what I am trying to do
    <%= car.getDefaultColor(car.getCarType()) %>
    How do I do this in EL
    Here is my guess (it generates the Exception described below)
    ${car.defaultColor(car.carType)}
    Here is the Exception I am getting:
    javax.servlet.ServletException: <h3>Validation error messages from tag library c</h3>tag = 'out' / attribute = 'value': An error occurred while parsing custom action attribute "value" with value "${car.defaultColor(car.carType)}": Encountered "(", expected one of ["}", ".", ">", "gt", "<", "lt", "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or", "||"]
    Any Ideas?
    P.S. If it matters to you, I am using JSTL 1.0 and the code snippets above are actually within the value attribute of a <c:out value="" /> statement.

    How do you call a method that requires a parameter
    In scriplet code here is what I am trying to do
    <%= car.getDefaultColor(car.getCarType()) %>
    How do I do this in ELYou don't. EL is very strict in method signatures. All get methods must be public Type getProperty(void); And all set methods must be public void setProperty(Type t);
    So you will have to re-work your Bean so it does not need an argument to the get method (getDefaultColor()). Since you are calling another method out of car, you might re-write the getDefaultColor method as such:
      public Object getDefaultColor() {
        CarType ct = this.getCarType();
        //then do other stuff
      }If that isn't suitable, then provide a helper method that is used to set the current car type and then call the getDefaultColor:
      private CarType curCarType;
      public void setCurrentCarType(CarType ct) { curCarType = ct; }
      public Object getDefaultColor() {
        if (curCarType == null) throw new IllegalStateException("CarType must be set before getting color");
        //normal work using curCarType
    <c:set target="${car}" property="currentCarType" value="${car.carType}"/>
    <c:out value="${car.defaultColor}"/>It is better to do as little of the data manipulation (setting up the car type) in the JSP as possible, so the first option is better than the second. Also better then the second would be to set the current car type in a servlet or data access object (or wherever) from which your retreive the car to begin with. Manipulatig it in the JSP itself should be your last resort (to keep as much business logic out of the JSP as possible).
    Here is my guess (it generates the Exception
    described below)
    ${car.defaultColor(car.carType)}
    Here is the Exception I am getting:
    javax.servlet.ServletException: <h3>Validation error
    messages from tag library c</h3>tag = 'out' /
    attribute = 'value': An error occurred while parsing
    custom action attribute "value" with value
    "${car.defaultColor(car.carType)}": Encountered "(",
    expected one of ["}", ".", ">", "gt", "<", "lt",
    "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", "[",
    "+", "-", "*", "/", "div", "%", "mod", "and", "&&",
    "or", "||"]
    Any Ideas?
    P.S. If it matters to you, I am using JSTL 1.0 and
    the code snippets above are actually within the value
    attribute of a <c:out value="" /> statement.

  • How do you call a function within a package using OCI in C

    I am trying to call a user-defined function in Oracle 8.1.7 using OCI in C. I am getting a ORA-06550 PLS-00221, <function name> is not a procedure or is undefined. Can anyone tell me how I would call a function using OCI?
    Thanks.

    I think I figured it out, but I am now getting a ORA-06512 error; numeric or value error: character string buffer too small.

  • How do you call a function in an attached MovieClip from the current MovieClip?

    Hi there,
    I have this MovieClip A (converted as a symbol) and put in my
    main MovieClip B using attachMovie() , and I am wondering how I can
    call a function defined in A from within B.
    Is it possible?
    Thanks

    Hi kglad,
    yes, I did the attachMovie of the symbol B and it seems like
    none of the ActionScript written in B was not carried over.
    This is how I built B into a symbol :
    (1) Two layers ( one for the ActionScript only, the other for
    the Components)
    (2) I defined the functions to be called remotely by A in the
    ActionScript layer
    (3) I selected all the components in the Components Layer and
    did a Convert To Symbol
    (4) I added the Symbol into A's Library
    (5) I used attachMovie to instantiate the Symbol of B
    I must have missed out something somewhere
    Thanks

  • How do you call a function module in a web dynpro application ?

    Why do you delete my postings ?????????????????????????????
    pls see subject
    Edited by: Ilhan Ertas on Apr 1, 2009 4:51 PM
    Edited by: Ilhan Ertas on Apr 1, 2009 4:52 PM

    Its not me deleting them.  Perhaps a different moderator or a technical problem within SCN itself.
    Someone might be concerned about your question because it is very basic.
    You can call a function module from WD the same way you did in any ABAP program - with the CALL FUNCTION syntax.  There is a service call wizard that will generate a matching context and calling code for you - but it is just a helper, code generator.  Everything it does can be done by hand as well (and often better than the generator).

  • How do we call a function returning a collection from package

    Dear Member,
    i have a package spec whose code is as follows:
    create or replace package c_test as
    procedure main;
    TYPE JOURNAL_HEADER_TYPE IS TABLE OF NUMBER;
    l_header JOURNAL_HEADER_TYPE := JOURNAL_HEADER_TYPE();
    TYPE JOURNAL_SOURCE_TYPE IS TABLE OF VARCHAR2(255);
    l_source  JOURNAL_SOURCE_TYPE := JOURNAL_SOURCE_TYPE();
    FUNCTION JOURNAL_SOURCE_STRING(P_SOURCE_STRING IN VARCHAR2)
    RETURN JOURNAL_SOURCE_TYPE;
    FUNCTION JOURNAL_HEADER_STRING(P_HEADER_STRING IN VARCHAR2)
    RETURN JOURNAL_HEADER_TYPE;
    end main;
    I have a package body in which i am trying to call the above functions in the procedure main:
    SELECT COUNT(*)
    INTO l_je_header_id_count
    FROM ( select c_charge.je_header_id je_header_id
    from dual)
    WHERE je_header_id IN (select * from THE ( SELECT CAST(JOURNAL_HEADER_STRING(P_JOURNAL_HEADER_ID) AS JOURNAL_HEADER_TYPE ) FROM dual ))
    if i try to compile the package its giving me ORA-00902: invalid datatype error. How do i remove this error.
    If i create both "Type" and "Function" separately outside package then the above sql works perfectly.
    Please correct me if am doing any thing wrong here.
    Thanks

    Hi,
    The collection type that you declared local to the pl/sql procedure/ package and is not visible to SQL.
    If you want to use the collection in your sql, you need to create it as a SQL Type and then use it in your queries.
    Thanks.
    Rajesh.

  • How to call a Function that will return me boolean value

    Hi all ,
    I am try to call a function that is included in my ApplictionModule the following is my method code
    public boolean callUpdateDepartmentNameFunction(int deptNo,String newName)
    boolean result=false;
    System.out.println("first");
    CallableStatement plsqlBlock =null;
    System.out.println("sec");
    String statement="BEGIN :3 = update_dname_func(:1,:2); END;";
    System.out.println("third");
    plsqlBlock=getDBTransaction().createCallableStatement(statement,0);
    try{
    System.out.println("forth");
    plsqlBlock.registerOutParameter(3,OracleTypes.BOOLEAN);
    plsqlBlock.setInt(1,deptNo);
    plsqlBlock.setString(2,newName);
    plsqlBlock.execute();
    result=plsqlBlock.getBoolean(0);
    catch(SQLException sqlException)
    throw new SQLStmtException(CSMessageBundle.class,CSMessageBundle.EXC_SQL_EXECUTE_COMMAND,statement,sqlException);
    finally
    try{
    plsqlBlock.close();
    catch(SQLException e)
    e.printStackTrace();
    } return result;
    while am runing my page is am getting error like
    Error
    1. JBO-29000: Unexpected exception caught: oracle.jbo.SQLStmtException, msg=JBO-27121: SQL error during statement execution. Statement: BEGIN :3 = update_dname_func(:1,:2); END;
    2. JBO-27121: SQL error during statement execution. Statement: BEGIN :3 = update_dname_func(:1,:2); END;
    3. Invalid column type
    callUpdateDepartmentNameFunction_deptNO          
    callUpdateDepartmentNameFunction_newName          
    callUpdateDepartmentNameFunction
    regards,
    Prabeethsoy P

    Hi,
    http://download-uk.oracle.com/docs/html/B25947_01/bcadvgen005.htm#sm0297
    has an example of how to call a stored procedure with out parameters. Please correct your code accordingly
    Frank

  • Can a loaded SWF call a function that lives in the parent?

    I'm building a pretty simple Flash site in AS3. There is a
    main movie (main.swf) that simply loads different swfs via buttons
    on a main nav bar. The user clicks on a MC in "main.swf" and a
    function is called, loadMyContent("section1.swf"), is called and it
    animates in nicely. Other buttons use the same function, loading
    section2.swf, section3.swf, etc.
    I've defined how "loadMyContent()" works in the the main
    movie's document class file. It's all working fine when I just need
    to load content from a user action from the buttons that live in
    "main.swf". I want to call that same "loadContent" function from
    within "section1.swf" and have "main.swf" run it's "loadContent"
    fuction, but I can't seem to figure out how to make a child call a
    function that lives in the parent.
    Is there any way of having my child do this?
    I have a suspicion I may have to define that "loadContent"
    somewhere else, but I'm a little stumped now. I'm not really
    familiar with design patterns yet, although I want to get an
    understanding of them sometime soon. Can anyone offer some help
    with my immediate need or suggest a route to a solution?
    Thanks.

    kglad,
    Thank you very much! That worked perfectly. My section1 FLA
    is now compiling it's SWF without complaint.
    In case someone else is following this, the exact code I
    ended up using to cast "this.parent.parent" as a MovieClip is:
    MovieClip(this.parent.parent).loadMyContent("section2.swf");
    The discussion I think kglad is referencing is
    this
    discussion. If that's not it, just let me know. Again, kglad,
    thank you!

  • How do you call 0900 numbers on iphone?

    how do you call 0900 numbers on iphone? it keeps saying that i cant call it- is there a code or anything?
    im on vodafone
    thanks

    thanks for the advice both
    ive noticed though that sometimes companies provide a cheaper alternative to an 0900 number as in 8***** or something - if this makes any sense? but even those numbers are still blocked???

  • How do you use an app that you downloaded on your computer?

    How do you use an app that you down loaded on your computer. I am having trouble because I can download the app just fin but when I actually want to use that app I have no idea what to do. I tried to look for any open buttons but there are none. I downloaded the app on my phone origionaly and I then I downloaded it on my laptop. the app is called arkvpn.

    The apps for the iPhone will not run on Mac

  • When I send e-mail messages with file by using a POP3 in Exchange 2010 I received delivered message with file. How I can disable this functions that file do not include to delivery message. I use Exchange 2010 only local users.

    When I send e-mail messages with file by using a POP3 in Exchange 2010 I received delivered message with file. How I can disable this functions that file do not include to delivery message.  I use Exchange 2010 only local users.

    I think there is not native rule for this, but you could try a transport rule which removes all attachments over a very small file size like 1KB.
    http://blogs.technet.com/b/exchange/archive/2009/05/11/3407435.aspx
    CRM Advisor

  • How do you call a field?

    Good morning everyone,
    I'm trying to work with the BufferedInputStream (work from friday) and i went to the website:
    http://java.sun.com/j2se/1.4.2/docs/api/java/io/BufferedInputStream.html#BufferedInputStream(java.io.InputStream)
    at that website they have a "field summary" and i want to use the buf array (cause it says thats where the data is stored) but i cant figure out the coding to put it in my project. how do you call a field?

    Fr. Murderess,
    a) The short answer is "no". Only public methods and fields can be accessed that way.
    b) If getting the "buf" field is of paramount importance to you, declare a class like this:
    public class MyBufferedInputStream extends BufferedInputStream {
        public MyBufferedInputStream(InputStream in) { super(in); }
        public MyBufferedInputStream(InputStream in, int size) { super(in, size); }
        public byte[] getBuf() { return buf; }
        public void setBuf(byte[] newBuf) { buf = newBuf; }
    }to get and set the "buf" field. As you can see by reading the source code of BufferedInputStream, the other fields (count, pos and markpos) are needed too, and you will need to provide the getters and setters for the other fields.
    It's better not to "fiddle" with the protected fields of BufferedInputStream. Simply use BufferedInputStream "as is", and don't bother about the "buf" field.
    I think that you will need to tinker only with the size of the buffer (maybe to cache more data inside), but it is available in the second constructor of BufferedInputStream (InputStream in, int size).

  • How do you call a java class from the main method in another class?

    Hi all,
    How do you call a java class from the main() method in another class? Assuming the two class are in the same package.
    Thanks
    SI
    Edited by: okun on May 16, 2010 8:40 PM
    Edited by: okun on May 16, 2010 8:41 PM
    Edited by: okun on May 16, 2010 8:47 PM

    georgemc wrote:
    To answer your impending question, either the method you're calling has to be static, or you need an instance of that other class to invoke it against. Prefer the latterAnd to your impending question after that: no, don't use the Singleton pattern.

  • How do you call a method from  another class without extending as a parent?

    How do you call a method from another class without extending it as a parent? Is this possible?

    Why don't you just create an instance of the class?
    Car c = new Car();
    c.drive("fast");The drive method is in the car class, but as long as the method is public, you can use it anywhere.
    Is that what you were asking or am I totally misunderstanding your question?
    Jen

  • Dont ask why! How do I call an applet that is in a jar file that is...

    Can someone tell me how I would call an applet that is inside of a jar file that is inside of a parent jar file?
    example call to an Applet
    <APPLET CODE="TimeApplet" ARCHIVE="time.jar" />what I want to do is something like
    <APPLET CODE="TimeApplet" ARCHIVE="parent.time.jar" />
    where parent is the top jar and time is the inner jar.any help or links to tutorials/articles would be most appreciated.
    if you ask why I wont answer.

    we are doing a signed applet and we only want the user to have to sign 1 time
    and we have lots of applets to display so we dont want to have them sign for
    each item.Sorry but that doesn't make much sense, niether does putting a jar file in a jar file.
    Do you want the "do you trust" question only one time? If so than you only have
    to sign all the jar files with the same key.
    You can load a jar file from your applet but it seems that these jar files will run
    in sanbox security no matter how you sign it:
    http://forum.java.sun.com/thread.jspa?messageID=3582952
    Asking why does make sense, I coud be asking how to climb a building without
    telling my objective is to get on the 10th floor.
    You would tell me how to climb the building an I'd probably do it and find out
    later I could just as well have taken the elivator.

Maybe you are looking for

  • Job cancelled

    Dear Team, One of my user has left the job . now his Login ID has been deleted.But I am looking daily two job is cancelled  because these job was scheduled by his name. Now I want to schedule these two job with my login ID. How I schedule these job w

  • TABLE FUNCTION call - cast - InvalidType ORA-06550

    hello, I keep getting the following exception: +"... PL/SQL: ORA-00902: invalid datatype ORA-06550: line 7, column 1: ..."+ I created type here: CREATE OR REPLACE PACKAGE types AS TYPE TmpHiearchyMapTableType IS TABLE OF TMP_HIERARCHYMAP%ROWTYPE INDE

  • Problem Posting A/R Invoice

    Hi All, I am trying to post a/r invoice and this message appear. Error: Item layer/s has negative value. Modify price via Material revaluation [173-143]. Thanks...

  • Can anyone help me identify a book?

    I was browsing the app store a couple of weeks ago when I came across an interesting book. (As a side-note, I've learned a lesson that you should buy an app/book when you see it the first time! You might not find it next time you search!) Anyway....I

  • Poker game logic(again)

    i think that this will be the last thread that i will start on the subject of poker. if you have not looked at the other poker game logic threads, it might help. if figured out ways to check for repeaded cards(2,3,4,2&2,2&3) and how to do the flush.