Error PLS-00201

Dear All
I am getting this error while executing a function .
I checked in the dB The table DES_OUT_WR_CR is already exist .
What could be the error ?
LINE/COL ERROR
0/0 PL/SQL: Compilation unit analysis terminated
2/17 PLS-00201: identifier 'DES_OUT_WR_CR' must be declared

The error is you don't use online resources and ask a FAQ.
Sybrand Bakker
Senior Oracle DBA

Similar Messages

  • Stored Procedure Call from Bean Error - PLS-00201

              Hello all,
              I am using the java stored procedure code in the examples dir of weblogic51/examples/jdbc/...
              with one exception. I created the stored procedure as another user with more
              permissions than
              the user that the jdbc connection will be established with. I created a public
              synonym so the stored
              procedure doesn't have to be refered to as "username.proc_squareInt". I keep
              getting the following
              errors. The web user has execute permissions and I tried calling it both with
              the owner.proc_name
              and proc_name (which I know won't work since it won't be able to find it).
              Any help would be greatly appreciated.
              Sincerely,
              Michael Prinsen
              Tue Jul 17 13:47:41 MDT 2001:<E> <WebAppServletContext-et> Root cause of ServletException
              java.sql.SQLException: ORA-06550: line 1, column 7:
              PLS-00201: identifier 'WTHDBM.PROC_SQUAREINT' must be declared
              ORA-06550: line 1, column 7:
              PL/SQL: Statement ignored
                   at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
                   at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
                   at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
                   at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1330)
                   at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:757)
                   at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1313)
                   at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1232)
                   at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement.java:1353)
                   at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1760)
                   at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1807)
                   at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:332)
                   at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:376)
                   at weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java:35)
                   at csu.et.testBean.getWeatherData1(testBean.java:46)
                   at jsp_servlet._test._tester._jspService(_tester.java:107)
                   at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
                   at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
                   at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:138)
                   at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
                   at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
                   at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
                   at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
                   at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
              // START CODE
              package csu.et;
              import java.io.*;
              import java.sql.*;
              import java.util.*;
              import java.text.*;
              import java.beans.*;
              import java.math.*;
              import java.util.Date;
              import java.util.Locale;
              import csu.util.*;
              public class testBean {
              public String getWeatherData1() throws SQLException {
              Connection conn = null;
              conn = CSUConnection.getConnection("etSelectConnectionPool");
              // Create a stored proc - (CREATED ALREADY)
              // Statement stmt1 = conn.createStatement();
              // stmt1.execute("CREATE OR REPLACE PROCEDURE proc_squareInt " +
              // "(field1 IN OUT INTEGER, " +
              // " field2 OUT INTEGER) IS " +
              // "BEGIN field2 := field1 * field1; " +
              // "field1 := field1 * field1; END proc_squareInt;");
              // stmt1.close();
              String sql = "{call proc_squareInt(?, ?)}";
              CallableStatement cstmt1 = conn.prepareCall(sql);
              cstmt1.registerOutParameter(2, java.sql.Types.INTEGER);
              for (int i = 0; i < 5; i++) {
              cstmt1.setInt(1, i);
              cstmt1.execute();
              System.out.println(i + " " + cstmt1.getInt(1) + " " + cstmt1.getInt(2));
              cstmt1.close();
              conn.close();
              return("hard-coded stuff");
              //END CODE
              

    this is probably an oracle related issue, and has very little to do with
              Weblogic transactions.
              your easiest way to debug this is to open a SQL/Plus window, log in as user
              WTHDBM and try to run the command
              "execute proc_squareInt(5,5);"
              "execute owner.proc_squareInt(5,5);"
              if this doesn't work, consult Oracle technet on how to setup synonyms and
              permissions
              Filip
              ~
              Namaste - I bow to the divine in you
              ~
              Filip Hanik
              Software Architect
              [email protected]
              www.filip.net
              "Michael Prinsen" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Hello all,
              >
              > I am using the java stored procedure code in the examples dir of
              weblogic51/examples/jdbc/...
              > with one exception. I created the stored procedure as another user with
              more
              > permissions than
              > the user that the jdbc connection will be established with. I created a
              public
              > synonym so the stored
              > procedure doesn't have to be refered to as "username.proc_squareInt". I
              keep
              > getting the following
              > errors. The web user has execute permissions and I tried calling it both
              with
              > the owner.proc_name
              > and proc_name (which I know won't work since it won't be able to find it).
              >
              > Any help would be greatly appreciated.
              >
              > Sincerely,
              >
              > Michael Prinsen
              >
              > Tue Jul 17 13:47:41 MDT 2001:<E> <WebAppServletContext-et> Root cause of
              ServletException
              > java.sql.SQLException: ORA-06550: line 1, column 7:
              > PLS-00201: identifier 'WTHDBM.PROC_SQUAREINT' must be declared
              > ORA-06550: line 1, column 7:
              > PL/SQL: Statement ignored
              >
              > at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
              > at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
              > at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
              > at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1330)
              > at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:757)
              > at
              oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1313
              > at
              oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1232)
              > at
              oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement.java:1
              353)
              > at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1760)
              > at
              oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
              :1807)
              > at
              oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
              ment.java:332)
              > at
              oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.j
              ava:376)
              > at weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java:35)
              > at csu.et.testBean.getWeatherData1(testBean.java:46)
              > at jsp_servlet._test._tester._jspService(_tester.java:107)
              > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
              > at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :120)
              > at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :138)
              > at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              l.java:915)
              > at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              l.java:879)
              > at
              weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
              Manager.java:269)
              > at
              weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
              > at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
              >
              >
              >
              > // START CODE
              >
              > package csu.et;
              >
              > import java.io.*;
              > import java.sql.*;
              > import java.util.*;
              > import java.text.*;
              > import java.beans.*;
              > import java.math.*;
              > import java.util.Date;
              > import java.util.Locale;
              > import csu.util.*;
              >
              > public class testBean {
              >
              > public String getWeatherData1() throws SQLException
              >
              > Connection conn = null;
              > conn = CSUConnection.getConnection("etSelectConnectionPool");
              >
              > // Create a stored proc - (CREATED ALREADY)
              > // Statement stmt1 = conn.createStatement();
              > // stmt1.execute("CREATE OR REPLACE PROCEDURE proc_squareInt " +
              > // "(field1 IN OUT INTEGER, " +
              > // " field2 OUT INTEGER) IS " +
              > // "BEGIN field2 := field1 * field1; " +
              > // "field1 := field1 * field1; END proc_squareInt;");
              > // stmt1.close();
              >
              > String sql = "{call proc_squareInt(?, ?)}";
              > CallableStatement cstmt1 = conn.prepareCall(sql);
              >
              > cstmt1.registerOutParameter(2, java.sql.Types.INTEGER);
              > for (int i = 0; i < 5; i++) {
              > cstmt1.setInt(1, i);
              > cstmt1.execute();
              > System.out.println(i + " " + cstmt1.getInt(1) + " " +
              cstmt1.getInt(2));
              > }
              >
              > cstmt1.close();
              > conn.close();
              > return("hard-coded stuff");
              > }
              >
              > }
              >
              > file://END CODE
              

  • Failed to execute SP with error PLS-00201

    I've stored procedure called CAL_TAX which create by schema EMP_DBA, right now I want to grant execute right on this SP to user USER1. I've execute below statement:
    CREATE USER USER1 IDENTIFIED BY USER1234;
    GRANT CONNECT TO USER1;
    GRANT RESOURCE TO USER1;
    GRANT CREATE SESSION TO USER1;
    GRANT EXECUTE ON EMP_DBA.CAL_TAX TO USER1;
    DECLARE
    CURSOR C1 IS SELECT TABLE_NAME FROM USER_TABLES;
    CMD VARCHAR2(200);
    BEGIN
    FOR C IN C1 LOOP
    CMD:='GRANT SELECT ON ' || C.TABLE_NAME || ' TO USER1';
    EXECUTE IMMEDIATE CMD;
    END LOOP;
    END;
    When I connect as USER1 and execute SP CAL_TAX, I received below error messages. Can anyone help me on this ? I've no problem to execute SP if connect as EMP_DBA
    BEGIN CAL_TAX; END;
    ERROR AT LINE 1:
    ORA-06550: LINE 1, COLUMN 7:
    PLS-00201: IDENTIFIER 'CAL_TAX' MUST BE DECLARED
    ORA-06550:LINE 1, COLUMN 7:
    PL/SQL: STATEMENT IGNORED
    This is the part of the SP CAL_TAX, could it AUTHID CURRENT_USER caused this problem ?
    CREATE OR REPLACE PROCEDURE CAL_TAX
    AUTHID CURRENT_USER
    IS

    When I connect as USER1 and execute SP CAL_TAX, I received below error messages. Can anyone help me on this ? I've no problem to execute SP if connect as EMP_DBA
    BEGIN CAL_TAX; END;
    You are connected as USER1 trying to execute a procedure named CAL_TAX.
    But USER1 does not own any object named CAL_TAX so you  get the exception.
    User EMP_DBA owns object CAL_TAX so USER1 has to provide the schema prefix to reference that object
    BEGIN
       EMP_DBA.CAL_TAX;
    END;
    If you create a public synonym then USER1 can use the synonym to reference the object.

  • Problem with DBMS_XDB.SETLISTENERLOCALACCESS (error PLS-00201)

    Hello everyone,
    I'm new to oracle and I have a problem after my installation.
    I install Oracle XE 11.2 on CENTOS 6.
    The installation does not seem to be a problem.
    Now I'm trying to activate the web interface for my lan with the command EXEC DBMS_XDB.SETLISTENERLOCALACCESS (FALSE);
    Unfortunately it does not work. Here is the error:
    -bash-4.1$ ./sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 20 15:40:23 2013
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
    BEGIN DBMS_XDB.SETLISTENERLOCALACCESS(FALSE); END;
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00201: identifier 'DBMS_XDB.SETLISTENERLOCALACCESS' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    SQL>
    If someone can help me ... (and sorry for my english).

    Pretty sure the ...setlistenerlocalaccess call is not needed for the 11g XE version, by default in a 10g XE install remote apex access was disabled "out of the box". There was a change to that behavior in the final (?) 11g installer.
    Try a `desc[ribe] dbms_xdb` in sqlplus, that should give a (fairly long) listing of that package, its procedures and functions. What matters for getting the apex web pages working is a few items that relate to the network setup for the host and how the installer gets all that set up in the $ORACLE_HOME/network/admin/listener.ora file.
    Also note per the XE docs, Managing Network Connections says to use a SYSTEM connection, not SYSDBA, although for the XE setup on my (windows host) either a sysdba or a system connection both run that exec statement OK for me. Might be a linux vs. windows thing.
    A `lsnrctl status` output will show an HTTP presentation endpoint (default port 8080) in the section "Listener endpoints ..." as well as an endpoint to service remote database connection requests on port 1521. If the 8080 endpoint is not showing up, nothing will get the apex working. Nothing.
    And if you want to connect to apex from a different (remote) host be sure port 8080 is open in the firewall. That step is a frequent tripping point for lots of folks.
    Message was edited by: clcarter
    added system connection info from XE docs

  • PLS-00201 ERROR

    Hi to all,
    I have tried to create this procedure:
    CREATE OR REPLACE PROCEDURE VERIFY_CREDENTIALS
      pUSERNAME IN VARCHAR2,
      pPASSWORD in VARCHAR2
    IS
       lCounter number;
       lPassword varchar(255) DEFAULT GET_HASHED_PW( pPASSWORD);
    BEGIN
       SELECT COUNT(*) INTO lCounter
         FROM WEBUSERS
              WHERE USERNAME = pUSERNAME
              AND   ENCRYPTEDPWD = lPassword;
       IF ( lCounter = 0 ) THEN
            RAISE_APPLICATION_ERROR( -20001, 'invalid USERNAME/password' );
       END IF;
    END;When I compile, the error
    PLS-00201 - The identifier GET_HASHED_PW must be declared
    is displayed.
    How can resolve this problem ? Can You help me ?
    The DB Version is 10.2.0.1.0 under Windows 2003 Server
    Thank You and Best Regards
    Gaetano

    Solved,
    The GET_HASHED_PW is declared in a Package.
    I have added the name of package to the function and all work.
    Thank You.
    Gaetano

  • PLS-00201 error when declaring ROWTYPE variable

    Hi,
    I want to declare the rec_ variable like this:
    PROCEDURE Insert___ (
    objid_ OUT VARCHAR2,
    objversion_ OUT VARCHAR2,
    new_ IN OUT VARCHAR2,
    attr_ IN OUT VARCHAR2 )
    IS
    rec_ OBUS.ORDER_TAB%ROWTYPE;
    where ORDER_TAB belongs to the OBUS schema, a different schema from where the present procedure is being created.
    When compiling, I get the following error:
    "PLS-00201: identifier 'OBUS.ORDER_TAB' must be declared"
    Why do I get this? Can't I refer to a different schema in the declaration area of the procedure?
    Thanks.
    Leandro.

    Thank you both. It compiled ok after granting the select privilege.
    However, I was able to execute a "select * from obus.order_tab" from a SQLPlus session, no matter if I had granted or not the SELECT privilege for that table.
    It seems the behaviour is different in a SQL session from a declaration in a procedure. Am I right? What could be the reason for this?
    Thanks.
    Leandro.

  • ORA-06550/PLS-00201 error while configuring data source

    Hi,
    My development platform is Visual Studio 2005, ODAC11g Release 1 (11.1.0.6.20), and Oracle 10g Release 2 database.
    I tried to setup a sqlDatasource in my web page using drag and drop features
    When I configure the sqlDatasource to use a stored procedure inside a package,
    I notice that odp.net uses #0# as separator (instead of .) between package name and procedure name in Configure Data Source dialog box. Then when I clcik the Test Query button, I got following error.
    There was an error executing the query. Please check the syntax of the command and if present, the types and values of the parameters and ensure they are correct.
    ORA-06550: line 1, column 7:
    PLS-00201: identifier 'PK_LOOKUP_TABLE#0#P_LIST' must be declared
    ORA-06550: line 1, column 7
    PL/SQL: Statement ignored
    It looks like odp.net cannot locate PK_LOOKUP_TABLE#0#P_LIST.
    Is there any workaround ?
    Below is the stored procedure code. It compiles and runs without problem.
    PACKAGE BODY pk_lookup_table
    AS
    /* Get a list of lookup table name */
    PROCEDURE P_LIST (
    O_CURSOR OUT sys_refcursor )
    IS
    l_cur sys_refcursor;
    BEGIN -- executable part starts here
    OPEN l_cur FOR
    SELECT table_name
    FROM all_tab_comments u
    WHERE u.comments LIKE '%Lookup Table%'
    ORDER BY 1;
    o_cursor := l_cur;
    END P_LIST;
    END "PK_LOOKUP_TABLE";
    On the sqlDataSource property sheet, if I click the Select Query property, the Command and Parameter Editor will open, then I can change the select command name to PK_LOOKUP_TABLE.P_LIST. Then if I run the application, I get another error.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: Oracle.DataAccess.Client.OracleException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'P_LIST'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    Seems that it can locate the procedure.
    In the Command and Parameter Editor dialog, I can add output parameter, but data type is restricted. There is no REF CURSOR datatype in the dropdown list.
    How can I add output parameter with REF CURSOR type via IDE ?
    Thanks for the time looking into this issue.
    Mansion

    Hi
    Even I faced this problem while connecting to RMAN . But I feel your problem is different .
    My issue was like this
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00554: initialization of internal recovery manager package failed
    RMAN-04005: error from target database:
    ORA-06550: line 1, column 7:
    PLS-00201: identifier 'DBMS_BACKUP_RESTORE.SET_CHARSET' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    RMAN-04015: error setting target database character set to WE8MSWIN1252
    Solution :
    execute catproc.sql;

  • PLS-00201 error when trying to pass an OUT parameter

    Hi,
    Please help me to resolve the below error:
    I am trying to pass an OUT parameter in a package.
    I have declared it in package specs as
    ProcABC(p_val IN varchar2, p_val2 IN varchar2, p_val3 OUT varchar2)
    In package body
    I have created the procedure as
    Create or Replace procedure ProcABC(p_val IN varchar2, p_val2 IN varchar2, p_val3 OUT varchar2) AS
    v_LogDir varchar2(40);
    v_message varchar2(200);
    BEGIN
    SELECT directory_path into v_LogDir FROM ALL_DIRECTORIES WHERE directory_name = 'ABC';
    v_message := v_LogDir ;
    some sql statements..
    p_val3 := v_message;
    Return p_val3;
    End procABC;
    SQL> exec pkg_A.procABC('Stage2', NULL, p_val3);
    Package compiles successfully but while execution it returns error as:
    ORA-06550: line 1, column 74:
    PLS-00201: identifier 'p_val3 ' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    Please advise.

    Hi Suresh,
    Thanks for the information and help. I was able to run the package with this usage.
    Now, the issue is
    I need to return a v long string by the OUT parameter so I defined the datatype of OUT parameter as CLOB.
    But, when I declare local variable to run the package with this OUT paramater I get the error :
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at line 1
    When I pass a shorter string it works.
    Kindly advise me how to resolve this issue while using CLOB as datatype of OUT parameter.

  • PLS-00201 error occurs when batching a stored procedure in SQL*Plus

    I have a batch file to run a stored procedure and spool the results to file. When I enter the commands manually in sql*plus the output works fine and my results are spooled to the output file. But when I run the same commands in the batched script I get an error.
    Any ideas?
    Stored Procedure:
    create or replace procedure MMP( p_cursor in out SYS_REFCURSOR)
    as
    begin
    open p_cursorfor select name, id from table;
    end;
    batch file 1:
    sqlplus -S user/pw@REPORTDV @sp_output_spooled.sql
    script file sp_output_spooled.sql
    Pasting these commands directly to the SQL*Plus command prompt spools the result set to file as expected.
    set colsep '|'
    set echo off
    set feedback off
    set termout off
    set heading off
    set linesize 9000
    set pagesize 0
    set trimspool on
    set headsep off
    spool output.TXT
    var rc refcursor
    execute MMP(:rc)
    print rc
    spool off
    exit
    The errors printed to output.TXT file after the batch is run and error occurs:
    BEGIN MMP(:rc); END;
    ERROR at line 1:
    ORA-06550: line 1, column 8:
    PLS-00201: identifier 'MMP' must be declared
    ORA-06550: line 1, column 8:
    PL/SQL: Statement ignored
    ERROR:
    ORA-24338: statement handle not executed
    SP2-0625: Error printing variable "rc"

    Hi,
    Your code worked fine for me.
    Is MMP procedure owned by the same user that is running the batch file or does it have proper privileges and synonym?
    vr,
    Sudhakar

  • Errors: REPAPI 26522 & PLS 00201

    Received these errors when trying to test replication.
    "REPAPI 26522:plsql rpc refresh context get failed."
    "PLS 00201: identifier sys.dbms_snap_repapi must be declared."
    Here's what I have done:
    I defined snapshot log on master ok.
    When I drag/drop master table to "snapshots" folder in Lite
    navigator I get the "New snapshot properties" dialog; I give it
    a name and set read-only; no conditions are set on second tab
    page. I press ok and get the above error dialog.
    Thanks for any info.

    Just an idea...
    If you have had typical installation, advanced replication
    features don't come as typical. Please check out if you have
    installed the Replication manager and a few more utilities (for
    file-based replication).

  • PLS-00201: identifier...   ERROR

    Hi,
    I'm very new at PL/SQL and creating stored procedures. I'm trying to create a very simple stored procedure that inserts a row into the WFLOW table, but I keep receiving an error that looks like this:
    PLS-00201: identifier 'WFLOW' must be declared
    However, if I insert directly, it works.
    Please see the code used below:
    CREATE OR REPLACE PROCEDURE inWflowRules IS
    BEGIN
    INSERT INTO WFLOW (WFLOW_RULE_I, WFLOW_RULE_T) VALUES (2,'This is the 2nd row.');
    END inWflowRules;
    Please help.
    Thanks,
    Lukeisha

    If the table exists in another schema, it is easier to create a public synonym fro that table, so that other users can see that table without adding the schema name in front of the table.
    Try this in sqlplus:
    select * from wflow where rownum=1;
    Do you get an error?
    If not, than you are probably not authorized to use table wflow in a procedure. The owner of the table has to grant you for this table.
    grant select, insert, update, delete on wflow to <user>;

  • PLS-00201: identifier error with grnats to roles

    Hi all,
    Consider the following: In schema AA I have several tables and packages. All grants (select, insert, update, delete for tables en execute for packages) are set to roles. User BB got the role contaning all those grants. Furthermore, for all objects in schema AA there are public synonyms. Also, user BB got our developer role to create things and a directly granted 'execute any procedure' privilege (forgot why).
    If user BB runs the application, no problems, grants take good care. But if user BB creates an object and wants to refer to schama AA objects, eg.
    DECLARE
      t_var  USERAA_TABLE.identifier%TYPE;
    BEGIN
    END;I get the "PLS-00201: identifier '...' must be declared" error during compilation. Why is this? And, in our 8.1.7 database the above setup compiles without problems.
    I sure don't hope I have to grant directly to developers, since I would like to control this using roles instead of maintaining all developers users.
    Anyone? What am I missing here?
    Regards,
    Michiel

    Thanks,
    The USERAA_TABLE (which is owned by user AA) indeed has a (public) synonym.
    If this is true (grant directly for compiling in Pl/Sql), I think this is a horrible step (since this was not the case in Oracle 8.1.7).
    Our application is in schema AA, developers first deploy into their own schema, eg. schema BB (say: one package of the application). When you run the application inside schema BB the altered package is used and the rest of the application is used from schema AA, perfectly for testing. When all is to our satisfaction the DBAs deploy into schema BB (I know, the above does not completly apply when packages are fired from within table triggers).
    Schema BB now doesn't compile anymore, because all grants are passed via roles and not direclty. Certainly a big drawback if you have a lot of tables and developers.
    Does anyone have encountered these problems?

  • PLS-00201 error calling function in package member

    Hello,
    I'm trying to call a function defined in a PL/SQL package, but receiving a PLS-00201 error.

    Sorry, a finger-controller error caused me to submit before I was ready. I'm having the module replaced today. :)
    After rethinking my decision to post here, I decided not to. I've never received a helpful answer, probably because the issues are not simple... Too bad.

  • PLS-00201 ERROR - XML. and XPATH. Calls

    I'm getting the below errors. I've loaded javavm and inixml.
    Does anyone have any suggestion on compiling the vendor code.
    Thanks. Corey
    SQL> show errors
    Errors for PACKAGE BODY INTR_ITIN_PKG:
    LINE/COL ERROR
    334/3 PL/SQL: Statement ignored
    334/13 PLS-00201: identifier 'XML.PARSE' must be declared
    341/3 PL/SQL: Statement ignored
    341/21 PLS-00201: identifier 'XPATH.SELECTNODES' must be declared
    353/5 PL/SQL: Statement ignored
    353/22 PLS-00201: identifier 'XPATH.SELECTNODES' must be declared
    363/5 PL/SQL: Statement ignored
    363/21 PLS-00201: identifier 'XPATH.SELECTNODES' must be declared
    480/3 PLS-00201: identifier 'XML.FREEDOCUMENT' must be declared
    480/3 PL/SQL: Statement ignored
    498/11 PL/SQL: Statement ignored
    LINE/COL ERROR
    498/29 PLS-00201: identifier 'XPATH.SELECTNODES' must be declared
    509/11 PLS-00201: identifier 'XML.FREEDOCUMENT' must be declared
    509/11 PL/SQL: Statement ignored
    685/3 PL/SQL: Statement ignored
    685/17 PLS-00201: identifier 'XPATH.SELECTNODES' must be declared
    707/3 PL/SQL: Statement ignored
    707/17 PLS-00201: identifier 'XPATH.SELECTNODES' must be declared
    753/3 PL/SQL: Statement ignored
    753/17 PLS-00201: identifier 'XPATH.SELECTNODES' must be declared
    SQL>

    I had a package which worked under 8i, part of the package body like
    Create or Replace Package Body AbleTool as
    Function Transform(xml Clob,xsl Clob) Return Clob is
    p xmlparser.Parser;
    xmldoc xmldom.DOMDocument;
    xsldoc xmldom.DOMDocument;
    proc xslprocessor.Processor;
    ss xslprocessor.Stylesheet;
    cl Clob;
    begin
    p := xmlparser.newParser;
    xmlparser.setValidationMode(p, FALSE);
    xmlparser.setPreserveWhiteSpace(p, TRUE);
    xmlparser.parseClob(p, xml); -- parse xml
    xmldoc := xmlparser.getDocument(p);
    xmlparser.parseClob(p, xsl); -- parse xsl
    xsldoc := xmlparser.getDocument(p);
    proc := xslprocessor.newProcessor;
    ss := xslprocessor.newStylesheet(xsldoc, '');
    dbms_lob.createtemporary(cl, TRUE);
    xslprocessor.processXSL(proc, ss, xmldoc,cl);
    xslprocessor.freeStyleSheet(ss);
    xslprocessor.freeProcessor(proc);
    return cl;
    when I installed 9i db, and run the package on it. I get errors
    like
    PLS-00201: identifier 'XMLPARSER' must be declared
    PL/SQL: Item ignored
    PLS-00201: identifier 'XMLDOM' must be declared
    PL/SQL: Item ignored
    PLS-00201: identifier 'XMLDOM' must be declared
    PL/SQL: Item ignored
    PLS-00201: identifier 'XSLPROCESSOR.PROCESSOR' must be declared
    PL/SQL: Item ignored
    PLS-00201: identifier 'XSLPROCESSOR.STYLESHEET' must be declared
    PL/SQL: Item ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    I searched on the Forum, someone suggests that the following privileges should grant to the user.
    execute of xmldom
    execute of xmlparser
    execute of xslprocessor
    so I did as he said, the first two errors about xmldoc and xmlparser gone, the third error is still there, the error message is
    PLS-00201: identifier 'XSLPROCESSOR.PROCESSOR' must be declared
    PL/SQL: Item ignored
    PLS-00201: identifier 'XSLPROCESSOR.STYLESHEET' must be declared
    PL/SQL: Item ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    PL/SQL: Statement ignored
    What else there I should do?
    Please help.

  • PLS-00201: identifier (impdp error)

    Hi,
    Os: IBM-AIX
    Oracle 11.0.1.7.0
    Command: impdp user/password directory=dbdir dumpfile=banko.dmp schemas=user logfile=impdp.log
    I get the below error while importing a dumpfile
    ORA-39083: Object type PROCACT_SCHEMA failed to create with error:
    ORA-06550: line 2, column 1:
    PLS-00201: identifier 'DBMS_CUBE_EXP.SCHEMA_INFO_IMP_BEG' must be declared
    ORA-06550: line 2, column 1:
    PL/SQL: Statement ignored
    ORA-06550: line 3, column 1:
    PLS-00201: identifier 'DBMS_CUBE_EXP.SCHEMA_INFO_IMP_LOOP' must be declared
    ORA-06550: line 3, column 1:
    PL/SQL: Statement ignored
    ORA-06550: line 8, column 1:
    PLS-00201: identifier 'DBMS_CUBE_EXP.SCHEMA_INFO_IMP_END' must be declared
    ORA-06550: line 8, c
    Please suggest me
    Thanks
    KSG

    May be your target database is not having a OLAP support and your dump contains olap cubes.
    Not sure may be you have to install dbms_cubes package by running following script.
    {ORACLE_HOME}/olap/admin/olapiboo.plb
    Hope this will help.

Maybe you are looking for