Using IN OUT parameter in procedures

Hello Experts ;
Good morning all;
i am trying to  execute a program using procedure ( IN and IN OUT ) parameter.
i have a emp table i want to update perk  column details.
>> Here is coding >>
1  create or replace procedure emp_salary
  2  (id IN emp.eid%type , salary IN OUT emp.esalary%type) IS
  3  tmp_sal number;
  4  BEGIN
  5  select esalary into tmp_sal from emp  where eid=id;
  6  if tmp_sal between 10000 and 20000 THEN
  7  salary_inout := tmp_sal*1.2;
  8  else if tmp_sal between 20001 and 29999 THEN
  9  salary_inout := tmp_sal*1.8;
10  ELS IF tmp_sal > 30000 then
11  salary_inout := tmp_sal*2.0;
12* END;
SQL> /
Warning: Procedure created with compilation errors.
SQL> show errors;
Errors for PROCEDURE EMP_SALARY:
LINE/COL ERROR
10/5     PLS-00103: Encountered the symbol "IF" when expecting one of the
           following:      := . ( @ % ;   The symbol ";" was substituted for "IF" to continue.
12/4     PLS-00103: Encountered the symbol ";" when expecting one of the
         following: if
MY DB version is : 10.2.0.1
emp details :
SQL> select * from emp;
|EID | ENAME  |  EQUAL |  ESALARY | ECITY     |  EPERK   |    
1    sona    |   mba  |  10000   | ********    |            |
2    maya   |   mca  |  15000   |  **********|            |
3    sony    |   msc   |  20000   |  ****         |            |
4    King    |   m.s   |  22000   |  **********|             |
5    ford     |   m.s   |  40000   | **********|              |
Thanks in advance ;

Hello all ;
Thanks for all replies.  I slightly modified  my code because to understand without  any doubt.
nothing , just removed  salary_inout.
>> My table  details >>
SQL> desc emp;
Name                                      Null?    Type
EID                                                      NUMBER
ENAME                                               VARCHAR2(15)
EQUAL                                               VARCHAR2(10)
ESALARY                                           VARCHAR2(15)
ECITY                                                 VARCHAR2(15)
EPERK                                                NUMBER
ECONTACT_NO                                NUMBER
>> Dummy Records  >>
SQL> select * From emp;
    EID   ENAME       EQUAL      ESALARY     ECITY         EPERK 
     1       sona              mba         10000             XXXXXX  
     2       maya             mca         15000             XXXXXX
so ,  i want  to create procedure to increment salary as per conditions.
SQL> create  or  replace  procedure   emp_salary
  2  (id  IN  emp.eid%type ,
  3  salary IN OUT emp.esalary%type ) IS
  4  tmp_sal  number;
  5  BEGIN
  6  select esalary into tmp_sal from emp  where eid=id;
  7  if tmp_sal between 10000 and 20000 THEN
  8   salary := tmp_sal*1.2;
  9  else if tmp_sal between 20001 and 29999 THEN
10   salary := tmp_sal*1.8;
11  ELSE IF tmp_sal > 30000 then
12   salary := tmp_sal*2.0;
13  END IF;
14  END IF;
15  END IF;
16  END;
17  /
Procedure created.
>> Here , i am getting error  >>
SQL> execute   emp_salary;
BEGIN emp_salary; END;
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'EMP_SALARY'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
My DB version is : 10.2.0.1.0  on OEL 4.4  ( Personal  database - for self studies).
I have some doubts  please , please  .........  clear  my doubt !
1.  when creating procedure  for  some columns  from  original table ,
  - i always use  following method .
  local_vaibale_name   <table_name>.<org_column_name>%type ; that is ,
    id  emp.eid%type;   - then why i am getting error ?
Please  find my error and help me to resolve it.
Thanks.

Similar Messages

  • How to declare procedure without using IN OUT parameter?

    Hi:
    I want to declare procedure without using IN OUT parameter.
    My Script is:
    DECLARE
    procedure pro_bank_master() As
    Declare
    kr_bankid integer;
    last_bank_id number(10,0);
    CURSOR comp_cur IS select bank_id,date_created,created_by,modified_by,name_en from COM_BANK_MASTER ;
    comp_rec comp_cur%ROWTYPE;
    BEGIN
    OPEN comp_cur;
    FETCH comp_cur INTO comp_rec;
    WHILE comp_cur%FOUND
    LOOP
    kr_bankid:= comp_rec.bank_id;
    insert into crayom_db.C_Bank(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, name, routingno, c_location_id, swiftcode, isownbank, description) values(11,11,'Y',sysdate,100,sysdate,11,comp_rec.name_en,'A',1000009,'A','Y','A');
    select crayom_db.C_Bank.c_bank_id into last_bank_id from crayom_db.C_Bank where rownum=1 ORDER BY crayom_db.c_bank.c_bank_id DESC;
    insert into crayom_db.CR_IdBackup values(kr_bankid, last_bank_id);
    FETCH comp_cur INTO comp_rec;
    End LOOP;
    close comp_cur;
    END;
    BEGIN
    pro_bank_master();
    END;
    The Error i am receiving is:
    Error starting at line 1 in command:
    DECLARE
    procedure pro_bank_master() As
    Declare
    kr_bankid integer;
    last_bank_id number(10,0);
    CURSOR comp_cur IS select bank_id,date_created,created_by,modified_by,name_en from COM_BANK_MASTER ;
    comp_rec comp_cur%ROWTYPE;
    BEGIN
    OPEN comp_cur;
    FETCH comp_cur INTO comp_rec;
    WHILE comp_cur%FOUND
    LOOP
    kr_bankid:= comp_rec.bank_id;
    insert into crayom_db.C_Bank(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, name, routingno, c_location_id, swiftcode, isownbank, description) values(11,11,'Y',sysdate,100,sysdate,11,comp_rec.name_en,'A',1000009,'A','Y','A');
    select crayom_db.C_Bank.c_bank_id into last_bank_id from crayom_db.C_Bank where rownum=1 ORDER BY crayom_db.c_bank.c_bank_id DESC;
    insert into crayom_db.CR_IdBackup values(kr_bankid, last_bank_id);
    FETCH comp_cur INTO comp_rec;
    End LOOP;
    close comp_cur;
    END;
    BEGIN
    pro_bank_master();
    END;
    Error report:
    ORA-06550: line 8, column 27:
    PLS-00103: Encountered the symbol ")" when expecting one of the following:
    <an identifier> <a double-quoted delimited-identifier>
    current
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
    Can any Body Help Me?
    Thank You

    DECLARE
    procedure pro_bank_master As --also you should remove brackets when you are not using any parameters
    ----Declare-- *( declare should not be present in procedure declaration )*
    kr_bankid integer;
    last_bank_id number(10,0);
    CURSOR comp_cur IS select bank_id,date_created,created_by,modified_by,name_en from COM_BANK_MASTER ;
    comp_rec comp_cur%ROWTYPE;
    BEGIN
    OPEN comp_cur;
    FETCH comp_cur INTO comp_rec;
    WHILE comp_cur%FOUND
    LOOP
    kr_bankid:= comp_rec.bank_id;
    insert into crayom_db.C_Bank(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, name, routingno, c_location_id, swiftcode, isownbank, description) values(11,11,'Y',sysdate,100,sysdate,11,comp_rec.name_en,'A',1000009,'A','Y','A');
    select crayom_db.C_Bank.c_bank_id into last_bank_id from crayom_db.C_Bank where rownum=1 ORDER BY crayom_db.c_bank.c_bank_id DESC;
    insert into crayom_db.CR_IdBackup values(kr_bankid, last_bank_id);
    FETCH comp_cur INTO comp_rec;
    End LOOP;
    close comp_cur;
    END;
    BEGIN
    pro_bank_master();
    END;
    Edited by: user11183973 on Sep 22, 2009 5:49 PM

  • Sample using XMLTYPE out parameter

    Hi, all
    any full sample source code using ODP.NET and XMLTYPE out parameter?
    PROCEDURE OBTENER_DATOS_DESPLIEGUE(pPROYECTO IN VARCHAR2,
                      pETIQUETA IN VARCHAR2 DEFAULT NULL,
                      pMOMENTO OUT TIMESTAMP,
                      pDATOS OUT XMLTYPE)
    And for testing: function and procedure.
    FUNCTION FRKDATA_GET_XMLTYPE(num IN NUMBER, xml1 IN XMLTYPE) RETURN XMLTYPE IS
      xmlout XMLTYPE;
      BEGIN
      SELECT XMLTYPE_COL
      INTO xmlout
      FROM POC_TEST_XML_TABLE
      WHERE NUM_COL = num;
      RETURN xmlout;
      END FRKDATA_GET_XMLTYPE;
    PROCEDURE FRKDATA_TESTXML(qry in VARCHAR2, rslt OUT XMLTYPE) AS
    BEGIN
    rslt := dbms_xmlgen.getxmltype(qry);
    END FRKDATA_TESTXML;
    View in https://entlib.codeplex.com/discussions/454750
    I get "connection is closed" errors
    Only, I've found this sample, but without OUT parameters.
    create or replace function xmlproc(v1 in xmltype) return xmltype is
    begin
    return v1;
    end;
    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;
    class Program
        static void Main(string[] args)
            using (OracleConnection con = new OracleConnection())
                con.ConnectionString = "user id=scott;password=tiger;data source=orcl";
                con.Open();
                using (OracleCommand cmd = new OracleCommand("",con))
                    cmd.CommandText = "xmlproc";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new OracleParameter("return", OracleDbType.XmlType)).Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add(new OracleParameter("v1", OracleDbType.XmlType)).Direction = ParameterDirection.Input;
                    cmd.Parameters["v1"].Value = "<a>b</a>";
                    cmd.ExecuteNonQuery();
                    Console.WriteLine(((OracleXmlType)cmd.Parameters["return"].Value).Value);

    The below works for me.
    PROCEDURE "XMLPROC" (
      "PARAM1" OUT XMLTYPE) IS
    BEGIN
      PARAM1 := dbms_xmlgen.getxmltype('SELECT FIRST_NAME FROM EMPLOYEES WHERE EMPLOYEE_ID=100');
    END;
    OracleConnection con = new OracleConnection();
    con.ConnectionString = conString;
    con.Open();
    OracleCommand cmd = con.CreateCommand();
    cmd.CommandText = "xmlproc";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new OracleParameter("xmlout", OracleDbType.XmlType)).Direction = ParameterDirection.Output;
                cmd.ExecuteNonQuery();
                Console.WriteLine(((OracleXmlType)cmd.Parameters["xmlout"].Value).Value);

  • How to use the "out" parameter in idl

    hello.idl:
    module HelloApp
    interface Hello
    string sayHello();
    void getPass(in string name,out string pass);
    HelloServer:
    public class HelloServer
    class HelloServant extends _HelloImplBase
    public void getPass(String name,org.omg.CORBA.StringHolder pass)
    System.out.println("Server pass = " + pass);
    if (name.equals("lxh"))
    pass = new org.omg.CORBA.StringHolder("1234");
    if (name.equals("cbj"))
    pass = new org.omg.CORBA.StringHolder("5678");
    HelloClient:
    public class HelloClient
    public static void main(String args[])
    try{
    org.omg.CORBA.StringHolder Pass = null;
    if (args.length == 1)
    System.out.println("Client pass = " + args[0]);
    helloRef.getPass(args[0],Pass);
    System.out.println(Pass);
    } catch(Exception e) {
    When I run client main method with parameter "lxh",I will get a error says the getPass() parameter which has given is wrong.
    How to use the out parameter in client?

    Does this error only occurs if you pass "lxh" or always?
    Did you try passing a StringHolder Object rather than a NULL Object?
    Perhaps you can post the error message!?

  • How to use the out parameter of a transformation

    Hi All,
    I have a requirement where I need to move all the transformations from process flows to map.SO for each transformation I need to have 1 map which calls this transformation.I have 1 transformation which has both input and output parameter.If I use this transformation in mapping then how to use the out parameter of thsi transformation.This out parameter needs to beused in other mappings.Can soemone please help me.
    Thansk in advance

    Hi,
    I'm not quite sure what you are trying to do.
    What works: Connect the outgroup of a pre- or post-mapping process operator to the mapping output parameter operator..
    What does not work: Connect the outgroup of an operator that can return more than one row (e.g. table operator, filter, joiner ,...) to the mapping output parameter operator. The mapping output parameter just returns "one row", like a pl/sql function call.
    You cannot pass a "data stream" from one mapping to another. Maybe the pluggable mappings is what you are looking for.
    Regards,
    Carsten.

  • How to return more than one record through OUT parameter in procedure

    Hi,
    I want to create a procedure which accepts one input and returns more than one record as output.
    example:
    Input = DeptNo
    Output= Empno,ename,sal,comm,job
    Scenario:
    There can be more than one employee in department we pass as the IN parameter. OUT parameter has to return all the records of the corresponding employee details in that department.
    Thanks in advance for your help
    Regards,
    K.Vijay

    -- I think you can try something like this using ref cursor:
    -- create a package for the type ref cursor and execute
    CREATE OR REPLACE PACKAGE PACK_REFCURSOR_FOR_TABLES AS
         TYPE DATA_TableRows IS REF CURSOR;
    END;
    -- after executing the package above, create your procedure:
    CREATE OR REPLACE PROCEDURE GET_EMP (
         IN_nDeptNo IN number,
         OUT_Emp OUT PACK_REFCURSOR_FOR_TABLES.DATA_TableRows)
    IS
    BEGIN
    -- leave query open (implicit) as this will return data
         OPEN OUT_Emp FOR
         SELECT *
         FROM tblEmp
         WHERE DeptNo = IN_nDeptNo;
    END;
    --execute the procedure and you're done                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Set out parameter in procedure for dbms_scheduler

    I see example for a dbms_scheduler setting in parameter values but what about if it is an out parameter ?
    create or replace procedure vd_tst (v_id out number) as
    begin
    v_id := to_number(to_char(sysdate,'YYYYMMDDHH24MISS'));
    end vd_tst
    how do I set a hook to do an alert let say for dbms_scheduler
    let say
    if v_id mod(9)==0 then <alarm>

    "what about if it is an out parameter ?"
    An out parameter must be given a variable defined in a PL/SQL block, so to run a job that calls a procedure that has an out parameter, build a PL/SQL block with the parameter declaration and procedure call. Create the job with job type PLSQL_BLOCK.
    Using a special delimited string (q'<delimiter><string><delimiter>'  Literals) is helpful for this
    For example:
    begin  DBMS_SCHEDULER.CREATE_JOB (
         job_name             => 'Test_message_inserter'
       , job_type             => 'PLSQL_BLOCK'
       , job_action           =>
    q'!declare v_time varchar2(30);
    begin
    v_time := to_char(sysdate, 'DD-mon-yyyy hh24:mi:ss');
    insert into t2(id, name) select SEQ_JOURNAL.nextval,v_time from dual;
    commit;
    end;
       , repeat_interval      => 'FREQ=secondly;interval=30'
       , enabled              => TRUE
       , comments             => 'Test job'
    end

  • Out parameter in Procedure

    Hello,
    I have a doubt. Can anyone plz tell me.
    How can I catch the out parameter from a procedure in my JDBC code.
    Thanks
    RD

    By "procedure", I assume you mean a stored procedure. This is done by using a CallableStatement, and appropriately setting the input and output parameters. This should be relatively straightforward if you alreadt know PreparedStatement; if you don't, you should learn because it's more efficient, easier and more secure.
    there is a good example of using a CallableStatement with output parameters in reply 9 of this forum thread:
    http://forum.java.sun.com/thread.jspa?forumID=48&threadID=641810
    Note that there's a major bug in that example, which is corrected a few postings down in the thread.

  • How to use array as parameter in procedure

    Hello,
    I am using Oracle SQL Developer 1.5.5
    I wanted to write a procedure which does insert into table.
    It should take 2 parameters.How to take array as parameter?
    One is a array of strings ('abc','def','erg') and another is a varchar ('abc').
    How to do this?
    Can somebody pls give a small example?
    Thanks
    Edited by: user13305573 on Aug 5, 2010 11:27 PM

    Hello,
    I am sorry if u didnt get my point.
    My req is i am using Orcale SQL Developer.
    Db is Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    I want to write a procedure which will be called from a java file.
    The parameter to that procedure will be a arr(array of strings) and username(varchar).
    I want to insert that data into a tableA.
    like if parameters are
    (abc01,edfg02,efg03) as arr and honey as username
    then it should insert 3 rows to the tableA
    abc01 honey
    edfg02 honey
    efg03 honey
    Thanks
    Edited by: user13305573 on Aug 5, 2010 11:54 PM

  • Using the result of an OUT Parameter

    Hi,
    A little help?, I want to use the OUT parameter in another procedure, I can do it with a function but its bugging me what I'm doing wrong in the procedure.
    I code compiles i.e.
    PROCEDURE LOG_OUT(calc_id OUT NOCOPY VARCHAR2) AS
    BEGIN
    SELECT MAX(calculation_ID)
    INTO calc_id
    FROM AXMW_FA_TRX_DETAIL_BASE;
    DBMS_OUTPUT.PUT_LINE('LOG Value Returned IS : '||calc_id ) ;
    END;
    But when I call this from another procedure as
    v_log_name     VARCHAR2(400);
    v_log_name     := Fnd_File.LOG_OUT;
    The error is
    PLS-00306: wrong number or types of arguments in call to 'LOG_OUT'
    Is it something with bind variables
    Thanks
    Querty

    Try
    v_log_name := 'Fnd_File.LOG_OUT';Hey, what r u doing with above code?
    You are assigning string value to a variable?
    The compilation won't give any error.
    And OP thinks it's solution!!!!!!!!!!!
    LOL

  • Call Procedure with OUT Parameter

    Hi,
    When I use an Procedure that has an OUT Parameter
    how can I use these OUT Parameter as an IN Parameter for an another Procedure.
    thanks
    Marcel

    Not sure, but is the following you after,
    SQL> create or replace procedure p1_out (a out number)
      2  as
      3  begin
      4  a := 10;
      5  end;
      6  /
    Procedure created.
    SQL> create or replace procedure p1_in (a in number)
      2  as
      3  begin
      4  dbms_output.put_line(a);
      5  end;
      6  /
    Procedure created.
    SQL> declare
      2  a number;
      3  begin
      4  p1_out(a);
      5  p1_in(a);
      6  end;
      7  /
    10
    PL/SQL procedure successfully completed.
    SQL>

  • Return Nested Table  Using Out Parameter

    Hi Friends,
    I wrote a function in which i'm using a return type as NUMBER and OUT parameter as TABLE but i'm not able to call the function in PL/SQL because of TABLE ,Can anyone plz tell me how to call the function in PL/sql using TABLE as OUT parameter. The calling function is mentioned below..
    FUNCTION get_label_to_folder (
    i_folder_id IN NUMBER,
    i_label_id IN NUMBER,
    i_new_path IN VARCHAR2,
    i_src_path IN VARCHAR2 DEFAULT NULL,
    --i_output_loc_type   IN       VARCHAR2,
    o_vdoc_table OUT vdocs_table
    RETURN NUMBER;
    I tried to call that function in this manner but it won't work--
    DECLARE
    TYPE vdocs_table IS TABLE OF VARCHAR2 (50);
    vdoc vdocs_array := vdocs_array ();
    vret VARCHAR2 (20);
    BEGIN
    vret :=
    sce_label_util.get_label_to_folder (32272,
    324073,
    '/test-aaaa/a1/',
    NULL,
    vdoc
    FOR i IN vdoc.FIRST .. vdoc.LAST
    LOOP
    DBMS_OUTPUT.put_line (vret || ' ,' || vdoc (i));
    END LOOP;
    END;
    Kindly check it and plz resolve the problem.
    Regards,
    Anand

    It is not the correct approach to do this (passing a collection using an OUT parameter) using a function.
    Does not matter whether you dislike it. It is still wrong.
    It should be a procedure. It should likely define the OUT parameter as being passed by reference and not value in order to decrease the call overheads and increase performance.
    Also note that is it not called a table. The correct terminology is a collection or an associative array. A table is something you get inside the database engine. The structure you define in the PL engine is nothing like a database table and everything like an array.
    PS. And how do you expect us to determine the error? How do you expect us to test anything if we do not know what Oracle version you are using? Please.. FULL details, including Oracle version number and the full Oracle error message!

  • How to use th out parameters?

    Hi all,
    I have the following code,
    out_error:='';
                                    proc_validatePriceRecord(pd_rec.product_name,pd_rec.product_id,pd_rec.market,out_error);
                                    DBMS_OUTPUT.PUT_LINE(out_error);Is this the right way to use the out parameter?

    > Is this the right way to use the out parameter?
    Most definitely not!
    Errors must NOT be returned as an output parameter. AN ERROR MUST BE RAISED AS AN EXCEPTION.
    This is a fundamental principle in today's programming languages.. from Delphi to Java to C# to whatever.

  • Calling a stored procedure with VARRAY as out parameter using JDBC

    Hi,
    I want to use the data type VARRAY as an out parameter in an Oracle stored procedure. I want to call the stored procedure from
    my java program using JDBC.
    I'm using Oracle 8.1.5 for Windows NT.
    Please help me.
    Thanks
    Sumanta
    null

    Originally posted by JDBC Development Team:
    It's very similar to other datatype except that it uses OracleTypes.ARRAY typecode and the value is mapped to a oracle.sql.ARRAY instance. The code looks as follows --
    cstmt.registerOutParameter (idx, OracleTypes.ARRAY, "VARRAY_TYPE_NAME_HERE");
    cstmt.execute ();
    ARRAY array = (ARRAY) cstmt.getObject (idx);
    Thanks for your reply.
    I have to use:-
    OracleCallableStatement cs1 = (OracleCallableStatement )conn.prepareCall
    ( "{call proj_array(?)}" ) ;
    for retrieving a collection as an OUT parameter.
    This gives me the errors:-
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Blob getBlob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Array getArray(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Clob getClob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Ref getRef(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    How do I get rid of these errors?
    null

  • Reg: Need help to call a Stored Procedure - Out Parameter using DBAdapter

    HI
    I have created a procedure with Out Parameter, using DBAdapater i have invoked it. I have assigned the out parameter also. But while running i am getting this error.
    My Procedure is shown below. It executes successfully when its run in database.
    create or replace
    PROCEDURE SP_QUERY(s_string in varchar2, retCodeString out varchar2)
    AS
    l_sql_stmt varchar2(1000);
    BEGIN
    l_sql_stmt := s_string;
    EXECute immediate l_sql_stmt;
    commit;
    if SQLCODE = 0 then
    retCodeString := 'OK';
    end if;
    END;
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException:
    Client received SOAP Fault from server : Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'ExecuteScript' failed due to:
    Stored procedure invocation error. Error while trying to prepare and execute the SOADEMO.SP_QUERY API.
    An error occurred while preparing and executing the SOADEMO.SP_QUERY API.
    Cause: java.sql.SQLException: ORA-06550: line 1, column 15:
    PLS-00904: insufficient privilege to access object SOADEMO.SP_QUERY ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored Check to ensure that the API is defined in the database and that the parameters match the signature of the API.
    This exception is considered not retriable, likely due to a modelling mistake.
    To classify it as retriable instead add property nonRetriableErrorCodes with value "-6550" to your deployment descriptor (i.e. weblogic-ra.xml).
    To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.
    All properties are integers. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution.
    at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:808) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:384)
    Please help me in this issue.

    Hi
    Right now i geeting the below error
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : oracle.fabric.common.FabricException:
    oracle.fabric.common.FabricInvocationException: java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist :
    java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
    at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:808) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:384)
    at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:301) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.
    invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(Unknown Source)
    at com.sun.el.MethodExpressionImpl.invoke(Unknown Source) at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.
    invoke(MethodExpressionMethodBinding.java:53) at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
    at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.
    run(ContextSwitchingComponent.java:92) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96) at oracle.adf.view.rich.component.fragment.
    UIXInclude.broadcast(UIXInclude.java:102) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361) at oracle.adf.view.rich.component.
    fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96) at oracle.adf.view.rich.component.fragment.UIXInclude.
    broadcast(UIXInclude.java:96) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475) at javax.faces.component.UIViewRoot.
    processApplication(UIViewRoot.java:756) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:889) at
    oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:379) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.
    execute(LifecycleImpl.java:194) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) at weblogic.servlet.internal.
    StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.
    invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.sysman.emSDK.license.LicenseFilter.doFilter(LicenseFilter.java:101) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.help.web.rich.OHWFilter.doFilter(Unknown Source) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.emas.fwk.MASConnectionFilter.doFilter(MASConnectionFilter.java:41) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.AuditServletFilter.doFilter(AuditServletFilter.java:179) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.EMRepLoginFilter.doFilter(EMRepLoginFilter.java:203) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.core.model.targetauth.EMLangPrefFilter.doFilter(EMLangPrefFilter.java:158) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.core.app.perf.PerfFilter.doFilter(PerfFilter.java:141) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:542) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178) Caused by: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : oracle.fabric.common.FabricException: oracle.fabric.common.FabricInvocationException: java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist : java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:362) at oracle.sysman.emSDK.webservices.wsdlparser.OperationInfoImpl.invokeWithDispatch(OperationInfoImpl.java:1004) at oracle.sysman.emas.model.wsmgt.PortName.invokeOperation(PortName.java:750) at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:802) ... 79 more Caused by: oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : oracle.fabric.common.FabricException: oracle.fabric.common.FabricInvocationException: java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist : java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist at oracle.j2ee.ws.client.jaxws.DispatchImpl.throwJAXWSSoapFaultException(DispatchImpl.java:1040) at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:826) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:235) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:106) at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:358) ... 82 more

Maybe you are looking for