Oracle 11g {ORA-06550, PLS-00905}

Hi all
I am new to Oracle and I am trying to execute the procedure, but I get the error ORA-06550, PLS-00905
Here is the procedure:
create or replace PROCEDURE add_job
(p_jobid IN jobs.empno%TYPE,
p_jobtitle IN jobs.job%TYPE)
IS
BEGIN
INSERT INTO scott.jobs (empno, job) VALUES (p_jobid, p_jobtitle);
END add_job;
/
I type the following command to run the proc:
Start
add_job (6000, "ANALYST");
end;

Can anyone suggest something to remedy?
Thanks in advance.

Edited by: 994323 16/03/2013 15:37

So mark your ANSWER question and provide your Oracle version 4-digit and use.

 tags next time you post.                                                                                                                                                                                                                                    

Tags: Database

Similar Questions

  • ORA-06550: PLS-00394: wrong number of values in the list INTO a mesh FETCH

    Dear friends,
    I ask you a suggestion:

    The following code inserts a table errors (errori_work), the IDS of the records repeat (in the work of the table), but gives me this error:
    ORA-06550: PLS-00394: wrong number of values in the list of a FETCH statement INTO.

    The work of the table has the 78 columns: the problem of the fields used in the slider flew against the 78% ROWTYPE fields?
    I could use a record declared as the cursor (rec_tabwork cu_tabwork % ROWTYPE;), but in the MANUAL I need a field (ID_WORK) is not present in the cursor.

    declare
    CURSOR cu_tabwork IS
    SELECT CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, likelihood
    Work
    CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, applications GROUP
    HAVING COUNT (rowid) > 1
    UNION ALL
    SELECT CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, likelihood
    Work
    CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, applications GROUP
    After HAVING COUNT (rowid) > 2.
    rec_tabwork work % ROWTYPE;
    BEGIN
    Open cu_tabwork;
    loop
    extract the cu_tabwork in rec_tabwork;
    If FOUND then % cu_tabwork
    dbms_output.put_line (rec_tabwork. (ASL); -test
    INSERT INTO errori_work
    (cd_errore, note, ID_WORK)
    )
    VALUES ("ACC", "Record ripetuto nella table work", rec_tabwork.ID_WORK)
    );
    end if;
    EXIT WHEN cu_tabwork % NOTFOUND;
    end loop;
    close cu_tabwork;
    end;

    Can you help me?
    Thank you
    Leo

    Hello

    I loaded your data and ran the query. It's coz the NR_RICETTA contains a null value, so your State A.NR_RICETTA = B.NR_RICETTA will fail when it checks for NULL = NULL. Here is your output from the query

    PRAZY@orcl> select count(ID_AMBS) FROM WORK A
      2  WHERE A.ROWID > ANY (SELECT B.ROWID FROM WORK B
      3  WHERE A.CD_PRESIDIO        =B.CD_PRESIDIO
      4  AND A.GGMM_CONTATTO        =B.GGMM_CONTATTO
      5  AND A.NR_RICETTA   =B.NR_RICETTA
      6  AND A.CD_CONT_PRESCR       =B.CD_CONT_PRESCR
      7  AND A.NR_PROG_INT  =B.NR_PROG_INT
      8  AND A.DESTINAZIONE =B.DESTINAZIONE)
      9  /
    
    COUNT(ID_AMBS)
    --------------
                48
    
    Elapsed: 00:00:00.00
    

    Therefore, I have included NVL to A.NR_RICETTA, which will produce true when it finds null checking 0 = 0 and you will get your result. and this is what you are looking for

    PRAZY@orcl> select count(ID_AMBS) FROM WORK A
      2  WHERE A.ROWID > ANY (SELECT B.ROWID FROM WORK B
      3  WHERE A.CD_PRESIDIO        =B.CD_PRESIDIO
      4  AND A.GGMM_CONTATTO        =B.GGMM_CONTATTO
      5  AND NVL(A.NR_RICETTA,0)    =NVL(B.NR_RICETTA,0)
      6  AND A.CD_CONT_PRESCR       =B.CD_CONT_PRESCR
      7  AND A.NR_PROG_INT  =B.NR_PROG_INT
      8  AND A.DESTINAZIONE =B.DESTINAZIONE)
      9  /
    
    COUNT(ID_AMBS)
    --------------
                61
    
    Elapsed: 00:00:00.01
    

    If you want to insert the duplicate ID in a Table of errors, do an insert with the following select statement.

    INSERT INTO errori_work(cd_errore, note, ID_AMBS)
    SELECT 'CAC', 'Record ripetuto nella tabella Work',ID_AMBS FROM WORK A
    WHERE A.ROWID > ANY (SELECT B.ROWID FROM WORK B
    WHERE A.CD_PRESIDIO     =B.CD_PRESIDIO
    AND A.GGMM_CONTATTO     =B.GGMM_CONTATTO
    AND NVL(A.NR_RICETTA,0)     =NVL(B.NR_RICETTA,0)
    AND A.CD_CONT_PRESCR     =B.CD_CONT_PRESCR
    AND A.NR_PROG_INT     =B.NR_PROG_INT
    AND A.DESTINAZIONE     =B.DESTINAZIONE);
    

    Hope that solves your problem.

    See you soon!

  • ORA-06550-PLS-00302 error on execution mapping

    I have a mapping in OWB 11.2.0.3, I can bend and validate.
    But if I like him to run it it fails with the following error:
    ORA-06550: line 1, column 1487: PLS-00302: component 'MAPPING_NAME' must be declared ORA-06550: line 1, column 1470: PL/SQL: statement ignored

    I've already found a post that said: grant run owner_name. "' name map ' to user_name;
    In my case it does solve the problem.

    Someone at - it an idea of what the problem might be?


    Thanks for any help,

    Benjamin

    We have the same problem on OWB 11.2.0.3 and resolved to rename a schema name, because it was the same thing to another database object. If this is your case, you can change the name of the database schema and the location on OWB.
    We hope this help you.

    To view the possible duplicate objects (drawing object):

    SELECT *.
    FROM DBA_OBJECTS
    WHERE OBJECT_NAME = '';

    On the Oracle document is much better explained:

    [http://docs.oracle.com/cd/E11882_01/relnotes.112/e24470/toc.htm]

    Oracle® Warehouse Builder Release Notes
    * 11g Release 2 (11.2) part number E24470-05 *.

    [...]

    7.14 existence of an object in the schema with the same name as the schema target in the database
    12776878: If an object exists in the schema with the same name as the schema target in the database, an error is displayed.

    For example:

    Named A schema has an object called q. schema named Q exists and has an object called Z.
    When you call from SchemaQ.ObjectZ to a scheme A, it looks in schema A Q.Z. Z is not found and displays the following error:

    ORA-06550:... : PLS-00302: component 'XYZ' must be declared
    Workaround: rename one of the objects Q to R or one letter other than Q.

    [...]

  • ADR 3.0.1 install ORDS_PUBLIC_USER of error: ORA-06550, PLS-00103

    Try the Advanced installation of new ADR in a clean PDB 12 c (12.1.0.1) installation.

    If someone had the same problem and a work around?

    Error at startup to the line: 48 in command.

    Start

    run immediately "create user ORDS_PUBLIC_USER identified by ' ^ PUB_PWD ' account unlock default tablespace ^ temporary tablespace PUB_DATATBS ^ PUB_TEMPTBS';"

    end;

    Error report-

    ORA-06550: Line 2, column 23:

    PLS-00103: Fand das symbol "create user ORDS_PUBLIC_USER identified by 'mySecretPwd' als eines der following works wurde:

    (- + new case mod not null < an ID >)

    < between double quote delimited identifiers of > < a variable binding >

    continue the current avg County are min max sql stddev prior

    variance of the sum run forall fusion timestamp interval

    Date < a literal string with the specified set of characters >

    < a > < a SQL string between single quotes > hose

    < ein alternativ in Anfuhrungszeichen geset

    force_print

    It seems to be related to the change here:

    https://community.Oracle.com/thread/3731913

    Finally the installation of ADR is running. However still not showing apex, but which appear to be a different problem.

    Here is my solution to overcome the problem of creation of ORDS_PUBLIC_USER.

    The problem was that they changed it to use execute_immediate. However, lexical surrogates have ' included.

    Gives problems when adding to the string of immediate execution. And also problems for the password in quotation marks.

    In the ords.war file to find the ords_create_rest_users.sql and replace the relevant parts marked with blue lines.

    ...

    set PUB_PWD = ^ 1

    set PUB_DATATBS = ' ^ 2'

    set PUB_TEMPTBS = ' ^ 3'

    ALTER session set current_schema = SYS;

    -Remove user REST if exists

    ...

    -Create user ORDS_PUBLIC_USER and unlock the account

    create user ORDS_PUBLIC_USER identified by ' ^ PUB_PWD ' account unlock default tablespace ^ temporary tablespace PUB_DATATBS ^ PUB_TEMPTBS;

    ...

  • ORA-06550 pls-00103 encountered the end symbol of file

    HII

    the procedure below compiles well.

    CREATE OR REPLACE PROCEDURE BG. FIND_DUP (EMP_CODE NUMBER, MAIN_EMP_CODE NUMBER) IS

    CURSOR C1 IS

    SELECT THE TABLE TABLE_NAME FROM USER_TAB_COLUMNS

    WHERE COLUMN_NAME = 'EMP_CODE. '

    AND UPPER (TABLE_NAME) <>UPPER ('PA_EMP_MERGE');

    V_T_NAME VARCHAR2 (2000);

    RESULT VARCHAR2 (1000);

    BEGIN

    OPEN C1;

    LOOP

    FETCH C1 IN V_T_NAME;

    WHEN EXIT C1% NOTFOUND;

    RESULT: = 'UPDATE'. V_T_NAME | ' SET EMP_CODE =' | EMP_CODE | "WHERE EMP_CODE =' | MAIN_EMP_CODE | « ; » ;

    RUN THE IMMEDIATE RESULT.

    END LOOP;

    CLOSE C1;

    END;

    -----------------------------------------------------------------------------------------------------------------------

    but when I try to run it gives me

    ORA-06550: line 1, column 26:

    PLS-00103: encountered the symbol "end-of-file" during the expected in the following way:

    ; < an ID > < a between double quote delimited identifiers of >

    The symbol ";" was replaced by "end-of-file" continue.

    -Im using oracle 10g

    Hello

    Do not put a semicolon at the end of the dynamic SQL statements.

    Instead of:

    RESULT: =... | MAIN_EMP_CODE | ';';

    Try:

    RESULT: =... | MAIN_EMP_CODE;

    You need a semicolon (outside the single quotes) to put an end to the assignment statement, but you don't need a semicolon (inside the single quotes) to put an end to the dynamic UPDATE statement.

    Whenever you make dynamic SQL code, ask someone (often yourself) "Is this really necessary?"

    Dynamic SQL is usually an accessory to the wrong table design.  Do you really need to have several tables that each must be updated in the same way, at the same time?  Are you create new tables so frequently that cannot keep track of their static code?

  • PL/SQL ORA-06550 PLS-0103

    Here's my simplified script. I have more things going on between the BEGINNING and the END, but I took it to try to determine the cause of this error.

    DECLARING the VARCHAR2 palette (8);
    Box of VARCHAR2 (8);
    Code VARCHAR2 (8);
    BEGIN
    Code: = '20151';
    DELETE LoadItems_temp; -Remove the day of the temporary table

    -The real script code to fill the LoadItems_temp
    END;
    SELECT * FROM LoadItems_temp;


    I get the ERROR on line 13:
    ORA-06550: line 13, column 1:
    PLS-00103: encountered the "SELECT" material

    I'm in Oracle 10 g on Windows 7 using sqlplus. I tried in another editor and got the same results.


    How run SELECT * FROM the end?

    If you really intend to select it outside the pl/sql block, then you need a slash on a line by itself after the end and before executing the pl/sql block before attempting to execute the select statement select:

    DECLARE
    -- vars
    BEGIN
       NULL;
    END;
    /
    SELECT ...
    

    John

  • ORA-06550 PLS-00382: expression is of the wrong type

    Please help me with the following script:

    declare
    cursor c1 is
    Select prod_country_id
    of prod_country
    where eccnum = "NOCLASS-SG" and ccode = 'SG ';
    New_data_type TYPE IS TABLE C1% ROWTYPE;
    new_data_tab new_data_type;
    Start
    Open c1;
    loop
    collect fetch c1 into bulk
    in new_data_tab limit 500000;
    OUTPUT WHEN c1% NOTFOUND;
    ForAll i in 1... new_data_tab. Count
    Update prod_country
    Set eccnum = "NOCLASS".
    where prod_country_id = new_data_tab (i);
    end loop;
    Close c1;
    commit;
    end;

    Gives following error:

    ORA-06550: line 17, column 32:
    PLS-00382: expression is of the wrong type


    Please help immediately.
    Need to update block.

    Thanks in advance

    user13759851 wrote:
    Just change my query and now its execution without the previous error:

    So what? It is always wrong.

    The correct way using just SQL to perform the update - which is the most effective and scalable way. And much faster.

    As for your code? Everything is fake.

    You read the update lines. Without locking of these lines. And these same lines are changed in the code. This is false.

    Then you agree inside the loop. This is false.

    You now get a cursor (where the lines are not locked) and changes of committng to these same lines. It is a violation of the standard ANSI SQL - get everywhere is committed. You consume more resources Oracle doing this. If this process crashes - and there is an excellent chance that Oracle will not provide a coherent reading/snapshot while the data are changed and committed - you what? A process that has changed some data and no other data. We ask that the corruption of data. A total lack of data integrity.

    You set the limit to a ridiculous 500000. This is false.

    It's not faster than with a 1000 limit. But she will consume 500 times more memory. And not just any memory. The more expensive server memory that a process of PL/SQL can consume - PGA.

    You have provided a perfect example of How not to Code for Oracle+.

    Now trash. You never forget retry such an erroneous approach. Use a single SQL UPDATE statement. And then a COMMIT.

  • ORA-06550, PLS-00306: wrong number or types of arguments in the call to ' |'

    Hi all

    Please help me about this error, if I comment the threshold (in the color of the thickness)

    ERROR on line 19:

    ORA-06550: line 19, column 25:

    PLS-00306: wrong number or types of arguments in the call to ' |'

    ORA-06550: line 19, column 3:

    PL/SQL: Statement ignored

    DECLARE

        TYPE nametable IS TABLE OF CHAR(10) INDEX BY BINARY_INTEGER;

        vname NAMETABLE

        CURSOR cf

        IS

          SELECT ename

            FROM emp;

        i     NUMBER;

    START

        OPEN cf;

        i := 1;

        LOOP

            FETCH cf INTO Vname (i);

            EXIT WHEN cf%NOTFOUND;

            i := i + 1;

        END LOOP;

        CLOSE cf;

    dbms_output. Put_line ('Name is ' || VNAME );

        FOR n IN 1.. VNAME . County LOOP

    dbms_output. Put_line ('Name is ' || VNAME (n));

        END LOOP;

    END ;


    Thank you

    VNAME is an associative array. You can not use in DBMS_OUTPUT. Put_line as such. You need to loop through what you did in the code after the DBMS_OUTPUT and print each element of the array individually.

  • ORA-06550-PLS-00103

    Hello

    I have a table:

    CREATE TABLE MAX_NET_PROFIT
    (ID NUMBER (1) PRIMARY KEY,)
    MAX NUMBER (6, 2) NOT NULL,
    ON_DATE CHAR(10) NOT NULL);

    INSERT INTO MAX_NET_PROFIT VALUES (1, 0, 1 JANUARY 2000 "");
    INSERT INTO MAX_NET_PROFIT VALUES (2, 0, 1 JANUARY 2000 "");

    ----------------------------------------------------------------------

    also have a fuction:

    create or replace the FUNCTION F_MAX_NET_PROFIT(todayNetProfit IN NUMBER, theDate IN VARCHAR2) RETURN VARCHAR2 AS
    v_max MAX_NET_PROFIT. % MAX TYPE;
    v_answer VARCHAR2 (5);
    BEGIN
    MAX of SELECT INTO v_max FROM MAX_NET_PROFIT WHERE ID = 1;
    IF todayNetProfit > = v_max THEN
    UPDATE MAX_NET_PROFIT SET MAX = todayNetProfit = ON_DATE subsist;
    v_answer: = 'true ';
    ON THE OTHER
    v_answer: = 'false ';
    END IF;
    RETURN v_answer;
    END F_MAX_NET_PROFIT;

    When I compile the function I get no error.

    -----------------------------------------------------------------------------------------------

    If I'm running on SQL * more

    SQL > var myVar VARCHAR2
    SQL > call F_MAX_NET_PROFIT(30, '30/12/2009'): myVar;

    I get:
    call competed.

    but the MAX_NET_PROFIT table was not updated!

    --------------------------------------------------------------------------------------

    I call the fuction in a java program:

    Subsist = jTextFieldDate.getText ();
    rates = Double.parseDouble (replace () jTextFieldFares.getText (', ','.'));
    fixedCosts = Double.parseDouble (((String) jComboBoxFixedCosts.getSelectedItem ()) replace (',', '.'));
    oil = Double.parseDouble (replace () jTextFieldOil.getText (', ','.'));

    CallableStatement cs = connection.prepareCall ("{?}") = call F_MAX_NET_PROFIT ((?,?)}) ») ;
    cs.registerOutParameter (1, Types.VARCHAR);
    cs.setDouble (2, (rates-(fixedCosts + oil)));
    cs.setString (3, survive);
    DSI Execute();
    String s = cs.getString (1);
    System.out.println (s);

    When I run the JAVA program I get the NetBeans IDE

    run:
    ORA-06550: line 1, column 38:
    PLS-00103: encountered the symbol ";" when expecting one of the following values:

    ), & * | = - + <>/ is mod remains not rem = >...
    < an exponent (*) > <>or! = or ~ = > = < = <>and or LIKE2_
    LIKE4_ LIKEC_ in the reports between overlaps with. year of type multiset
    Member of the DAY_ SUBMULTISET_
    The symbol ")" has been replaced by a ';' to continue.


    Ioannis Papaioannou

    Hello

    Your table is not updated in the service that you did not make the record. Also the update statement updates all records not only ID = 1.

    Concerning

  • As I corrected the error?  ORA-06550-PLS-00357

    * {color: #0000ff} good morning *.

    * I'm trying to generate a file extension. txt,
    extracting information from a table named test, and I generated the
    Suite error ORA-06550: - and - PLS-00357: {color} *.


    CREATE TABLE ENSAYO
    (
    NUMBER OF CODE,
    DATE DATE default sysdate,
    NUMBER VARCHAR2 (40)
    )
    ;



    Insert of ensayo values(1,'12-12-2009','rey');
    Insert of ensayo values(2,'10-02-2009','luna');
    Insert of ensayo values(3,'16-03-2009','paola');
    Insert of ensayo values(4,'16-03-2009','Natalia');



    Set serverout
    DECLARE
    utl_file.file_type v1.
    v2 varchar2 (100);
    Start
    v1: = utl_file.fopen ('PUBLIC_ACCESS', 'prueb': to_char (sysdate, 'yyyymmdd') |'. txt', 'w');

    loop

    UTL_FILE.put_line (v1, Ensayo.Codigo);

    end loop;
    UTL_FILE.fclose (v1);
    exception
    while others then
    dbms_output.put_line (SQLERRM);
    end;
    /
    * {color: #ff0000} *.
    UTL_FILE.put_line (v1, Ensayo.Codigo);
    ***
    * {color} {color: #ff0000} ERROR en l & Yacute; NEA 7: *.
    ORA-06550: l & Yacute; NEA 7, column 32: *.
    PLS-00357: the referencia has the tabla, vista o sequence "ENSAYO. CÓDIGO ' no EST & szlig;. *
    permitida en este contexto
    ORA-06550: l & Yacute; NEA 7, column 4:
    * PL/SQL: statement ignored {color} *.





    * {color: #0000ff} that I correct the error? *

    * Thank you for your cooperation... *.
    * good day... *.
    * {color} *.


    * {color: #0000ff} *.
    * {color} *.


    * {color: #0000ff} Reynel Martinez Salazar. {color} *.

    You must use FOR cursor LOOP:

    DECLARE
    v1 utl_file.file_type;
    v2 varchar2 (100);
    begin
    v1:= utl_file.fopen('PUBLIC_ACCESS','prueb'||to_char(sysdate,'yyyymmdd')||'.txt','w');
    for rec in (select codigo from ensayo) loop
    utl_file.put_line(v1,rec.codigo);
    end loop;
    utl_file.fclose(v1);
    exception
    when others then
    dbms_output.put_line(sqlerrm);
    end;
    /
    
    PL/SQL procedure successfully completed.
    
    SQL> 
    

    SY.

  • ORA-06553: PLS-306: wrong number or types of arguments errors

    Hi friends,

    When executing the below function I get error like

    I use the program version 2.1 sql Oracle.
    ============================
    ORA-06553: PLS-306: wrong number or types of arguments in the call to 'FUNC_TEST '.
    06553 00000 - "PLS - %s: %s.
    ============================

    CREATE OR REPLACE FUNCTION FUNC_TEST
    RETURN SYS_REFCURSOR
    AS
    PRAGMA AUTONOMOUS_TRANSACTION;
    total_val number (5): = 65;
    REF_TEST SYS_REFCURSOR;
    cursor c1 is
    Select substr(data,1,3). substr(Data,5) new_col text_1 update of data;
    BEGIN
    FOR employee_rec in c1
    LOOP
    text_1 update
    data value = substr (employee_rec.new_col, 1, 4). Chr (total_val) | substr(employee_rec.new_col,5) location being the c1;
    total_val: = total_val + 1;
    If total_val > 90 then
    total_val: = 65;
    end if;
    end loop;
    commit;
    REF_TEST OPEN for SELECT data FROM text_1;
    RETURN REF_TEST;
    END;
    -----------------------
    Table script:

    create table text_1
    (
    given varchar2 (20)
    )

    insert into text_1 values ("IAL030003IND")

    Please suggest.

    Thank you
    Lony

    >
    Yes, I also used a procedure and its fine in the working procedure.

    But according to her does not work... Or how can spend us in parameter to this function so that it can work?
    . . .
    If I am performing the function of the query below and I don't want to pass any parameter

    Select double FUNC_TEST;

    I get the error message like
    {,}
    >
    Your problem is that the function returns a ref cursor - that is a pointer to a result set. You can't put a ref cursor in a cell in the grid.

    The only reason why the procedure is 'work' is probably because you do not use a ref cursor in the version of the procedure.

    Why would you use a function that combines the data of attachment with the return of the data as a Ref Cursor? Once the data are set, there are fixed if you call the function a second time, that your data will be be stripped.

    If you want to return a Ref Cursor then you must use the function in the FROM clause: SELECT * FROM TABLE (myFunc ())

  • Help: java.sql.SQLException: ORA-06550: line 1, column 7:, PLS-00201:

    Who can give me a hand to settle the question below? I use the db 11G for two or three days. This works. But now it displays information below, it blocks my server needs to be in place. Can anyone help to take a look? And explain to me what is meaning with below question?

    Thank you


    java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00201: identifier ' INVALIDHTOMEH. KEEP ' should be declared

    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
    11/08/05 02:18:17-oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
    11/08/05 02:18:17-oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
    11/08/05 02:18:17-oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
    11/08/05 02:18:17-oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:184)
    11/08/05 02:18:17-oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:873)
    11/08/05 02:18:17-oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)
    11/08/05 02:18:17-oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
    11/08/05 02:18:17-oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3093)
    11/08/05 02:18:17-oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4286)
    11/08/05 02:18:17-com.agile.pc.cmserver.util.OracleIDGenerator.pinSequence(OracleIDGenerator.java:245)
    11/08/05-02:18:17-com.agile.pc.cmserver.util.OracleIDGenerator. < init > (OracleIDGenerator.java:62)
    11/08/05 02:18:17-com.agile.pc.cmserver.util.CMUtilReflection.getOracleIDGenerator(CMUtilReflection.java:79)
    11/08/05 02:18:17-com.agile.util.dao.IDGenerator.getNewInstance(IDGenerator.java:78)
    11/08/05 02:18:17-com.agile.util.dao.IDGenerator.getInstance(IDGenerator.java:66)
    11/08/05 02:18:17-com.agile.util.dao.IDGenerator.getNextID(IDGenerator.java:91)
    11/08/05-02:18:17-com.agile.util.AppServerId. < clinit > (AppServerId.java:14)
    11/08/05 02:18:17-com.agile.startup.PCMStartupImpl.start(PCMStartupImpl.java:115)
    11/08/05 02:18:17-com.agile.ui.pcm.InitServlet.init(InitServlet.java:63)
    11/08/05 02:18:17-com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2379)
    11/08/05 02:18:17-com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4830)
    11/08/05 02:18:17-com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4754)
    11/08/05 02:18:17-com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4942)
    11/08/05 02:18:17-com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1144)
    11/08/05-02:18:17-com.evermind.server.http.HttpApplication. < init > (HttpApplication.java:741)
    11/08/05 02:18:17-com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:431)
    11/08/05 02:18:17-com.evermind.server.Application.getHttpApplication(Application.java:586)
    11/08/05 02:18:17-com.evermind.server.http.HttpSite$ HttpApplicationRunTimeReference.createHttpApplicationFromReference (HttpSite.java:1987)
    11/08/05 02:18:17-com.evermind.server.http.HttpSite$ HttpApplicationRunTimeReference. < init > (HttpSite.java:1906)
    11/08/05 02:18:17-com.evermind.server.http.HttpSite.initApplications(HttpSite.java:643)
    11/08/05 02:18:17-com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290)
    11/08/05 02:18:17-com.evermind.server.http.HttpServer.setSites(HttpServer.java:270)
    11/08/05 02:18:17-com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177)
    11/08/05 02:18:17-com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2493)
    11/08/05 02:18:17-com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1042)
    11/08/05 02:18:17-com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)

    Published by: user774630 on November 4, 2008 18:57

    # com.agile.pc.cmserver.util.OracleIDGenerator.pinSequence(OracleIDGenerator.java:245)

    This method tries to pin a sequence in the Shared Pool so that it is not recharged. Reloading can cause sequence numbers to be ignored, if I remember correctly.
    Pinning is done using packed the INVALIDHTOMEH procedure. KEEP. The error is reported because either the package INVALIDHTOMEH is not created in the database (the $ORACLE_HOME/rdbms/admin/dbmspool.sql script creates) or the user who connects to the database have not run privilege for the package.

    Note that the package has access to the shared swimming pool. Execute privilege to grant only trusted users.

    -Sergiusz

  • PLS-00306: wrong number or types of arguments in the call to 'XXC_AMOUNT' ORA-06550

    Hi all

    CREATE OR replace PROCEDURE Xxc_amount (v_item_id IN NUMBER,

                                             v_amount  OUT NUMBER,

                                             v_size    OUT NUMBER)

    IS

      v_size   NUMBER := NULL;

    v_amount NOMBRE;

    START

        BEGIN

    CHOOSE conversion_rate

            INTO   v_size

    FROM mtl_uom_class_conversions

            WHERE  inventory_item_id = v_item_id -- 2289;

            v_amount := Nvl (Trunc (v_size), 0);

    -RETURN (cp_cartons);

        EXCEPTION

            WHEN OTHERS THEN

              v_size := 0;

              dbms_output . Put_line ()' Error getting Item Id:'| V_ITEM_ID );

        END ;

    dbms_output. Put_line ('Qty-->' || v_amount );

    dbms_output. Put_line ('Qty1-->'|| v_size );

    END ;

    DECLARE

        amount NUMBER;

        v_size NUMBER;

    START

        Xxc_amount (2289, amount, v_size);

    dbms_output. Put_line (amount || '--' || v_size );

    END ;

    ORA-06550: line 5, column 5:

    PLS-00306: wrong number or types of arguments in the call to 'XXC_AMOUNT '.

    ORA-06550: line 5, column 5:

    PL/SQL: Statement ignored

    Thank you

    Post edited by: 994122 changed the name of the procedure to Xxc_amount Xxc_amount1

    Simply remove the declarations of the v_size and v_amount and it should work.

    The following text compiles and works for me when I call:

    CREATE OR replace PROCEDURE Xxc_amount (v_item_id IN NUMBER,
                                            v_amount  OUT NUMBER,
                                            v_size    OUT NUMBER)
    IS
    BEGIN
        BEGIN
            SELECT conversion_rate
            INTO  v_size
            FROM  mtl_uom_class_conversions
            WHERE  inventory_item_id = v_item_id; -- 2289;
            v_amount := Nvl (Trunc (v_size), 0);
        --RETURN (cp_cartons);
        EXCEPTION
            WHEN OTHERS THEN
              v_size := 0;
              dbms_output.Put_line ('Error in Getting for Item Id :'|| v_item_id);
        END;
        dbms_output.Put_line ('Qty-->' || v_amount);
        dbms_output.Put_line ('Qty1-->'|| v_size);
    END;
    
    DECLARE
        amount NUMBER;
        v_size NUMBER;
    BEGIN
        Xxc_amount (2289, amount, v_size);
        dbms_output.Put_line (amount || '--' || v_size);
    END;
    
  • ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments

    Hi all
    Here is the error:
    ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments
    The following code generates the error:
    create or replace PROCEDURE AMENDNUMBER_UPDATE
    (
    SHIP_NUMBER IN VARCHAR2,
    AMEND_NO ON SYS_REFCURSOR)
    AS
    BEGIN
    UPDATE CSPS_SHIPMENT_INFO_TL
    SET AMENDMENT_NO =
    (SELECT AMENDMENT_NO + 1
    OF CSPS_SHIPMENT_INFO_TL
    WHERE SHIPMENT_NUMBER = SHIP_NUMBER
    )
    WHERE SHIPMENT_NUMBER = SHIP_NUMBER;

    AMEND_NO OPEN FOR SELECT AMENDMENT_NO FROM CSPS_SHIPMENT_INFO_TL WHERE SHIPMENT_NUMBER = SHIP_NUMBER;

    -VALIDATION;
    END AMENDNUMBER_UPDATE;

    now when I try to run the under statement I get the above error:
    exec amendnumber_update (ship_number);


    Please suggest how to manage...

    Hello

    TCSBPMUSER wrote:
    Hi all
    Here is the error:
    ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments

    It's one of these error messages that actually means what he says.

    The following code generates the error:
    create or replace PROCEDURE AMENDNUMBER_UPDATE
    (
    SHIP_NUMBER IN VARCHAR2,
    AMEND_NO ON SYS_REFCURSOR)
    AS...

    now when I try to run the under statement I get the above error:
    exec amendnumber_update (ship_number);

    The procedure requires 2 arguments.
    You try to call with only 1 argument. It's the wrong number of arguments.

    To call the procedure from SQL * Plus, you can do something like this:

    VARIABLE   rc  REFCURSOR
    
    EXEC  amendnumber_update (123, :rc);
    

    The 1st argument is an argument IN, so you can pass any kind of digital expression. (I used a literal above.)
    The 2nd argument is an OUT argument, so you must pass a variable. (I used a variable link above.)

  • ORA-06550: line 21, column 5: PLS-00306: wrong number or types of arguments

    Dear Sir

    can someone help what is the problem?
    I get the error message:
    ORA-06550: line 21, column 5: PLS-00306: wrong number or types of arguments in the call to 'STRONG_PASSWORD_VALIDATION' ORA-06550: line 21, column 5: PL/SQL: statement ignored

    code is:
    ---
    DECLARE
    l_username varchar2 (100);
    l_password varchar2 (100);
    l_old_password varchar2 (100);
    l_workspace_name varchar2 (30);
    l_min_length_err boolean;
    l_new_differs_by_err boolean;
    l_one_alpha_err boolean;
    l_one_numeric_err boolean;
    l_one_punctuation_err boolean;
    l_one_upper_err boolean;
    l_one_lower_err boolean;
    l_not_like_username_err boolean;
    l_not_like_workspace_name_err boolean;
    l_not_like_words_err boolean;
    BEGIN
    l_username: =: P29_CURR_USER;
    l_password: =: P29_NEW_PW;
    l_old_password: =: P29_PW;
    l_workspace_name: = APEX_UTIL. GET_DEFAULT_SCHEMA;
    APEX_UTIL. () STRONG_PASSWORD_VALIDATION
    p_username = > l_username,.
    p_password = > l_password,
    p_old_password = > l_old_password,
    p_workspace_name = > l_workspace_name,
    p_use_strong_rules = > false,
    p_min_length_err = > l_min_length_err,
    p_new_differs_by_err = > l_new_differs_by_err,
    p_one_alpha_err = > l_one_alpha_err,
    p_one_numeric_err = > l_one_numeric_err,
    p_one_punctuation_err = > l_one_punctuation_err,
    p_one_upper_err = > l_one_upper_err,
    p_one_lower_err = > l_one_lower_err,
    p_not_like_username_err = > l_not_like_username_err,
    p_not_like_workspace_name_err = > l_not_like_workspace_name_err,
    p_not_like_words_err = > l_not_like_words_err
    );

    IF l_min_length_err THEN
    return ('Kennwort ist zu kurz');
    END IF;

    IF l_new_differs_by_err THEN
    return ("' muss sich vom alten Kennwort unterscheiden Kennwort");
    END IF;

    IF l_one_alpha_err THEN
    return ('wenigstens einen letter included muss Kennwort');
    END IF;

    IF l_one_numeric_err THEN
    return ('wenigstens eine Ziffer included muss Kennwort');
    END IF;

    IF l_one_punctuation_err THEN
    return ('wenigstens ein Sonderzeichen included muss Kennwort');
    END IF;

    IF l_one_lower_err THEN
    return ('wenigstens einen Kleinbuchstaben included muss Kennwort');
    END IF;

    IF l_one_upper_err THEN
    return ('wenigstens einen Grossbuchstaben included muss Kennwort');
    END IF;

    IF l_not_like_username_err THEN
    return ('Kennwort darf nicht den included Nick');
    END IF;

    IF l_not_like_workspace_name_err THEN
    return ('Kennwort darf nicht den Namen-Workspace included');
    END IF;

    IF l_not_like_words_err THEN
    Return ("' contains unerlaubten term Kennwort") End Function
    END IF;
    Returns a null value.
    END;
    ---
    Any help is welcome.
    Kind regards
    Lorenz

    Look in your version of apex_util. Your code certainly doesn't look like using STRONG_PASSWORD_VALIDATION, which has very different parameters.

    My version (4.0) of STRONG_PASSWORD_CHECK has 16 parameters, your code has 15.

Maybe you are looking for