Problem in executing procedure in 8.1.7

Hi,
I have created the below mentioned procedure. It got compiled successfully. But when i try to execute it is giving error
"PLS-00306: wrong number or types of arguments in call to 'P1' ORA-06550: line2, column3: PL/SQL".
But if i hardcode the projectId to any number value & execute the procedure, it is getting executed successfully.
CREATE OR REPLACE PROCEDURE p1 (projectid NUMBER)
IS
CURSOR c1
IS
SELECT sl_no, col1, col2, col3
FROM (SELECT ROWNUM sl_no, LEVEL col2,
col3, col4, col5
FROM (SELECT col2, col3, col4, col5
FROM tabl1 tab_level
WHERE tab_level.project_id = projectid
AND tab_level.active_in = 'Y'
AND tab_level.delete_in = 'N') tab1
CONNECT BY PRIOR tab1.col3 = tab1.col4
START WITH (col3, col5) IN (SELECT col3, MAX (col5)
FROM tabl1 tab_parent
WHERE tab_parent.project_id =
projectid
AND NVL (tab_parent.col4, 0) =
0
AND tab_parent.active_in = 'Y'
AND tab_parent.delete_in = 'N'
GROUP BY col3)) table1,
table2,
tabl33
WHERE table1.col2 = table2.col2 AND tabl1.col1 = table3.col1;
BEGIN
FOR i IN c1
LOOP
DBMS_OUTPUT.put_line ('Success');
END LOOP;
END;
Basically here i am selecting some columns from third level SELECT. If i change it to second level SELECT it works fine without hardcoding. Can you help me in finding the problem in the code.
Thanks for the help,
Sunil.

Sunil,
Hierarchical query ie CONNECT BY PRIOR clause doesnt work on views or inline views in Oracle 8.1.7. So your procedure is failing. Upto 8.1.7, the hierarchical queries work only on tables.
If you try the same in 9i, it will work.
Hope this helps
Regards
Dinesh

Similar Messages

  • Strange problem in executing procedure using dblink

    I have this strange problem coming in the execution of a procedure accessed using dblink. I will try to explain the scenario. We have one procedure in our schema which is executed using a dblink from another database as we have a integration of systems. This was working fine but after we did a fresh export and import of this schema as we migrated our database to a new better configuration DB server, the execution of this procedure is hanging when it is executed from the dblink from the other database. I hope, I have been able to explain the scenario.
    I hope, my question is clear.
    Please, help in solving the doubt.
    regards

    No starting version number.
    No current version number.
    No indication of whether the link is valid and you can SELECT across it.
    No error message of any kind.
    Nothing from your alert log.
    No indication of whether you have a global names issue.
    Please do the research required to identify the nature of the problem, check the related docs at metalink, and if you still have a problem give us the rest of the story.
    Then perhaps we can help you.

  • PLS-00306,problem while executing procedure from oracle e_comerce

    Hi
    I have writen a procedure in oracle.Tere i have a parameter with type varchar2.
    While i registered it in e_comerce i choosed the value set as 15characters.
    When i am runing the program from my ecomerce application it gives an error as below:
    ORACLE error 6550 in FDPSTP
    Cause: FDPSTP failed due to ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'PO_OUTPUT'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    there is no error when i am executing my procedure in toad/sql+ but this error comes only in e_comerce application.
    PLease tell what is the reason and what can be the solution?

    Hi,
    <p>
    The function has the following parameters:<br>
    function insertj(jnum j.j#%type, jname j.jname%type, city j.city%type)<br>
    where j# is varchar2(5), jname is varchar2(35) and city is varchar2(35)<br>.
    I was trying to insert the following values:<br>
    j#:='J11', jname:='JobName' and city:='Paris'.<br>
    </p>
    <p>
    The procedure just calls this function with the same parameters. It is very strange because it is hard to see what the problem is. The line 10 is return 0 in the function where I believe the error comes from. It starts in the procedure and then goes in the function body, if I am interpreting this right.
    </p>
    <p>
    Any idea?
    </p>
    Thanks!

  • Problem while executing procedure thru Shell script (EXECUTE IMMEDIATE)

    Hi All,
    I have created a procedure where i am passing column name, tablename and business date. The procedure gets last 5 business date excluding Saturday and sunday based on business date.
    i am using EXECUTE IMMEDIATE statement in the procedure, where i am replacing the column name, table name, and business date & then executing this statement.
    stmt := 'select count(1) FROM '||tblname||' where trunc('||date_column||')= :1';
    EXECUTE IMMEDIATE l_stmt into tbl_count using to_char(in_date, 'DD-MON-YYYY') ;
    It will give me the count of all 5 days for a particular dates. When i run the procedure in SQL*Plus/TOAD, it gives me desired result. When i run this in UNIX shell script, it runs fine but at end gives following error:
    SP-xxx: Bind varaible not declared.
    Can someone tell me where might be the problem?

    Hello, if you could put a {noformat}{noformat} before and after your snippets of code please, it makes it much easier to decipher.
    You have:EXECUTE IMMEDIATE l_stmt into tbl_count using to_char(in_date, 'DD-MON-YYYY') ;
    Where it should be:EXECUTE IMMEDIATE l_stmt into tbl_count using TRUNC(in_date) ;
    Additionally, you do not need the SQL script, you could simply have:sqlplus -S $ORA_UID/$ORA_PWD@$DSQuery <<EOF >>${TMP_DIR}/report.log 2>&1
    whenever sqlerror exit failure
    whenever oserror exit failure
    set serveroutput on;
    set pages 0;
    set feed off;
    exec return_date ('20090515','STIFAPACDTR','ASOFD','n');
    print;
    quit
    EOF
    if [[ $? -ne 0 ]]
    then
    echo "sqlplus did not run successfully,verify"
    echo "For errors please check ${TMP_DIR}/report.log file\n Exiting..."
    else
    echo "$0 script executed successfully"
    fi
    exit $?
    You don't need any of this:if /usr/xpg4/bin/grep -e 'ORA-' -e '^ERROR at' -e 'unknown command' ${TMP_DIR}/report.log
    then
    print "sqlplus did not run successfully,verify"
    print "For errors please check ${TMP_DIR}/report.log file\n Exiting..."
    exit 1
    fi
    if [http:// -s ${TMP_DIR}/report.log ]
    then
    print "`echo $0 script executed successfully"
    grep -v '^$'${TMP_DIR}/report.log > ${TMP_DIR}/report.csv
    else
    print "${TMP_DIR}/report.log file not generated, verify, \n exiting"
    exit 1
    fi
    outFLAG="n"
    done
    I'm not sure that that will fix your problem here, but can you try again with those changes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Execute procedure problem

    Hi,
    I have this problem.
    I have one procedure on first database (9.2.0.7) which is calling second procedure from it's body on second database (8.1.6.3.0) using dblink.
    When I connect from my client node (10.2.0.4 Oracle client) on first database everything is OK, I execute procedure and I get some results, because I have four output values from procedure.
    Problem is when I have tried to execute procedure from first database using it's client 9.2.0.7, I just don't get any output from it, but also I don't get any error.
    It's look like that there is some communication problem between 9.2.0.7 and 8.1.6.
    Example>
    1) Good output:
    execute vpku.pom_bscs_potr('190900641213696', '6275,07');
    b_r 19-090-064-1213696
    i_f 6275,07
    out1 6275,07
    out2 01/02/2009
    out3 N
    out4 1.1296014
    PL/SQL procedure successfully completed.
    2) Problematic output
    execute vpku.pom_bscs_potr('190900641213696', '6275,07');
    b_r
    i_f
    out1
    out2
    out3
    out4
    PL/SQL procedure successfully completed.
    Any idea,
    Thanks.

    Hi,
    What is the second parameter? Is this a number field? If so I think the problem will be setting of your environment, NLS_NUMERIC_CHARACTERS or THE NLS_LANGUAGE. This will define the decimal seperator, which I think is different on the two clients.
    First thing to do, drop the above mentioned solution of an exception handling. This will hopefully yield the real error. Possibly ORA-01722, Invalid number.
    Herald ten Dam
    Superconsult.nl

  • Problem wile EXECUTE IMMEDIATE DDL statement in procedure

    Hi ,
    This is my procedure and it's getting compiled but while executing procedure getting this error,
    can anyone please tell me how to fix this?
    create or replace procedure construct_Table (name_table IN VARCHAR2)
    IS
    v_tab_name varchar2(40):=NULL;
    v_sql_Stmt varchar2(32767) := NULL;
    finalquery varchar2(32767) :=NULL;
    cursor tp is
    select COLUMN_NAME,DATA_TYPE,DATA_PRECISION,CHAR_LENGTH  from all_tab_cols where table_name=name_table;
    BEGIN
    begin
    select TABLE_NAME into v_tab_name from user_tables where table_name=name_table;
    EXCEPTION
    WHEN no_Data_found
    THEN
    DBMS_OUTPUT.PUT_LINE('No such table exist');
    end;
    if(v_tab_name IS NOT NULL)then
    finalquery := 'CREATE TABLE '||v_tab_name||'_DUMMY (';
       FOR I IN tp LOOP
       if(I.data_type='VARCHAR2') then
       v_sql_stmt := finalquery ||I.column_name||' '||I.data_type||'('||I.char_length||') ';
       elsif(I.data_type='NUMBER') then
       v_sql_stmt := finalquery ||I.column_name||' '||I.data_type||'('||I.DATA_PRECISION ||') ';
       else
       v_sql_stmt := finalquery ||I.column_name||' '||I.data_type ;
       end if;
       finalquery := v_sql_stmt || ',';
       END LOOP;
       finalquery := SUBSTR(finalquery,1,LENGTH(finalquery) - 1)||')';
       dbms_output.put_line(finalquery);
       EXECUTE IMMEDIATE'grant create any table to cmsuser';
       EXECUTE IMMEDIATE finalquery;
    end if; 
    END;
    /This is the error I am getting
    Error starting at line 1 in command:
    begin
    construct_Table ('EMP');
    end;
    Error report:
    ORA-01031: insufficient privileges
    ORA-06512: at "CMSUSER.CONSTRUCT_TABLE", line 30
    ORA-06512: at line 2
    01031. 00000 -  "insufficient privileges"
    *Cause:    An attempt was made to change the current username or password
               without the appropriate privilege. This error also occurs if
               attempting to install a database without the necessary operating
               system privileges.
               When Trusted Oracle is configure in DBMS MAC, this error may occur
               if the user was granted the necessary privilege at a higher label
               than the current login.
    *Action:   Ask the database administrator to perform the operation or grant
               the required privileges.
               For Trusted Oracle users getting this error although granted the
               the appropriate privilege at a higher label, ask the database
               administrator to regrant the privilege at the appropriate label.Thanks ,
    Deekay.

    Deekay,
    If you grant create table privilege and create table in the same procedure, then how you will differentiate that which user you granted the privilege and in which schema, you are creating the table. Here, you are granting to "cmuser", but in the same schema, you are creating the table also. How can a user grant privilege to himself?
    Login as DBA, grant create any table privilege to "cmuser" from dba. Then, you can execute you procedure in "cmuser" schema.

  • How to execute procedure in toad software

    hiii guy's i run my procedure on sql prompt and it run properly
    but when i tried this on toad i got an problem
    after compiling my procedure on toad
    when i write
    execute procedure_name(parameter1,parameter2);
    then i get an error i.e
    ORA-00900: invalid SQL statement
    can someone tell me how to execute procedure on toad
    thanks in adv...........

    how to execute procedure in toad softwareIn TOAD's schema browser you can go to the procedures tab - right click on the procedure in question and choose execute procedure - a window should pop up, where you can give optional parameters - the rest should be almost self explanatory ;)

  • How to execute procedure in SQL Worksheet ?

    Hi, anybody know, how I can execute procedure here?
    I try EXEC sec_roles, EXEC security_admin.sec_roles, EXECUTE - there is a SQL statement error. When I use CALL - there is no such procedure (I have execute previleges).
    Although in SQLPlus EXEC works, but there are problems with standard SQL commands (all of them returns "2" no matter what content is).
    Any ideas?
    Regards
    Krzysztof

    exec procedure(parameters) is a sql plus (and a few others) shortcut for
    BEGIN
       procedure(parameters);
    END;So try that then pressing/clicking whatever it is in sql worksheet that makes a statement run.
    Note that if your procedure has parameters defined as OUT or IN OUT, you will need to supply a variable to accept the returned value(s).
    John

  • Problem with Stored Procedure exection in Sender and Receiver side of JDBC

    Hi All,
    I am facing problem while executing Stored Procedures using sender and receiver sides of JDBC adapter.
    Here is my SP in Oracle DB :
    PROCEDURE EMP                           
    ( ID IN VARCHAR2,NAME IN VARCHAR2,PROCESSED IN VARCHAR2  ) AS                                                          
    BEGIN                                                         
       INSERT INTO EMPLOYEE VALUES (ID, NAME, PROCESSED);COMMIT;END EMP;
    Now I want to execute this SP using sender JDBC channel and receiver JDBC channel.
    Can anyone please help me executing this SP?
    Regards,
    Soorya

    Hi Soorya,
    The receiver Data type should be like this:
    <StatementName>
    <storedProcedureName action=u201D EXECUTEu201D>
        <table>realStoredProcedureeName</table>
    <param1 [isInput=u201Dtrueu201D] [isOutput=true] type=SQLDatatype>val1</param1>
    </storedProcedureName >
      </StatementName>
    Check the link http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/frameset.htm
    Which DB  are you using?? The sender structure will be like
    <resultset>
    <row>
    <field1></field1>
    <field2></field2>
    <field3></ field3>
    </row>
    </resultset>
    Search SDN you will get lot of examples
    Regards
    Suraj

  • Problem in excecuting procedure

    Hi All,
    I am facing problem in executing one simple procedure.
    i am excecuting by writing the following code in the SQL editor.
    execute test_procedure
    the procedure am using is given below
    CREATE OR REPLACE procedure test_procedure(para out number )
    is
    --cursor cur_get_emp_table is  select * from emp;
    begin
    select count(*) into para2 from emp;
    end;
    when i try excecuting it is giving the following error
    ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to
    Can anybody help me out?
    Thanks in advance,
    Vinay TJ
    Edited by: user12281717 on Nov 27, 2009 4:20 AM

    Hi,
    Although Hoek is correct in pointing out a issue in your procedure
    the error
    ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to tells you that the procedure is expecting a parameter to be passed and you are not passing it.
    Hence, you will have to combine the above 2 solutions by HOEK and MASSIMO :)
    Regards,
    Bhushan

  • Execute procedure with hr_maintain_masterdata

    Hi all,
    I'm trying to execute a procedure using hr_maintain_masterdata. I'm encountering some problems. The procedure consists of 2 infotypes 0 & 1.
    On the infotype 0 screen I have a field 'Q0000-rfpnr' that needs to be filled out (but is not required). Using the 'proposed values' I can not set this value.
    Also, I can not get to the second screen. I have tried to put the ok_codes, but no success there.
    Can anyone help me?
    Regards,
    Luk
    Hereby the calling code...
      CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
       EXPORTING
         pernr                    = l_pernr
         massn                    = lc_massn
    *     actio                    = 'INS'
    *      TCLAS                    = 'A'
    *      BEGDA                    = SY-DATUM
    *      ENDDA                    = '99991231'
    *      OBJPS                    =
    *      SEQNR                    =
    *      SPRPS                    =
    *      SUBTY                    =
    *      werks                    = lc_werks
    *      persg                    = lc_persg
    *      persk                    = lc_persk
    *      plans                    = im_plans
          dialog_mode              = '1'
    *      LUW_MODE                 = '1'
          no_existence_check       = 'X'
          no_enqueue               = 'X'
    *    IMPORTING
    *      RETURN                   =
    *      RETURN1                  =
    *      HR_RETURN                =
        TABLES
          proposed_values          = lt_prop
    *      MODIFIED_KEYS            =

    Hi Luk,
    if you work with reference personnel numbers you will also consider infotype 0031 for your procedure. There is a relationship (Q0000-RFPNR) between the infotypes 0000 and 0031.
    Regards
    Michael

  • Error in Executing Procedure through DBLink

    Hi,
    I am facing some problems in executing a procedure through DBLink.
    I have two schema A and B in two different database.
    In schema A I am having one procedure X in package Y and my requirement is that I want to execute this procedure in schema B. So in schema B i have created one DBLink ABC and trying to execute procedure X using this DB link.
    begin
    A.Y.X@ABC;
    end;
    But I am getting below error:
    ORA-06550: line 2, column 1:
    PLS-00201: identifier 'A.Y.X@ABC' must be declared
    ORA-06550: line 2, column 1:
    PL/SQL: Statement ignored
    Any help would be greatly appreciated!
    Thanks In Advance..
    Regards,
    Sachin Bansal

    Hi,
    Yes, I am connecting to user A of DB1 and in this user I am having procedure X in Package Y. My DBLink in Schema B of DB2 is pointing to user A of DB1.
    I have created DBLINK using below script:
    create public database link abc
    connect to A
    identified by A
    using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX)(PORT=1521)))(CONNECT_DATA=(service_name=XXX)))';
    Above DBLInk is working fine..I am able to access all the table of schema A in schema B using this DBLink. But when I trying to execute any procedre of schema A in schema B then i am getting error.
    Regards,
    Sachin

  • Problems with a Procedure

    People,
    I'm having a problem with a procedure in the moment I'm trying to execute it, could someone help.
    CREATE OR REPLACE PROCEDURE CARREGA IS
    begin
         declare
              strSQL VARCHAR2(250);
              NCham     number(9);
              cursor n_chamados is
              SELECT NumeroChamado, Planta, Instalacao, Defeito,
              DescricaoDefeito, Servico, DataChamado,Horas, Minutos
              FROM DEFEITOS_AUX;
    begin
         For reg_chamado in n_chamados
         Loop
              begin
                   NCham := reg_chamado.numerochamado;
                   strSQL := 'SELECT numerochamado FROM Defeitos';
                   strSQL := strSQL || ' WHERE numerochamado =';
                   strSQL := strSQL || NCham || ' GROUP BY numerochamado';
                   EXECUTE IMMEDIATE strSQL;
              exception
                   when no_data_found then
                   strSQL := 'INSERT INTO Defeitos (';
                   strSQL := strSQL || 'NumeroChamado, ';
    strSQL := strSQL || 'Planta, ';
                   strSQL := strSQL || 'Instalacao, ';
                   strSQL := strSQL || 'Defeito, ';
                   strSQL := strSQL || 'DescricaoDefeito, ';
                   strSQL := strSQL || 'Servico, ';
                   strSQL := strSQL || 'DataChamado, ';
                   strSQL := strSQL || 'Horas, ';
                   strSQL := strSQL || 'Minutos) ';
              strSQL := strSQL || 'VALUES ( ';
              strSQL := strSQL || reg_chamado.NumeroChamado || ', ';
              strSQL := strSQL || reg_chamado.Planta || ', ';
              strSQL := strSQL || reg_chamado.Instalacao || ', ';
              strSQL := strSQL || reg_chamado.Defeito || ', ';
              strSQL := strSQL || reg_chamado.DescricaoDefeito || ', ';
              strSQL := strSQL || reg_chamado.Servico || ', ';
              strSQL := strSQL || reg_chamado.DataChamado || ', ';
              strSQL := strSQL || reg_chamado.Horas || ', ';
              strSQL := strSQL || reg_chamado.Minutos || ')';
                   EXECUTE Immediate strSQL;
              end;
              strSQL := 'UPDATE Defeitos SET ';
              strSQL := strSQL || 'Planta = ' || reg_chamado.Planta;
              strSQL := strSQL || ', Instalacao = ' || reg_chamado.Instalacao;
              strSQL := strSQL || ', Defeito = ' || reg_chamado.Defeito;
              strSQL := strSQL || ', DescricaoDefeito = ' || reg_chamado.DescricaoDefeito;
              strSQL := strSQL || ', Servico = ' || reg_chamado.Servico;
              strSQL := strSQL || ', DataChamado = ' || reg_chamado.DataChamado;
              strSQL := strSQL || ', Horas = ' || reg_chamado.Horas;
              strSQL := strSQL || ', Minutos = ' || reg_chamado.Minutos;
              strSQL := strSQL || ' WHERE NumeroChamado = ' || NCham;
              EXECUTE Immediate strSQL;
         end loop;
    end;
    end;

    Hi Erika,
    there is no need for dynamic SQL.
    I suppose the NumeroChamado is your primary key and has an unique index on it.
    Just insert the rows and if there is already an existing row, catch the exception and update the row.
    CREATE OR REPLACE PROCEDURE CARREGA IS
      CURSOR n_chamados IS
        SELECT NumeroChamado,
               Planta,
               Instalacao,
               Defeito,
               DescricaoDefeito,
               Servico,
               DataChamado,
               Horas,
               Minutos
        FROM   DEFEITOS_AUX;
    BEGIN
      FOR reg_chamado IN n_chamados LOOP
      BEGIN
        INSERT INTO Defeitos (;
          NumeroChamado, ';
          Planta,
          Instalacao,
          Defeito,
          DescricaoDefeito,
          Servico,
          DataChamado,
          Horas,
          Minutos
        ) VALUES (
          reg_chamado.NumeroChamado,
          reg_chamado.Planta,
          reg_chamado.Instalacao,
          reg_chamado.Defeito,
          reg_chamado.DescricaoDefeito, 
          reg_chamado.Servico,
          reg_chamado.DataChamado,
          reg_chamado.Horas,
          reg_chamado.Minutos
      EXCEPTIONS
      WHEN DUP_VAL_ON_INDEX THEN
        UPDATE Defeitos SET
          Planta = reg_chamado.Planta,
          Instalacao = reg_chamado.Instalacao,
          Defeito = reg_chamado.Defeito,
          DescricaoDefeito = reg_chamado.DescricaoDefeito,
          Servico = reg_chamado.Servico,
          DataChamado = reg_chamado.DataChamado,
          Horas = reg_chamado.Horas,
          Minutos = reg_chamado.Minutos
        WHERE NumeroChamado = reg_chamado.NumeroChamado;
      END;
      END LOOP;
    END;

  • Problem with Oracle procedure

    Hi,
    We have a problem with a Oracle procedure call using the Sql Execute
    Procedure statement.
    The call gives us this error :
    SYSTEM ERROR: (This error was converted)
    (This error was converted)
    OpenCursor failed for SQL statement in project LFB010, class
    ClsDemarreLFB010,
    method Demarre, methodId 4, line 32, error from database is:
    ORA-01036: illegal variable name/num
    Class: qqdb_ResourceException
    Distributed method called: qqdb_SessionProxy.OpenCursor!22 (object
    name
    instance/d4745a10-c8e4-11d1-97fd-90cad1e7aa77:0x196:0x4/lfb010_cl0/lfb010_cl
    0-fonctiondbservice0x196:0x2)
    from partition "LFB010_CL0_Client", (partitionId =
    D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196:0x4, taskId =
    [D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196.3]) in application
    "FTLaunch_cl0", pid 4290975297 on node LAXOU146 in environment
    CentralEnv
    Oracle error: 1036, Server: sipre_tcp, UserName: forte
    Database Statement: begin
    :qqReturnValue := AID_CUMUL_ELTVAL;
    end;
    Class: qqdb_ResourceException ..........
    And this is the TOOL code :
    BEGIN TRANSACTION
    TmpEtat : IntegerData = new;
    TmpEtat.SetValue (( SQL EXECUTE PROCEDURE AID_CUMUL_ELTVAL ON SESSION
    FonctionDBService ));
    Etat = TmpEtat.Value;
    END TRANSACTION;
    Our procedure has no parameter and when we put a dummy parameter to the
    procedure and pass it in the TOOL SQL statement, it works fine althoug the
    Fort&eacute; help says the parameter list is optionnal !
    We tried to execute the procedure in a "SQL Select OurProdecure Into ..."
    statement, but it does'nt work because there is a SQL update in the
    procedure and it is forbidden by Oracle.
    Has anyone seen this error before ?
    Any ideas would be greatly appreciated.
    Many thanks and regards,
    Manuel DEVEAUX
    Previade, France
    e-mail : deveauxpreviade.fr

    Hi,
    We have a problem with a Oracle procedure call using the Sql Execute
    Procedure statement.
    The call gives us this error :
    SYSTEM ERROR: (This error was converted)
    (This error was converted)
    OpenCursor failed for SQL statement in project LFB010, class
    ClsDemarreLFB010,
    method Demarre, methodId 4, line 32, error from database is:
    ORA-01036: illegal variable name/num
    Class: qqdb_ResourceException
    Distributed method called: qqdb_SessionProxy.OpenCursor!22 (object
    name
    instance/d4745a10-c8e4-11d1-97fd-90cad1e7aa77:0x196:0x4/lfb010_cl0/lfb010_cl
    0-fonctiondbservice0x196:0x2)
    from partition "LFB010_CL0_Client", (partitionId =
    D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196:0x4, taskId =
    [D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196.3]) in application
    "FTLaunch_cl0", pid 4290975297 on node LAXOU146 in environment
    CentralEnv
    Oracle error: 1036, Server: sipre_tcp, UserName: forte
    Database Statement: begin
    :qqReturnValue := AID_CUMUL_ELTVAL;
    end;
    Class: qqdb_ResourceException ..........
    And this is the TOOL code :
    BEGIN TRANSACTION
    TmpEtat : IntegerData = new;
    TmpEtat.SetValue (( SQL EXECUTE PROCEDURE AID_CUMUL_ELTVAL ON SESSION
    FonctionDBService ));
    Etat = TmpEtat.Value;
    END TRANSACTION;
    Our procedure has no parameter and when we put a dummy parameter to the
    procedure and pass it in the TOOL SQL statement, it works fine althoug the
    Fort&eacute; help says the parameter list is optionnal !
    We tried to execute the procedure in a "SQL Select OurProdecure Into ..."
    statement, but it does'nt work because there is a SQL update in the
    procedure and it is forbidden by Oracle.
    Has anyone seen this error before ?
    Any ideas would be greatly appreciated.
    Many thanks and regards,
    Manuel DEVEAUX
    Previade, France
    e-mail : deveauxpreviade.fr

  • Weird Problem calling Stored Procedure using JDBC

    Scenario is..
    I have J2EE application and calling stored procedure using JDBC.
    My application connects to instance "A" of testDB.
    Schema "A" does NOT own any packages/procedure but granted execute on oracle packages/procedures that reside in schema "B" of testDB.
    In java code I call procedure(proc1) in package(pac1) which internally calls procedure(proc2) in package(pac2).
    The problem occurs when procedure pac2.proc2 is modified. After the modification, my java code fails and throws an exception "User-Defined Exception" and I am also getting "ORA-06508: PL/SQL: could not find program unit being called". This clears up only if I bounce the web container. (This doesn't happen if I modify pac1.proc1 and run my application)
    Has any one faced this problem? Please suggest if any thing can be changed in jdbc code to fix this problem.
    Thanks

    Hi,
    I assume these are PL/SQL packages and that the changes are made at the package specification level?
    If so, it looks like you are hitting the PL/SQL dependencies rules. In other words, if the spec of proc2 is changed, then proc1 is invalidated, since proc1 still depends on the old version of proc2's spec. As a result, if you try to run proc1, its spec must either be explicitly rewritten before it could run again or implicitly recompiled first, if the (implicit) recompilation fails, it won’t run.
    Kuassi http://db360.blogspot.com

Maybe you are looking for

  • How can I copy forms along with information?

    Ok, I started a new job last week as an Office Assistant.  Being I came from a place (family business) where I had to do whatever, whenever, I have to get adjusted to NOT doing everything myself....they have depts for that.  Anyway, right before I go

  • Key instead of text in the variable sclection screen

    Hello Experts, please clarify my doubt. My user wants to see the key instead of text in variable selection screen (in portal) for material. Is it possible to do this? Regards Prathap.

  • To get :SYSTEM.MOUSE_RECORD in Forms 11g

    Dear Friends, I tried :SYSTEM.MOUSE_RECORD but it give the record wher I last clicked, not the record where mouse cursor. I want to get the record where mouse cursor lies. How can I get? Thanks in Advance Ahamed Rafeeque Cherkala

  • EDI 820 vs BAI2

    Hi Sappers!! I would appreciate your inputs on the following issues: For processing incoming payments which method is more cost effective EDI 820/FINSTA or BAI2 Which method is more efficient? (Higher cost need not  always mean higher efficiency) Our

  • How to set background as white colour for Bitmap images in sapscripts?

    Hi, Can anyone let me know that How to set background as white colour for Bitmap images in sapscripts?Actually,I am getting grey as background as defualt for my Bitmap images. Sorry,in my previous question,I posted viceversa.I am mistaken. Thanks, Ba