Calling Overloaded Procedures from Table Adapter - PLS-00307: too many..

I have called Overloaded Oracle Procs in .NET code in the past. I now want to add a procedure call to a table adapter. The proc is an overloaded proc and when I add it I get the following:
PLS-00307: too many declarations of 'prc_[my proc name]' match this call.
I looked in the designer class and all the parameters are there, just as I do in my own code, but it still gets the message above even with all the parameter names in place.
Is there a way to call Overloaded Procs from a table adapter? ?

Any Oracle folks care to provide some input on why Table Adapters cannot call Overloaded Stored Procs?
Edited by: SURFThru on Jul 8, 2011 11:37 AM

Similar Messages

  • PLS-00307: too many declarations of 'INSERTXML' match this call

    Dear All,
    I need help to create a procedure. I am describing the scenario below.
    I have a table which is
    xml_clob(
    doc_id number,
    doc clob
    The above table contain an xml file in doc column. What i need is read the doc column and parse and insert the xml data to a table. For this purpose I am using a built-in package in oracle database 10g name dbms_xmlsave. To full fill my purpose i am going to create a procedure which is getting error. I am giving the procedure code
    CREATE OR REPLACE PROCEDURE loadxml1 AS
    fil clob;
    buffer varchar2(1000);
    len INTEGER;
    insrow INTEGER;
    BEGIN
    SELECT doc INTO fil FROM xml_clob WHERE doc_id=1;
    len := DBMS_LOB.GETLENGTH(fil);
    DBMS_OUTPUT.PUT_LINE('length '||len);
    DBMS_LOB.READ(fil,len,1,buffer);
    --xmlgen.resetOptions;
    --insrow := xmlgen.insertXML('xml_doc',buffer);
    insrow := dbms_xmlsave.insertXML('xml_doc',buffer);
    --insrow := dbms_xmlsave.insertXML('xml_doc',fil);
    DBMS_OUTPUT.PUT_LINE('length ins '||insrow);
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('In Exception');
    DBMS_OUTPUT.PUT_LINE(SQLERRM(SQLCODE));
    end;
    i am getting the error with the bold line
    insrow := dbms_xmlsave.insertXML('xml_doc',buffer);
    PLS-00307: too many declarations of 'INSERTXML' match this call
    I need help on this. Here the argument xml_doc is the table name where i want to insert data from xml.
    I am giving u the code of dbms_smlsave package which is at sys user.
    CREATE OR REPLACE PACKAGE DBMS_XMLSAVE AUTHID CURRENT_USER AS
    SUBTYPE ctxType IS NUMBER; /* context type */
    DEFAULT_ROWTAG CONSTANT VARCHAR2(3) := 'ROW'; /* rowtag */
    DEFAULT_DATE_FORMAT CONSTANT VARCHAR2(21):= 'YYYY-MM-DD HH24:MI:SS';
    MATCH_CASE CONSTANT NUMBER := 0; /* match case */
    IGNORE_CASE CONSTANT NUMBER := 1; /* ignore case */
    -------------------- constructor/destructor functions ---------------------
    FUNCTION newContext(targetTable IN VARCHAR2) RETURN ctxType;
    PROCEDURE closeContext(ctxHdl IN ctxType);
    -------------------- parameters to the save (XMLtoDB) engine ----------------
    PROCEDURE setXSLT(ctxHdl IN ctxType,uri IN VARCHAR2,ref IN VARCHAR2 := null);
    PROCEDURE setXSLT(ctxHdl IN ctxType, stylesheet IN CLOB, ref IN VARCHAR2 := null);
    PROCEDURE setXSLTParam(ctxHdl IN ctxType,name IN VARCHAR2,value IN VARCHAR2);
    PROCEDURE removeXSLTParam(ctxHdl IN ctxType, name IN VARCHAR2);
    PROCEDURE setRowTag(ctxHdl IN ctxType, tag IN VARCHAR2);
    PROCEDURE setSQLToXMLNameEscaping(ctxHdl IN ctxType, flag IN BOOLEAN := true);
    PROCEDURE setPreserveWhitespace(ctxHdl IN ctxType, flag IN BOOLEAN := true);
    PROCEDURE setIgnoreCase(ctxHdl IN ctxType, flag IN NUMBER);
    PROCEDURE setDateFormat(ctxHdl IN ctxType, mask IN VARCHAR2);
    PROCEDURE setBatchSize(ctxHdl IN ctxType, batchSize IN NUMBER);
    PROCEDURE setCommitBatch(ctxHdl IN ctxType, batchSize IN NUMBER);
    -- set the columns to update. Relevant for insert and update routines..
    PROCEDURE setUpdateColumn(ctxHdl IN ctxType, colName IN VARCHAR2);
    PROCEDURE clearUpdateColumnList(ctxHdl IN ctxType);
    -- set the key column name to be used for updates and deletes.
    PROCEDURE setKeyColumn(ctxHdl IN ctxType, colName IN VARCHAR2);
    PROCEDURE clearKeyColumnList(ctxHdl IN ctxType);
    ------------------- save ----------------------------------------------------
    -- insertXML
    FUNCTION  insertXML(ctxHdl IN ctxType, xDoc IN VARCHAR2) RETURN NUMBER;
    FUNCTION  insertXML(ctxHdl IN ctxType, xDoc IN CLOB) RETURN NUMBER;
    -- updateXML
    FUNCTION updateXML(ctxHdl IN ctxType, xDoc IN VARCHAR2) RETURN NUMBER;
    FUNCTION updateXML(ctxHdl IN ctxType, xDoc IN CLOB) RETURN NUMBER;
    -- deleteXML
    FUNCTION deleteXML(ctxHdl IN ctxType, xDoc IN VARCHAR2) RETURN NUMBER;
    FUNCTION deleteXML(ctxHdl IN ctxType, xDoc IN CLOB) RETURN NUMBER;
    ------------------- misc ----------------------------------------------------
    PROCEDURE propagateOriginalException(ctxHdl IN ctxType, flag IN BOOLEAN);
    PROCEDURE getExceptionContent(ctxHdl IN ctxType, errNo OUT NUMBER, errMsg OUT VARCHAR2);
    PROCEDURE useDBDates(ctxHdl IN ctxType, flag IN BOOLEAN := true);
    -------private method declarations------------------------------------------
    -- we must do this as a bug workaround; otherwise we get ora-600 [kgmexchi11]
    PROCEDURE p_useDBDates(ctxHdl IN ctxType, flag IN NUMBER);
    PROCEDURE p_setXSLT(ctxHdl IN ctxType, uri IN VARCHAR2, ref IN VARCHAR2);
    PROCEDURE p_setXSLT(ctxHdl IN ctxType, stylesheet CLOB, ref IN VARCHAR2);
    PROCEDURE p_propagateOriginalException(ctxHdl IN ctxType, flag IN NUMBER);
    PROCEDURE p_setSQLToXMLNameEsc(ctxHdl IN ctxType, flag IN NUMBER);
    PROCEDURE p_setPreserveWhitespace(ctxHdl IN ctxType, flag IN NUMBER);
    END dbms_xmlsave;
    CREATE OR REPLACE PACKAGE BODY DBMS_XMLSAVE AS
    FUNCTION insertXML(ctxHdl IN ctxType, xDoc IN VARCHAR2) RETURN NUMBER
    as LANGUAGE JAVA NAME
    'oracle.xml.sql.dml.OracleXMLStaticSave.insertXML(int, java.lang.String) return int';
    FUNCTION insertXML(ctxHdl IN ctxType, xDoc IN CLOB) RETURN NUMBER
    as LANGUAGE JAVA NAME
    'oracle.xml.sql.dml.OracleXMLStaticSave.insertXML(int, oracle.sql.CLOB) return int';
    END DBMS_XMLSAVE;
    /

    Hi,
    It's surprising (to me) that you're getting that particular error.
    It's not surprising that you're getting some error, since insertXML is expecting the first argument to be a ctxType, and you're passing a VARCHAR2 instead. Create a ctxType, and use it as the first argument. (Sorry, I'm not familiar with that package, so I can't give you any details.)

  • PLS-00307: too many declarations of ' F ' match this call

    Hi friends,
    I have created a package(OL) using procedure overloading.
    Package Specification:
    CREATE OR REPLACE package SDR_SPRUSR.ol as
    procedure f (p number);
    procedure f (p varchar2);
    procedure f (p varchar2,q number);
    procedure f (p number,q varchar2);
    procedure f (p number,q number,r varchar2);
    end;
    Package Body:
    CREATE OR REPLACE package body SDR_SPRUSR.ol as
    procedure f (p number) is
    begin
    dbms_output.put_line('f <number> called');
    end;
    procedure f (p varchar2) is
    begin
    dbms_output.put_line('f <varchar> called');
    end;
    procedure f (p varchar2, q number) is
    begin
    dbms_output.put_line('f <varchar> called,f <number> called');
    end;
    procedure f (p number,q varchar2) is
    begin
    dbms_output.put_line('f <number> called,f <varchar> called');
    end;
    procedure f (p number,q number,r varchar2) is
    begin
    dbms_output.put_line('f <number> called,f <number> called,f <varchar> called');
    end;
    end;
    But, here is the problem:
    When I pass NULL as a parameter like
    BEGIN
    SDR_SPRUSR.OL.F ( NULL );
    END;
    I'm getting an error in SQL*Plus:
    ERROR at line 3:
    ORA-06550: line 3, column 4:
    PLS-00307: too many declarations of 'F' match this call
    ORA-06550: line 3, column 4:
    PL/SQL: Statement ignored
    How can I catch this error? Please provide me an appropriate solution..
    (My requirement is to display a user friendly message when NULL is passed.)
    Thank you.
    Regards,
    Vivek
    Edited by: 847837 on Mar 28, 2011 1:35 AM

    Can't we display a user friendly message showing "PASS SUFFICIENT VALUES"? Why then no change your function as follows
    procedure f (p number) is
    begin
    if p is null then
      dbms_output.put_line('f <number> called ==> pass sufficient values');
    end if;
    end;But even in this case you need to qualify your input parameter with to_number of to_char for the overloading to work correctly
    or give default value for your parameter if possible
    Best regards
    Mohamed Houri

  • PLS-00307: too many declarations of 'DEFINE_COLUMN' match this call

    Compilation of this procedure issues 'PLS-00307: too many declarations of 'DEFINE_COLUMN' match this call'.
    Here is the code:
    PROCEDURE leggi_comp (tabella spre_005.nome_table%type, cen dinf_027.cd_centro%type, prat dinf_027.nr_pratica%type,
    serv dinf_027.cd_servizio%type, fase dinf_027.cd_fase%type, dt_ril dinf_027.dt_rilev%type,
    comp_out out dinf_027.cd_compilatore%type) IS
    source_cursor number;
    v_cen dinf_027.cd_centro%type;
    v_prat dinf_027.nr_pratica%type;
    v_serv dinf_027.cd_servizio%type;
    v_fase dinf_027.cd_fase%type;
    v_dt_ril dinf_027.dt_rilev%type;
    v_comp_out dinf_027.cd_compilatore%type;
    myreturn number;
    BEGIN
    source_cursor := dbms_sql.open_cursor;
    v_cen := cen;
    v_prat := prat;
    v_serv := serv;
    v_fase := fase;
    v_dt_ril := dt_ril;
    dbms_sql.parse (source_cursor,
    'select cd_compilatore from ' || tabella||' where
    cd_centro = :cen and
    nr_pratica = :prat and
    cd_servizio = :serv and
    cd_fase = :fase and
    dt_rilev = :dt_ril',dbms_sql.v7);
    dbms_sql.bind_variable(source_cursor, 'cen', v_cen);
    dbms_sql.bind_variable(source_cursor, 'prat', v_prat);
    dbms_sql.bind_variable(source_cursor, 'serv', v_serv);
    dbms_sql.bind_variable(source_cursor, 'fase', v_fase);
    dbms_sql.bind_variable(source_cursor, 'dt_ril',v_dt_ril);
    dbms_sql.define_column(source_cursor, 1, v_comp_out);
    myreturn := dbms_sql.execute(source_cursor);
    myreturn := dbms_sql.fetch_rows(source_cursor);
    dbms_sql.column_value(source_cursor,1,v_comp_out);
    comp_out := v_comp_out;
    dbms_sql.close_cursor(source_cursor);
    exception
    when others
    then if dbms_sql.is_open (source_cursor)
    then dbms_sql.close_cursor (source_cursor);
    end if;
    raise;
    END;
    Can anybody help me?

    From the documentation which is worth reading
    DBMS_SQL.DEFINE_COLUMN (c IN INTEGER,
                            position IN INTEGER,
                            column IN <datatype>)
    Where <datatype> can be any one of the following types:
    BINARY_DOUBLE
    BINARY_FLOAT
    BFILE
    BLOB
    CLOB CHARACTER SET ANY_CS
    DATE
    DSINTERVAL_UNCONSTRAINED
    NUMBER
    TIME_UNCONSTRAINED
    TIME_TZ_UNCONSTRAINED
    TIMESTAMP_LTZ_UNCONSTRAINED
    TIMESTAMP_TZ_UNCONSTRAINED
    TIMESTAMP_UNCONSTRAINED
    UROWID
    VARCHAR2 CHARACTER SET ANY_CS
    YMINTERVAL_UNCONSTRAINEDSo you need a call more like:
    dbms_sql.define_column(source_cursor, 1, dinf_027.cd_compilatore%type);because v_comp_out is not a datatype, it is a variable.
    John

  • MD5 PLS-00307: too many declarations of 'MD5' match this call

    Hi I wonder if any one can help, I am trying to write an equlivent of mysqls MD5 function.
    When I compile the following I get this error message:
    PLS-00307: too many declarations of 'MD5' match this call
    function MD5(str varchar2)
    RETURN VARCHAR2 IS
    md_str VARCHAR2(16);
    BEGIN
    md_str := dbms_obfuscation_toolkit.md5(str);
    return md_str;
    END;

    Looks to be like Oracle have bolloxed this one well and truly.
    A desc of the toolkit reveals this:
    PROCEDURE MD5
    Argument Name                  Type                    In/Out Default?
    INPUT                          RAW                     IN
    CHECKSUM                       RAW(16)                 OUT
    FUNCTION MD5 RETURNS RAW(16)
    Argument Name                  Type                    In/Out Default?
    INPUT                          RAW                     IN
    PROCEDURE MD5
    Argument Name                  Type                    In/Out Default?
    INPUT_STRING                   VARCHAR2                IN
    CHECKSUM_STRING                VARCHAR2                OUT
    FUNCTION MD5 RETURNS VARCHAR2(16)
    Argument Name                  Type                    In/Out Default?
    INPUT_STRING                   VARCHAR2                IN.
    i.e. two overloaded functions and two overloaded procedures with exactly the same signature. This is not supposed to handle, because the signature (number and type of parameters) is how the database deteremines which version of teh function to call. Identical signatures causes your PLS-307 error.
    If it's any consolation, they appear to have fixed it in Oracle 9i (there's a solitary MD5 procedure).
    Cheers, APC

  • DBMS_SQL  PLS-00307: too many declarations of 'PARSE' match this call

    I try to accomplish the DDL in a program, i am here to ask the help in PLSQl since i have done very little. I did look up the oracle plsql docs though. Please do no ask the reaosn I have to do that in a program.
    alter system kill session '<sid>, <serial#>';
    sql> CREATE OR REPLACE PROCEDURE mykill(mysid IN NUMBER, myserial in number)
      2  AS
      3      cursor_name INTEGER;
      4      rows_processed INTEGER;
      5  BEGIN
      6      cursor_name := dbms_sql.open_cursor;
      7      DBMS_SQL.PARSE(cursor_name, 'ALTER SYSTEM KILL SESSION '':x', ':y''',
      8                     DBMS_SQL.NATIVE);
      9      DBMS_SQL.BIND_VARIABLE(cursor_name, ':x', mysid);
    10      DBMS_SQL.BIND_VARIABLE(cursor_name,':y', myserial);
    11      rows_processed := DBMS_SQL.EXECUTE(cursor_name);
    12      DBMS_SQL.CLOSE_CURSOR(cursor_name);
    13  EXCEPTION
    14  WHEN OTHERS THEN
    15      DBMS_SQL.CLOSE_CURSOR(cursor_name);
    16  END;
    17  /
    Warning: Procedure created with compilation errors.
    sql> show error
    Errors for PROCEDURE MYKILL:
    LINE/COL ERROR
    7/5      PL/SQL: Statement ignored
    7/5      PLS-00307: too many declarations of 'PARSE' match this call
    sql>

    SY, thanks
    SQL> CREATE OR REPLACE
      2    PROCEDURE mykill(
      3                     mysid IN NUMBER,
      4                     myserial in number
      5                    )
      6      IS
      7      BEGIN
      8          EXECUTE IMMEDIATE 'ALTER SYSTEM KILL SESSION ''' || mysid || ',' || myserial || '''';
      9  END;
    10  /
    Procedure created.
    SQL> exec (541,1655);
    BEGIN (541,1655); END;
    ERROR at line 1:
    ORA-06550: line 1, column 11:
    PLS-00103: Encountered the symbol "," when expecting one of the following:
    * & = - + < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like like2
    like4 likec as between || multiset member submultisetplease advise.

  • PLS-00307: too many declarations of 'TO_CHAR' match this call

    Hi,
    I've got the error "PLS-00307: too many declarations of 'TO_CHAR' match this call" when I test to run a dynamic page portlet.
    Someone helps?
    Thanks.

    Hi,
    What is the version of portal you are using? Also please give the code in the dynamic page.
    Thanks,
    Sharmila

  • Getting error PLS-00307: too many declarations while instantiating object.

    Hi,
    I'm using oracle 10.2.0.4.0
    I've created an object obj_bsk as follows:
    create or replace type obj_bsk as object
    (batch_set_key varchar2(64),
    constructor function obj_bsk
    return self as result,
    constructor function obj_bsk(p_batch_set_key in varchar2)
    return self as result,
    member procedure display_batch_set_key
    and object body as
    create or replace type body obj_bsk as
    constructor function obj_bsk
    return self as result is
    begin
    self.batch_set_key := sys_guid();
    return;
    end;
    constructor function obj_bsk (p_batch_set_key varchar2)
    return self as result is
    begin
    self.batch_set_key := p_batch_set_key;
    return;
    end;
    member procedure display_batch_set_key is
    begin
    dbms_output.put_line('batch_set_key is:' || self.batch_set_key);
    end;
    end;
    Then I've created a package test_obj as follows:
    specification:
    create or replace package test_obj is
    -- Author : TSHARMA
    -- Created : 31/01/2012 10:32:37
    -- Purpose : to test objects
    my_bsk obj_bsk;
    g_batch_set_key varchar2(64);
    procedure show_obj_val;
    end test_obj;
    body:
    create or replace package body test_obj is
    procedure show_obj_val is
    begin
    my_bsk.display_batch_set_key();
    end;
    begin
    -- Initialization
    if (g_batch_set_key is not null) then
    my_bsk := obj_bsk(g_batch_set_key);
    else
    my_bsk := obj_bsk();
    end if;
    end test_obj;
    When I'm compiling the package I'm getting following error:
    Compilation errors for PACKAGE BODY TSHARMA.TEST_OBJ
    Error: PLS-00307: too many declarations of 'OBJ_BSK' match this call
    Line: 12
    Text: my_bsk := obj_bsk(g_batch_set_key);
    Error: PL/SQL: Statement ignored
    Line: 12
    Text: my_bsk := obj_bsk(g_batch_set_key);
    Can anyone please explain why oracle is viewing it as too many call for constructor when both constructors are different.
    and how to resolve the issue.
    Thanks
    Tarun

    I've solved the problem. Though it is strange.
    The error occurred because I'm using p_batch_set_key as parameter constructor.
    i.e. constructor function obj_bsk(p_batch_set_key in varchar2)
    return self as result,
    once I changed it to the same name as variable name in object it compiled fine.
    i.e constructor function obj_bsk(batch_set_key in varchar2)
    return self as result,
    It is very strange. Can anyone plesae explain why the parameter name should be same as variable name in object.
    Thanks
    Tarun

  • Error while calling stored procedure from apps adapter

    Hi,
    I am calling Oracle applications standard api to create ar invoice (XX_BPEL_TEST_APPS_ADAPTER_PKG is the name of wrapper package created by adapter) from apps adapter but getting the following error:
    Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'test_apps_adapter' failed due to: Stored procedure invocation error. Error while trying to prepare and execute the APPS.XX_BPEL_TEST_APPS_ADAPTER_PKG.AR_INVOICE_API_PUB$CREATE_SIN API. An error occurred while preparing and executing the APPS.XX_BPEL_TEST_APPS_ADAPTER_PKG.AR_INVOICE_API_PUB$CREATE_SIN API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection ORA-06512: at "APPS.XX_BPEL_TEST_APPS_ADAPTER_PKG", line 199 ORA-06512: at "APPS.XX_BPEL_TEST_APPS_ADAPTER_PKG", line 909 ORA-06512: at line 1 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 "-6531" 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.
    Just wondering if anyone has faced a similar problem?

    I am trying to pass parameter to test my procedure but it is giving this error : ORA-06531: Reference to uninitialized collection
    ORA-06512: at line 12
    Here is example for my test procedure:
    declare
    v_session_id_tab SESSION_ID_TAB_TYPE;
    v_service_type_tab SERVICE_TYPE_TAB_TYPE ;
    v_service_location_tab SERVICE_LOCATION_TAB_TYPE ;
    v_service_call_name_tab SERVICE_CALL_NAME_TAB_TYPE;
    v_service_call_start_time_tab SERVICE_CALL_ST_TAB_TYPE;
    v_service_call_end_time_tab SERVICE_CALL_ET_TAB_TYPE;
    v_service_call_duration_tab SERVICE_CALL_DUR_TAB_TYPE;
    v_status_tab STATUS_TAB_TYPE;
    v_notes_tab NOTES_TAB_TYPE;
    begin
    v_session_id_tab(1) := 1;
    v_service_type_tab(1) := 'db';
    v_service_location_tab(1) := 'local';
    v_service_call_name_tab(1) := 'Name of call';
    v_service_call_start_time_tab(1) := SYSDATE;
    v_service_call_end_time_tab(1) := SYSDATE;
    v_service_call_duration_tab(1) := 100;
    v_status_tab(1) := 'Z';
    v_notes_tab(1) := 'NOTES';
    BULK_INSERTS (v_session_id_tab,v_service_type_tab, v_service_location_tab,v_service_call_name_tab,v_service_call_start_time_tab,v_service_call_end_time_tab,
    v_service_call_duration_tab, v_status_tab, v_notes_tab);
    end;
    I declare all types at schema level.
    Please give your comments.
    Thank you

  • Calling Stored Procedure from JDBC Adapter

    Hello,
    I am Updating a SQL Server Table using JDBC Adapter.
    Now I have multiple input rows and the procedure needs to be called for each set.
    Do I need to use multimapping for this or just generating multiple <b>Statement</b> node will solve?
    Also For this will there is any knows/ forseen problem (like Transaction handling) that I need to take care of?
    Thanks and Regards,
    Himadri
    Message was edited by:
            Himadri Chakraborty

    Himadri,
    You can just create multiple statement nodes in one message.
    I am not aware of any known or foreseen issues with this approach.
    Kind regads,
    Koen

  • Invalid Object when Calling Stored Procedure from JDBC Adapter

    JDBC Outbound adapter in XI 2.0 connected to SQL Server.  I've coded my mapping to format the XSL mapping properly but the Adapter appears to not be able to find the Stored Procedure.  Error message returned is "Invalid Object spStoredProcedureName".
    Does anybody have any clue as to what I'm missing???

    I know this is trivial, but did you use the "full" name of the SP as <schema>.<procname>???
    HTH

  • PLS-00307: too many declarations of 'FN_Myfunc' match this call

    Dear all,
         we have following two overloaded  functions, we are facing issue while calling with exact case.
    function FN_Myfunc( p_name IN OUT Varchar2,
                P_DTLS IN OUT VARHCAR2) RETURN BOOLEAN;
    function FN_Myfunc( p_name IN OUT CLOB,
                P_DTLS IN OUT CLOB) RETURN BOOLEAN;
    declare
         l_name varchar2(50) default 'Name';
         l_dtls varchar2(255);
    begin
            if( not FN_Myfunc(l_name,l_dtls)) then
               log('errr');
            end if;
    end;
      but the above call giving compilation error mentioned in the subject.
      great full if we get instant reply.
    Regards,
    Paranthaman Rajendran.

    This resembles your problem:
    Ask Tom &amp;quot;ORA-06553: PLS-307 error&amp;quot;
    There's implicit conversion between varchar2 and clob.

  • Calling procedures from table and apex

    Hi
    I have a stored procedures and I want to put my stored procedures in table and I want to call store procedure from table in apex. how can I do this?
    For example
    I have stored procedures like Students(year number,birimno number) 
    GPA(birimno number,studentno number ) Student Procedure and GPA proecdure retrieve name and lastname
    and I want to create a table
    table has
        Id            Package                 Procedurename                                   Arguments                              Header
          1                                                GPA                                 birimno, studentno                      name, lastname
          2                                                Students                          year, birimno                                name,lastnameSo how can I do like this ? I want to call storeprocedures on APEX with selectlist. Selectlist will has a storeprocedures .
    Edited by: esra aktas on 06.May.2011 01:48
    Edited by: esra aktas on 06.May.2011 01:48
    Edited by: esra aktas on 06.May.2011 04:08

    I am beginner pl/sql .
    I had searched execute immediate for helping my problem.
    My purpose is that I want to collect all of procedures in one table. And I must retrived which I select procedure on APEX Selectlist.
    So I started to create a table which name is procedures and I put my procedures names on it.
    Now how can I execute to procedures that name is in table?
    create or replace
    procedure "ISINIF_BASARI"(normalyariyil number,birimno number )
    IS
    ogrenci_no  VARCHAR2(12);
    ders_kodu  VARCHAR2(12);
    ders_adi   VARCHAR2(50);
    harf_kodu  VARCHAR2(4);
    CURSOR c_basari IS
    select  dk.ogrenci_no,da.ders_kodu,da.ders_adi,dk.harf_kodu
    into ogrenci_no,ders_kodu,ders_adi,harf_kodu
    from ders_aktif da,ders_tanim dt, ders_kayit dk
    where da.ders_kodu like  birimno ||'%'
    and (dt.normal_yariyili=normalyariyil
    OR dt.normal_yariyili=normalyariyil+1)
    and (da.acildigi_donem='1' or da.acildigi_donem='2')
    and dt.ders_kodu = da.ders_kodu
    and dk.acilan_ders_no = da.acilan_ders_no
    BEGIN
    FOR I IN c_basari LOOP
    dbms_output.put_line(' OGRENCI NO '||I.OGRENCI_NO||'  DERS KODU  '|| I.DERS_KODU||'  DERS ADI  '||I.DERS_ADI||' HARF KODU '||I.HARF_KODU);
    end loop;
    end;I have procedure like that.
    and I have a procedures table. And I put the procedure's name in table.
    procedure
    id procname
    1 ISINIF_BASARI
    Now I want to call procedure using this table .
    When I call yhe procedures from table I wrote like this. But it has faults.
    create or replace
    PROCEDURE CALLSPFROMTABLE  as
    v_sql_exp VARCHAR2(100);
    BEGIN
    v_sql_exp :='begin'||'select p.procname from procedure p where id=1'||'end;';
    end;Edited by: esra aktas on 07.May.2011 02:19

  • Error when calling a procedure from my apex application

    Hello.
    I want to create a small APEX application that can configure asynchronous change data capture (distributed hotlog) on certain tables.
    Basically, what the application should do is to simply create change tables. Everything else is set up as prerequisite.
    My problem is that when I run the following script from schema apex_cdd (using sqldeveloper) , it works; but if I run it from my apex application by calling it when pressing a button as a pl/sql process, it doen't work.
    BEGIN
    apex_cdc.enable_table_capture
         (     i_owner => 'staging_cdcpub',
              i_change_table_name     => 'g_changeTable',
              i_change_set_name     => 'Source_changeSet',
              i_change_source          => 'orcl01_cs',
              i_source_schema          => 'My_src',
              i_source_table          => 'G',
              i_column_type_list     => 'STARTDATE DATE,STATUS CHAR(1),NAME VARCHAR2(10),ENDDATE DATE,DESCRIPTION VARCHAR2(255),ID NUMBER(8,0),VALUE NUMBER(10,2)'
    END;
    If I look in the trace file, i see that the error is:
    CDCdebug:in ChangeTable.java enableDisabledTriggers: ORA-06550: line 1, column 8:
    PLS-00201: identifier 'SYS.DBMS_CDC_SYS_IPUBLISH' must be declared
    ORA-06550: line 1, column 8:
    PL/SQL: Statement ignored
    oracle.jdbc.driver.OracleSQLException: ORA-06550: line 1, column 8:
    PLS-00201: identifier 'SYS.DBMS_CDC_SYS_IPUBLISH' must be declared
    ORA-06550: line 1, column 8:
    PL/SQL: Statement ignored
    Other remarks:
    - My procedure calls: sys.DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE.
    - I gave the same rights that I gave for apex_cdc schema to flows_030200 and APEX_PUBLIC_USER schemas (just to see if it works), but it doens't.
    Is APEX calling the procedure from another schema ?
    Does anyone has an idea why this procedure crashes if called from APEX application, but works ok if called from the same schema APEX application runs on, but using SQLDeveloper ?
    Any thoughts are appreciated.
    Radian

    The procedure apex_cdc.enable_table_capture i created myself with no authid mentioned explicitly, so it uses definer rights, by default.
    BUt this procedure is simply a wrapper for sys.dbms_cdc_publish.create_change_table.
    When I look on the security model for this sys.dbms_cdc_publish, i see it runs under invoker rights. (http://www.psoug.org/reference/dbms_cdc_publish.html).
    The code is like this:
    CREATE OR REPLACE PROCEDURE enable_table_capture
              i_owner               IN VARCHAR2,
              i_change_table_name     IN VARCHAR2,
              i_change_set_name     IN VARCHAR2,
              i_change_source          IN VARCHAR2,
              i_source_schema          IN VARCHAR2,
              i_source_table          IN VARCHAR2,
              i_column_type_list     IN VARCHAR2
         IS
         BEGIN
              EXECUTE IMMEDIATE 'alter session set REMOTE_DEPENDENCIES_MODE=SIGNATURE';
              EXECUTE IMMEDIATE 'begin add_log@orcl01(i_tableName => ''G''); end;';
    sys.DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE(
    owner => i_owner,
    change_table_name => i_change_table_name,
    change_set_name => i_change_set_name,
    source_schema => i_source_schema,
    source_table => i_source_table,
    column_type_list => i_column_type_list,
    capture_values => 'both',
    rs_id => 'y',
    row_id => 'n',
    user_id => 'n',
    timestamp => 'y',
    object_id => 'n',
    source_colmap => 'n',
    target_colmap => 'y',
    options_string => NULL);
    END enable_table_capture;

  • Calling Stored Procedure from Oracle DataBase using Sender JDBC (JDBC-JMS)

    Hi All,
    We have requirement to move the data from Database to Queue (Interface Flow: JDBC -> JMS).
    Database is Oracle.
    *Based on Event, data will be triggered into two tables: XX & YY. This event occurs twice daily.
    Take one field: 'aa' in XX and compare it with the field: 'pp' in YY.
    If both are equal, then
         if the field: 'qq' in YY table equals to "Add" then take the data from the view table: 'Add_View'.
         else  if the field: 'qq' in YY table equals to "Modify"  then take the data from the view table: 'Modify_View'.
    Finally, We need to archive the selected data from the respective view table.*
    From each table, data will come differently, means with different field names.
    I thought of call Stored Procedure from Sender JDBC Adapter for the above requirement.
    But I heard that, we cannot call stored procedure in Oracle through Sender JDBC as it returns Cursor instead of ResultSet.
    Is there any way other than Stored Procedure?
    How to handle Data Types as data is coming from two different tables?
    Can we create one data type for two tables?
    Is BPM required for this to collect data from two different tables?
    Can somebody guide me on how to handle this?
    Waiting eagerly for help which will be rewarded.
    Thanks and Regards,
    Jyothirmayi.

    Hi Gopal,
    Thank you for your reply.
    >Is there any way other than Stored Procedure?
    Can you try configuring sender adapter to poll the data in intervals. You can configure Automatic TIme planning (ATP) in the sender jdbc channel.
    I need to select the data from different tables based on some conditions. Let me simplify that.
    Suppose Table1 contains 'n' no of rows. For each row, I need to test two conditions where only one condition will be satisfied. If 1st condition is satisfied, then data needs to be taken from Table2 else data needs to be taken from Table3.
    How can we meet this by configuring sender adapter with ATP?
    ================================================================================================
    >How to handle Data Types as data is coming from two different tables?
    If you use join query in the select statement field of the channel then whatever you need select fields will be returned. This might be fields of two tables. your datatype fields are combination of two diff table.
    we need to take data only from one table at a time. It is not join of two tables.
    ================================================================================================
    Thanks,
    Jyothirmayi.

Maybe you are looking for

  • SRM, MDM, ECC integration for central contract management.

    Hi there, I am questioned by a client with respect to the possibility of the following scenario - 1. There are several SAP back end systems in place. 2. SRM 7.0 will be implemented as single sourcing system. 3. The SAP back end systems carry differen

  • The *.icc file is associated with PS process after assigning profile for a picture of CMYK mode ?

    Hi everyone, I have a curious problem for your help  My OS is Windows 7. Start PS and open an image, choose "Edit" -> "Assign Profile...", in the pop-up dialog there is a drop-down list showing many system profiles, and I find all of these *.icc file

  • HP officejet All in one 4110/ Printer Cartridge

    Has this ever happened to anyone. I have changed printer cartridges on my printer so many times with no problems. This last time when I replaced them, I accidentally put the black where the color should go and visa versa, When I discovered this I sta

  • Tax and pricing procedure

    hi sapers what is meanning of requirement and alternating condition base value in pricing and tax procedure.thanks

  • Selection as a percentage

    In a picture I'd like to get the ratio of the selected and the unselected areas. That means: I select several parts of my picture (for example  by using the magic wand tool) and would now like to know the portion of the selected areas (area of the se