Error while executing procedure : ORA-06550 and PLS-00103

Hi I have created the Stored Procedure as,
CREATE OR REPLACE PACKAGE BODY APPS.TMP_IMPORT_ITEMS_PKG AS
  PROCEDURE LOAD_INTERFACE_TABLE(organization_code IN VARCHAR2, errbuf OUT VARCHAR2, retcode OUT NUMBER) IS
  org_code varchar2(3);
  BEGIN
    org_code:= organization_code;
    DBMS_OUTPUT.PUT_LINE('Organization Code is...' || org_code);
  END LOAD_TABLE;
END TMP_IMPORT_ITEMS_PKG;
And here is the code what i am trying to execute:
DECLARE
  V_ERRBUF VARCHAR2(1000);
  V_RETCODE NUMBER;
BEGIN
  EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', V_ERRBUF, V_RETCODE);
END;
when i run the above code i am getting the following error:
ORA-06550: line 5, column 10:
PLS-00103: Encountered the symbol "TMP_IMPORT_ITEMS_PKG" when expecting one of the following:
:= . ( @ % ;
The symbol ":=" was substituted for "TMP_IMPORT_ITEMS_PKG" to continue.
Can any body tell me what's wrong with the above code
Thanks in Advance,
Kumar K
Edited by: user2054206 on Dec 17, 2008 9:09 PM
Edited by: user2054206 on Dec 17, 2008 9:27 PM

BEGIN
EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);
END;why are you executing it like that , it should be
EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);or as Prabhakar said in PL/SQL
BEGIN
     TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);
END;Edited by: Rajneesh Kumar on Dec 18, 2008 11:08 AM

Similar Messages

  • Error while executing Procedure - ORA-06511: PL/SQL: cursor already open

    I have successfully compiled the following procedure but when I execute it, following error occurs, please adv.
    Thanks and Regards,
    Luqman
    create or replace
    procedure TESTKIBOR
    (contno in varchar)
    AS
    BEGIN
    DECLARE cursor c1 is
    SELECT * FROM KIBOR_SCHEDULE
    WHERE CN=contno;
    begin
    OPEN C1;
    FOR line IN c1 LOOP
    update kibor_schedule
    set lincome=line.Lincome,
    expo=line.eXPO,
    pport=line.pPORT
    where cn=line.cn
    and rno=line.rno;
    END LOOP;
    COMMIT;
    close c1;
    END;
    END TESTKIBOR;
    ERROR at line 1:
    ORA-06511: PL/SQL: cursor already open
    ORA-06512: at "MKTG.TESTKIBOR", line 6
    ORA-06512: at "MKTG.TESTKIBOR", line 10
    ORA-06512: at line 1

    Hi,
    CREATE OR REPLACE PROCEDURE Testkibor
         (contno  IN VARCHAR)
    AS
    BEGIN
      DECLARE
        CURSOR c1 IS
          SELECT *
          FROM   kibor_schedule
          WHERE  cn = contno;
      BEGIN
    --//    OPEN c1; --no need to open if using for loop
        FOR line IN c1 LOOP
          UPDATE kibor_schedule
          SET    lincome = line.lincome,
                 expo = line.expo,
                 pport = line.pport
          WHERE  cn = line.cn
                 AND rno = line.rno;
        END LOOP;
        COMMIT;
    --//     CLOSE c1; -- no need for loop  does it for you
      END;
    END testkibor;SS

  • Error while executing procedure having IN and OUT parameters

    Hi,
    I will be really gratified if someone can please help me in solving with the following problem.
    I have one procedure given below
    create or replace procedure abcd1april (
                                            nd_in                IN varchar2,
                                            sal_in           IN number,
                                            success_out      OUT number,
                                            error_code_out OUT number,
                                            error_msg_out      OUT varchar2
    AS
    old_sal number;
    cursor H7 is select SERV_ACC_LINK_CODE_N from pair_bkup where PAIRE_STATUS in (3,4) and nd=nd_in;
    BEGIN
         old_sal:=0;
         open H7;
         fetch H7 into old_sal;
         close H7;
         if old_sal=0
         then
              success_out:=0;
              error_code_out:=01;
              error_msg_out:='Check this error';
         else
                   update pair_bkup set SERV_ACC_LINK_CODE_N=sal_in where nd=nd_in and SERV_ACC_LINK_CODE_N=old_sal;
         success_out:=1;
              error_code_out:=00;
              error_msg_out:='NO ERROR IS THERE';
         end if;
    EXCEPTION
              WHEN OTHERS
              THEN
              success_out:=0;
              error_code_out:=SQLCODE;
              --error_msg_out:=SQLERRM;                                                                                                                 
    END;     
    Now when i try to execute this script it throws an error given below:-
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "TELMATEST.ABCD1APRIL", line 39
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Now i am executing this procedure by following script:-
    DECLARE
              nd_in_n VARCHAR2(10);
              sal_in_n NUMBER;
              success_out_n NUMBER;
              error_code_out_n NUMBER;
              error_message_out_n VARCHAR2(10);
    BEGIN
         nd_in_n := '';
         sal_in_n:= 0;
         success_out_n := 0;
         error_code_out_n:= '';
         error_message_out_n := '';
    abcd1april('02022',3,success_out_n,error_code_out_n,error_message_out_n);
    insert into errormsgs values(&error_code_v,'error_message_v');
    END ;
    Now please help me in above case.
    Regards
    Gursimran Singh

    Gursimran,
    The error message tells you what you need to know -
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small.You're calling the procedure and supplying
    error_message_out_n VARCHAR2(10);In each case, the message 'Check this error', 'NO ERROR IS THERE' or SQLERRM is longer than 10 characters - therefore the error.
    Try it with
    error_message_out_n VARCHAR2(1000);Cheers,
    Bryan.

  • Error while executing procedure for excel upload

    Hi Friends
    Pl. find below error while executing procedure for loading excel data. pl. verify and suggest for any changes in the format of data.
    Rgds
    SriG

    If reading Excel as a database you would use "Access LSLINK"
    Access external means you are reading a file. I don't think it is possible to treat Excel as a file because the internal structure is complex.
    In the past I have saved the Excel as a CSV or as a Tab delimeted file. Then I use something like
    ACCESS External
      USE &filename
      BEGIN
        DESCRIPTION free ,
        Variables text 20
        Organisation text 20
        'July 2008' numeric 20
        'August 2008' numeric 20
        'September 2008' numeric 20
        'October 2008' numeric 20
        'November 2008' numeric 20
        'December 2008' numeric 20
        'January 2009' numeric 20
        'February 2009' numeric 20
        'March 2009' numeric 20
        'April 2009' numeric 20
        'May 2009' numeric 20
        'June 2009' numeric 20
      END
      peek
      read
    ... quit the access sub system
    END

  • ORA-06550 error while executing procedure

    HI Friends,
    I have written a proc for the below process.
    SP_Control (table)
    sno     campgn_id     campgn_typ     campgn_no     current_wave
    1     ET07001     ONB     ONB01     1
    2     ET07001     ONB     CNB01     1
    3     ET03053     IAL     IAL1A     A
    4     ET03053     IAL     IAL2A     A
    5     ET03053     IAL     IAL3A     A
    6     ET03053     IAL     IAL4A     A
    After calling the procedures with bellow parameters
    Get_next_campgn(‘ONB01’,’ONB’);
    Get_next_campgn(‘CNB01’,’ONB’);
    Get_next_campgn(‘IAL1A’,’IAL’);
    Get_next_campgn(‘IAL2A’,’IAL’);
    Get_next_campgn(‘IAL3A’,’IAL’);
    Get_next_campgn(‘IAL4A’,’IAL’);
    …………… it should update the table with below data.
    sno     campgn_id     campgn_typ     campgn_no     current_wave
    1     ET07001     ONB     ONB02     2
    2     ET07001     ONB     CNB02     2
    3     ET03053     IAL     IAL1B     B
    4     ET03053     IAL     IAL2B     B
    5     ET03053     IAL     IAL3B     B
    6     ET03053     IAL     IAL4B     B
    I have written a procedure like this and its compliled successfully.
    But throws error while executing like
    execute Get_next_campgn(‘ONB01’,’ONB’);
    create or replace procedure Get_next_campgn(p_campgn varchar2,p_type varchar2)
    as
    begin
    update SP_Control set campgn_no = substr(p_campgn,1,length(p_campgn)-1)||to_char(ascii(substr(p_campgn,-1,1))+1) ,
    curr_wave = to_char(ascii(curr_wave)+1)
    where campgn_type = p_type
    and campgn_no = p_campgn ;
    exception
    when others then
    dbms_output.put_line(sqlerrm);
    end Get_next_campgn;
    Error::::
    Error starting at line 15 in command:
    execute Get_next_campgn(‘ONB01’,’ONB’)
    Error report:
    ORA-06550: line 1, column 24:
    PLS-00103: Encountered the symbol "" when expecting one of the following:
    ( ) - + case mod new not null <an identifier>
    <a double-quoted delimited-identifier> <a bind variable>
    table continue avg count current exists max min prior sql
    stddev sum variance execute multiset the both leading
    trailing forall merge year month day hour minute second
    timezone_hour timezone_minute timezone_region timezone_abbr
    time timestamp interval date
    <a string literal with character set specification>
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
    Please suggest....

    The procedure executed successfully for me.
    drop table sp_control;
    create table sp_control
      campgn_no varchar2(20),
      curr_wave varchar2(20),
      campgn_type varchar2(20)
    insert into sp_control values ('ONB01', '1', 'ONB');
    insert into sp_control values ('IAL1A', 'A', 'IAL');
    create or replace procedure Get_next_campgn(p_campgn varchar2,p_type varchar2)
    as
    begin
    update SP_Control set campgn_no = substr(p_campgn,1,length(p_campgn)-1)||to_char(ascii(substr(p_campgn,-1,1))+1) ,
    curr_wave = to_char(ascii(curr_wave)+1)
    where campgn_type = p_type
    and campgn_no = p_campgn ;
    exception
    when others then
    dbms_output.put_line(sqlerrm);
    end Get_next_campgn;
    begin
      Get_next_campgn('ONB01','ONB');
    end;
    select * from sp_control;
    --Output as Follows:
    drop table sp_control succeeded.
    create table succeeded.
    1 rows inserted
    1 rows inserted
    procedure Get_next_campgn(p_campgn Compiled.
    anonymous block completed
    CAMPGN_NO            CURR_WAVE            CAMPGN_TYPE         
    ONB050               50                   ONB                 
    IAL1A                A                    IAL                 
    2 rows selectedJust a hunch, in the Procedure call
    execute Get_next_campgn(‘ONB01’,’ONB’);the "Single Quotes" does not appear correct. They were probably typed into some other editor.
    When executed as
    execute  Get_next_campgn(‘ONB01’,’ONB’);
    Error starting at line 1 in command:
    begin
      Get_next_campgn(‘ONB01’,’ONB’);
    end;
    Error report:
    ORA-06550: line 2, column 19:
    PLS-00103: Encountered the symbol "‘" when expecting one of the following:
       ( ) - + case mod new not null <an identifier>
       <a double-quoted delimited-identifier> <a bind variable>
       table continue avg count current exists max min prior sql
       stddev sum variance execute multiset the both leading
       trailing forall merge year month day hour minute second
       timezone_hour timezone_minute timezone_region timezone_abbr
       time timestamp interval date
       <a string literal with character set specification>
    06550. 00000 -  "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:So, just replace them in any SQL editor and your Invoker block shall work properly.
    Regards,
    P.

  • Error while executing procedure in TOAD which contains parameter and dblink

    Hi all,
    I am getting error while executing the following code in TOAD and APEX.
    It contains parameter( start_date and end_date) and dblink(@TO_FUT).
    When I hardcode the parameter values, It works fine.
    When I dont give hardcoded values in the procedure, the error comes.
    When I comment the lines whereever parameter comes, still the error comes.
    I am not sure whether it is parameter issue or dblink issue or some other issue
    Is anybody having any clue about this error?
    Your help is very much appreciated.
    The code:
    CREATE OR REPLACE PROCEDURE PROC_ENR_ACC(START_DATE DATE,END_DATE DATE)
    AS
    BEGIN
    EXECUTE IMMEDIATE 'TRUNCATE TABLE OUTPUT_TABLE';
    INSERT INTO OUTPUT_TABLE
    (FIRST_NAME ,LAST_NAME,HID ,EFF_DT,CID,PLAN, FLAG)
    SELECT
    TEMP1.FIRST_NAME,
    TEMP1.LAST_NAME,
    TEMP1.HID,
    TEMP1.EFF_DT,
    TEMP1.CID,
    TEMP1.PLAN,
    NVL((SELECT 'Y'
    FROM FADMIN.MEMI_TABLE@TO_FUT MEMI
    WHERE MEMI.MEME_CK = TEMP1.MEME_CK
    AND MEMI.TXN_EFF_DT = TEMP1.EFF_DT
    AND MEMI.PBP = TEMP1.PLAN
    AND MEMI.MEMI_TXN_CD IN ('AC','RE')
    AND MEMI.MEMI_SEQ_NO = (SELECT MAX (MI.MEMI_SEQ_NO)
    FROM FADMIN.MEMI_TABLE@TO_FUT MI
    WHERE MI.MEME_CK = MEMI.MEME_CK
    AND MI.TXN_EFF_DT = MEMI.TXN_EFF_DT
    AND MI.PBP = MEMI.PBP
    AND MI.MEMI_TXN_CD IN ('AC','RE')
    AND MI.MEMI_INTF_STS = 03 )),'N') AS FLAG
    FROM
    ( SELECT
    M1.FIRST_NAME ,
    M1.LAST_NAME ,
    M1.HID ,
    M1.EFF_DT,
    M1.CID,
    M1.PLAN ,
    (SELECT MEME.MEME_CK
    FROM FADMIN.MEME_TABLE@TO_FUT MEME, FADMIN.GRGR_TABLE@TO_FUT GRGR
    WHERE MEME.M_HIN = M1.HID
    AND MEME.GRGR_CK = GRGR.GRGR_CK
    AND GRGR.GRGR_ID = M1.GRGR_ID
    )AS MEME_CK
    FROM FADMIN.METR_TABLE@TO_FUT M1,
    ( SELECT M3.HID, M3.EFF_DT FROM FADMIN.METR_TABLE@TO_FUT M3
    WHERE M3.TYPE IN ('60','61')
    AND M3.REPLY IN ('117','118')
    AND TRUNC (M3.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
    AND M3.SYIN_INST = (SELECT MAX (M4.SYIN_INST)
    FROM FADMIN.METR_TABLE@TO_FUT M4
    WHERE M4.HID = M3.HID
    AND M4.TYPE IN ('60','61')
    AND M4.REPLY IN ('117','118')
    AND TRUNC (M4.EFF_DT) = TRUNC (M3.EFF_DT))
    ) TEMP
    WHERE M1.TYPE IN ('60','61')
    AND M1.REPLY ='011'
    AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
    AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
    FROM FADMIN.METR_TABLE@TO_FUT M2
    WHERE M2.HID = M1.HID
    AND M2.TYPE IN ('60','61')
    AND M2.REPLY ='011'
    AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
    AND M1.HID = TEMP.HID (+)
    AND M1.EFF_DT = TEMP.EFF_DT (+)
    AND TEMP.HID IS NULL
    UNION
    SELECT
    M1.FIRST_NAME ,
    M1.LAST_NAME ,
    M1.HID ,
    M1.EFF_DT,
    M1.CID,
    M1.PLAN ,
    (SELECT MEME.MEME_CK
    FROM FADMIN.MEME_TABLE@TO_FUT MEME, FADMIN.GRGR_TABLE@TO_FUT GRGR
    WHERE MEME.M_HIN = M1.HID
    AND MEME.GRGR_CK = GRGR.GRGR_CK
    AND GRGR.GRGR_ID = M1.GRGR_ID
    )AS MEME_CK
    FROM FADMIN.METR_TABLE@TO_FUT M1
    WHERE M1.TYPE IN ('60','61')
    AND M1.REPLY IN ('016', '017', '022', '023')
    AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
    AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
    FROM FADMIN.METR_TABLE@TO_FUT M2
    WHERE M2.HID = M1.HID
    AND M2.TYPE IN ('60','61')
    AND M2.REPLY IN ('016', '017', '022', '023')
    AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
    )TEMP1 ;
    END;
    The error:
    ORA-00918: column ambiguously defined
    ORA-02063: preceding line from TO_FUT
    ORA-06512: at "PROC_ENR_ACC", line 5
    ORA-06512: at line 5

    Okay
    Here's the code formatted
    CREATE OR REPLACE PROCEDURE PROC_ENR_ACC (START_DATE DATE, END_DATE DATE)
    AS
    BEGIN
       EXECUTE IMMEDIATE 'TRUNCATE TABLE OUTPUT_TABLE';
       INSERT INTO OUTPUT_TABLE (FIRST_NAME,
                                 LAST_NAME,
                                 HID,
                                 EFF_DT,
                                 CID,
                                 PLAN,
                                 FLAG)
       SELECT   TEMP1.FIRST_NAME,
                TEMP1.LAST_NAME,
                TEMP1.HID,
                TEMP1.EFF_DT,
                TEMP1.CID,
                TEMP1.PLAN,
                NVL (
                     (SELECT   'Y'
                      FROM   MEMI_TABLE MEMI
                      WHERE       MEMI.MEME_CK = TEMP1.MEME_CK
                      AND MEMI.TXN_EFF_DT = TEMP1.EFF_DT
                      AND MEMI.PBP = TEMP1.PLAN
                      AND MEMI.MEMI_TXN_CD IN ('AC', 'RE')
                      AND MEMI.MEMI_SEQ_NO = (SELECT   MAX (MI.MEMI_SEQ_NO)
                                              FROM   MEMI_TABLE MI
                                              WHERE   MI.MEME_CK = MEMI.MEME_CK
                                              AND MI.TXN_EFF_DT = MEMI.TXN_EFF_DT
                                              AND MI.PBP = MEMI.PBP
                                              AND MI.MEMI_TXN_CD IN ('AC', 'RE')
                                              AND MI.MEMI_INTF_STS = 03)
                      ),'N') FLAG
       FROM (SELECT   M1.FIRST_NAME,
                      M1.LAST_NAME,
                      M1.HID,
                      M1.EFF_DT,
                      M1.CID,
                      M1.PLAN,
                      (SELECT   MEME.MEME_CK
                       FROM   MEME_TABLE MEME, GRGR_TABLE GRGR
                       WHERE       MEME.M_HIN = M1.HID
                       AND MEME.GRGR_CK = GRGR.GRGR_CK
                       AND GRGR.GRGR_ID = M1.GRGR_ID) MEME_CK
             FROM   METR_TABLE M1,
                    (SELECT   M3.HID, M3.EFF_DT
                     FROM   METR_TABLE M3
                     WHERE   M3.TYPE IN ('60', '61')
                     AND M3.REPLY IN ('117', '118')
                     AND TRUNC (M3.METR_TRANS_DT) BETWEEN START_DATE AND  END_DATE
                     AND M3.SYIN_INST = (SELECT   MAX (M4.SYIN_INST)
                                         FROM   METR_TABLE M4
                                         WHERE   M4.HID = M3.HID
                                         AND M4.TYPE IN ('60', '61')
                                         AND M4.REPLY IN ('117', '118')
                                         AND TRUNC (M4.EFF_DT) = TRUNC (M3.EFF_DT))
                     ) TEMP
             WHERE   M1.TYPE IN ('60', '61') AND M1.REPLY = '011'
             AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND  END_DATE
             AND M1.SYIN_INST = (SELECT   MAX (M2.SYIN_INST)
                                 FROM   METR_TABLE M2
                                 WHERE       M2.HID = M1.HID
                                 AND M2.TYPE IN ('60', '61')
                                 AND M2.REPLY = '011'
                                 AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
            AND M1.HID = TEMP.HID(+)
            AND M1.EFF_DT = TEMP.EFF_DT(+)
            AND TEMP.HID IS NULL
            UNION
            SELECT   M1.FIRST_NAME,
                     M1.LAST_NAME,
                     M1.HID,
                     M1.EFF_DT,
                     M1.CID,
                     M1.PLAN,
                     (SELECT   MEME.MEME_CK
                      FROM   MEME_TABLE MEME, GRGR_TABLE GRGR
                      WHERE       MEME.M_HIN = M1.HID
                      AND MEME.GRGR_CK = GRGR.GRGR_CK
                      AND GRGR.GRGR_ID = M1.GRGR_ID) MEME_CK
            FROM   METR_TABLE M1
            WHERE   M1.TYPE IN ('60', '61')
            AND M1.REPLY IN ('016', '017', '022', '023')
            AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND  END_DATE
            AND M1.SYIN_INST = (SELECT   MAX (M2.SYIN_INST)
                                FROM   METR_TABLE M2
                                WHERE   M2.HID = M1.HID
                                AND M2.TYPE IN ('60', '61')
                                AND M2.REPLY IN ('016', '017', '022', '023')
                                AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
            ) TEMP1;
    END;
    /When posting code if you put {noformat}{noformat} (with the curly brackets and in lower case) above and below it you can preserve formatting.
    To your original question...
    Is the link name supposed to be variable?
    What do you mean by 'hard coding' the values, do you mean in the procedure itself so you'd actually PROC_ENR_ACC();?
    What happens when you run this?DECLARE
    start_date DATE;
    end_date DATE;
    BEGIN
    start_date := '01-JAN-2009';
    end_date := '01-FEB-2009';
    PROC_ENR_ACC(start_date, end_date);
    END;
    I need to know exactly how to recreate your error...
    Cheers
    Ben
    http://www.munkyben.wordpress.com
    +Don't forget to mark replies helpful or correct+ ;)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Error while executing procedure

    Hi,
    I am executing a procedure, which will write a query result into a spreadsheet and it will store it into the local PC. i am trying to run this procedure using TEST username.
    Now i created a utl_file directory like below:
    create directory MYDIR5 AS 'c:\raj';
    and i tried to assign permission like below :
    grant read,write on directory MYDIR5 to TEST
    i got the below error, while i am executing the GRANT stmt:
    ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
    So who has to grant privileges for this. I tried to execute the procedure without granting privileges but it end up with ORA-29283: error.
    So pls help me on this issue.
    Thanks in advance!!!

    You looked up the CREATE DIRECTORY statement right? What does it say under "Prerequisites"?
    > I am executing a procedure, which will write a query result into a spreadsheet and it will store it into the local PC
    Is the database also on your local PC? UTL_FILE runs on the database server.

  • ORA-06550 and PLS-00201 in PL/SQL Developer

    Hi all ,
    I am facing the following error when i try to view the DDL of a table using pl/sql developer.
    ( right click on table and then DBMS_Metadata -> DDL)
    ORA-06550: line 7, column 5:
    PLS-00201: identifier 'SYS.DBMS_LOB' must be declared
    ORA-06550: line 7, column 5:
    PL/SQL: Statement ignored
    ORA-06550: line 12, column 3:
    PLS-00201: identifier 'SYS.DBMS_LOB' must be declared
    ORA-06550: line 12, column 3:
    PL/SQL: Statement ignored
    ORA-06550: line 13, column 3:
    PLS-00201: identifier 'SYS.DBMS_LOB' must be declared
    ORA-06550: line 13, column 3:
    PL/SQL: Statement ignoredPlease suggest me what to do ?
    regards
    Kkukreja

    Hi VT ,
    When i execute this .. I get this output :
    Argument Name                  Type                    In/Out Default?
    LOB_LOC                        BLOB                    IN/OUT
    NEWLEN                         NUMBER(38)              IN
    PROCEDURE TRIM
    Argument Name                  Type                    In/Out Default?
    LOB_LOC                        CLOB                    IN/OUT
    NEWLEN                         NUMBER(38)              IN
    PROCEDURE WRITE
    Argument Name                  Type                    In/Out Default?
    LOB_LOC                        BLOB                    IN/OUT
    AMOUNT                         NUMBER(38)              IN
    OFFSET                         NUMBER(38)              IN
    BUFFER                         RAW                     IN
    PROCEDURE WRITE
    Argument Name                  Type                    In/Out Default?
    LOB_LOC                        CLOB                    IN/OUT
    AMOUNT                         NUMBER(38)              IN
    OFFSET                         NUMBER(38)              IN
    BUFFER                         VARCHAR2                IN
    PROCEDURE WRITEAPPEND
    Argument Name                  Type                    In/Out Default?
    LOB_LOC                        BLOB                    IN/OUT
    AMOUNT                         NUMBER(38)              IN
    BUFFER                         RAW                     IN
    PROCEDURE WRITEAPPEND
    Argument Name                  Type                    In/Out Default?
    LOB_LOC                        CLOB                    IN/OUT
    AMOUNT                         NUMBER(38)              IN
    BUFFER                         VARCHAR2                IN.
    That means this exists... Tomorrow the database will be undegoing backup and so will shutdown and startup..
    So probably on monday I can check if i can login.. becuase I tried to view the same details using TOAD and i faced no errors as such...
    So lets wait till monday... if no other solution..
    Thanks
    Kkukreja

  • RPC error while executing procedure

    Hi,
    whenever I execute a procedure which extracts data from COBOL through relativity, it gives me RPC error and exits, the procedure code and error description is provided below,
    Procedure Code:
    ===========
    CREATE OR REPLACE Procedure CDB.pop_UtilityBill AS
    txt_Truncate Varchar2(200);
    txt_Rename Varchar2(500);
    BEGIN
    txt_Truncate := 'truncate table UtilityBill_Tmp';
    execute immediate (txt_Truncate);
    --Loading of Date from UTLMERGE File to Temporary Table
    Insert into UtilityBill_TMP
    (UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,
    WasaAcc, WasaFil , Amount , TranType , ChequeNo , Bank , Flag , UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
    Select DECODE("MrgDate",0,TO_DATE(NULL),TO_DATE("MrgDate"+1721423,'J')) UtlBillDate,
    "Branch",
    "Booth",
    "Batch",
    "Card",
    "Bill",
    "DocNo",
    "Account",
    "ElcAcc",
    "ElcFil",
    "GasAcc",
    "GasFil",
    "RegCode",
    "ExchCode",
    "PtclAcc",
    "PtclFil" ,
    "WasaAcc",
    "WasaFil" ,
    "Amount",
    "TranType",
    "ChequeNo",
    "Bank" ,
    "Flag" ,
    "MrgTime" UtlBillTime ,
    "PostId",
    "FlatbedFlag",
    "FlatbedMicrread" ,
    "FlatbedEndorse",
    "BillingMonth"
    From UTLMRG2M_CURR@BIDB
    INNER JOIN Branches_Control_UtlBill BU on BU.Branch = "Branch"
    where "MrgDate" > UtilityBill_Date
    and "Card" <> 9;
    COMMIT;
    --Loading of Date from Temporary Table to Interface Table
    INSERT INTO UtilityBill_I
    (UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,WasaAcc,
    WasaFil , Amount , TranType , ChequeNo , Bank , Flag ,UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
    Select UtlBillDate,
    Branch,
    Booth,
    Batch,
    Card,
    Bill,
    DocNo,
    Account,
    ElcAcc,
    ElcFil,
    GasAcc,
    GasFil,
    RegCode,
    ExchCode,
    PtclAcc,
    PtclFil ,
    WasaAcc,
    WasaFil ,
    Amount,
    TranType,
    ChequeNo,
    Bank ,
    Flag ,
    UtlBillTime ,
    PostId,
    FlatbedFlag,
    FlatbedMicrread ,
    FlatbedEndorse,
    BillingMonth
    From UtilityBill_TMP;
    COMMIT;
    --Swapping of Data from Interface Table to Actual Table
    EXECUTE IMMEDIATE('RENAME UtilityBill TO UtilityBill_Bkp');
    EXECUTE IMMEDIATE('RENAME UtilityBill_I TO UtilityBill');
    EXECUTE IMMEDIATE('RENAME UtilityBill_Bkp TO UtilityBill_I');
    -- Insertion in Interface Table for Next Day Preparation
    INSERT INTO UtilityBill_I
    (UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,WasaAcc,
    WasaFil , Amount , TranType , ChequeNo , Bank , Flag ,UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
    Select UtlBillDate,
    Branch,
    Booth,
    Batch,
    Card,
    Bill,
    DocNo,
    Account,
    ElcAcc,
    ElcFil,
    GasAcc,
    GasFil,
    RegCode,
    ExchCode,
    PtclAcc,
    PtclFil ,
    WasaAcc,
    WasaFil ,
    Amount,
    TranType,
    ChequeNo,
    Bank ,
    Flag ,
    UtlBillTime ,
    PostId,
    FlatbedFlag,
    FlatbedMicrread ,
    FlatbedEndorse,
    BillingMonth
    From UtilityBill_TMP;
    COMMIT;
    txt_Truncate := 'TRUNCATE TABLE UtilityBill_Tmp';
    execute immediate(txt_Truncate);
    Commit;
    END;
    Error Description:
    ===========
    BEGIN pop_UtilityBill; END;
    ERROR at line 1:
    ORA-02068: following severe error from BIDB
    ORA-28511: lost RPC connection to heterogeneous remote agent using
    SID=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=cdbprd)(PORT=1521)
    ))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=HSODBC1)))
    ORA-06512: at "CDB.POP_UTILITYBILL", line 10
    ORA-06512: at line 1
    HS trace file:
    ========
    Oracle Corporation --- TUESDAY MAY 08 2012 18:03:53.979
    Heterogeneous Agent Release
    9.2.0.8.0
    HS Agent received unexpected RPC disconnect
    Network error 1003: NCR-01003: NCRS: Read error.
    Oracle database Version:
    ===============
    Oracle9i Release 9.2.0.8.0 - Production
    Operating System:
    ===========
    Microsoft Windows Server 2003 SP2
    can anybody help me out on this?

    remove the line break then if youre loading that in. Apologies, I didnt read the next line. The error is with the insert, if youre loading that up as a sql command file it wont run like that with the line break as it reads it as separate commands quick example.
    SQL> host more ins.sql
    insert into t1
    (select * from dba_objects
    where rownum = 1);
    commit;
    SQL>
    SQL> create table t1 as select * from dba_objects where 1=0;
    Table created.
    SQL> @ins
    OWNER
    OBJECT_NAME
    SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
    CREATED   LAST_DDL_ TIMESTAMP           STATUS  T G S  NAMESPACE
    EDITION_NAME
    SYS
    ICOL$
                                           20              2 TABLE
    OWNER
    OBJECT_NAME
    SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
    CREATED   LAST_DDL_ TIMESTAMP           STATUS  T G S  NAMESPACE
    EDITION_NAME
    09-DEC-10 09-DEC-10 2010-12-09:03:39:59 VALID   N N N          1
    Commit complete.
    SQL> select * from t1;
    no rows selected
    SQL>
    -- ok, try it without the linebreak
    SQL> host more ins1.sql
    insert into t1
    (select * from dba_objects
    where rownum = 1);
    commit;
    SQL> @ins1
    1 row created.
    Commit complete.
    SQL>

  • Error while deploy mapping ora-06550 table or view does not exist

    Hi everyone,
    i have a target source 'U_BCK' that cointains some Oracle table.
    I have also created a target schema 'BCK_OWNER' where i create some dimensions and cubes with mappings.
    My mappings connect some table from U_BCK with dimension or cube from BCK_OWNER.
    My repository owner is called 'rep_owner' and i used this user to create every metadata.
    Now i'm trying to deploy, and i don't have any problem until deploying mappings. When i try to deploy mappings i get some errors like ora-06550,ora-00942 table or view does not exist and statement ignored.
    Please help me and sorry for my english...
    Thanks,
    Alex.

    The mapping, that drives the data from one table to another is deployed to the database as a PL/SQL package. When deploying your mapping fails, it most often means that the resulting PL/SQL package doesn't compile in the database.
    Using Oracle SQL Developer (or Toad, SQL Navigator or any other tool) connect to the schema on the database where you have deployed the mapping. Open the pl/sql package and compile it. That should show you the place where the compilation fails, and give you an idea as to what table it can not find. Otherwise, in SQLPLUS, you can simply give the following command:
    ALTER PACKAGE THE_PACKAGE_NAME_GOES_HERE compile body;
    show errors;
    As the database user who owns the source tables, make sure to issue a GRANT command for each of the source tables, granting SELECT access to the database user who owns the mapping:
    grant select on TABLENAME to TARGETSCHEMA.
    hope this helps
    Borkur

  • Error while executing procedure for FTP

    Hi all,
    I am facing error while copying l the csv files from FTP to local directory on my machine.
    I have created a procedure & selected technology jython . please find the code below.
    import snpsftp
    ftp = snpsftp.SnpsFTP('ftp://noid-misa-01-pp/', 'indiaftp', 'PWD')
    ftp.setmode('ASCII')
    ftp.mget('INT/GPInput(AU)/', '*.csv', 'C:\D_DRIVE_NEERAJ\reading')
    ftp.close()
    The error i am receiving is :
    org.apache.bsf.BSFException: exception from Jython: Traceback (innermost last):
    File "<string>", line 2, in ?
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\snpsftp.py", line 50, in __init__
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\snpsftp.py", line 58, in connect
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\ftplib.py", line 118, in connect
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\socket.py", line 135, in connect
    java.net.UnknownHostException: ftp://noid-misa-01-pp/

    If reading Excel as a database you would use "Access LSLINK"
    Access external means you are reading a file. I don't think it is possible to treat Excel as a file because the internal structure is complex.
    In the past I have saved the Excel as a CSV or as a Tab delimeted file. Then I use something like
    ACCESS External
      USE &filename
      BEGIN
        DESCRIPTION free ,
        Variables text 20
        Organisation text 20
        'July 2008' numeric 20
        'August 2008' numeric 20
        'September 2008' numeric 20
        'October 2008' numeric 20
        'November 2008' numeric 20
        'December 2008' numeric 20
        'January 2009' numeric 20
        'February 2009' numeric 20
        'March 2009' numeric 20
        'April 2009' numeric 20
        'May 2009' numeric 20
        'June 2009' numeric 20
      END
      peek
      read
    ... quit the access sub system
    END

  • ORA-00900: invalid SQL statement Error while Executing Procedure

    Hi:
    I am trying to execute following procedure through java code, but i am getting ORA-00900: invalid SQL statement error.
    Procedure is :
    <code>
    (vResult out int)
    as
    vCardId varchar2(16);
    vForacid varchar2(16);
    vApp_Entry_No varchar2(10);
    vSrNo number(6);
    vCardStatus char(1);
    vCardStat char(2);
    vExpiryDate date;
    Cursor cardCur1 is
    select u.card_number,trim(u.ACCOUNT_NUMBER),u.CARD_STATUS,to_char(u.EXPIRY_DATE,'dd-MM-yyyy')
    FROM DailyCardData u
    where default_indicator='1'
    and isprocessed = 'N'
    order by expiry_date;
    begin
    vSrNo := 0;
    vResult := 0;
    open cardCur1;
    Loop
    fetch cardCur1 into vCardId,vForacid,vCardStat,vExpiryDate;
    if cardCur1%NOTFOUND then
    exit;
    end if;
    if (vCardStat != null) then
    vCardStatus := 'H';
    elsif (vExpiryDate <= sysdate) then
    vCardStatus := 'E';
    else
    vCardStatus := null;
    end if;
    select a.app_entry_no into vApp_Entry_No from Application a,ApplicationLinkedAccounts l
    where l.foracid = vForacid and l.AcSrNo = '1'
    and a.app_entry_no = l.app_entry_no
    and a.cardid is null
    and a.DOWNLOADFILECREATIONFLAG = 'Y';
    update Application set CardId = vCardId,
    Card_Status = vCardStatus,APPLICATIONPROCESSEDFLAG = 'Y',
    APPLICATIONPROCESSEDdate = DOWNLOADFILECREATIONdate
    where App_Entry_No = vApp_Entry_No;
    commit;
    update DailyCardData set isprocessed = 'Y',app_entry_no = vApp_Entry_No
    where card_number = vCardId;
    commit;
    end Loop;
    close cardCur1;
    vResult := 1;
    end;
    </code>
    Can any body help me in that?
    Thank You,
    Anup

    First of all I don't see a procedure header.
    Secondly I see you commit inside your procedure. This is a bug.
    Thirdly I see you also commit inside a loop. This is also a bug, and needs to be removed asap.
    The error indicates a statement doesn't parse. As you don't post the error stack, nor a table definition no one can reproduce the problem.
    You need to isolate the statements, one by one, and run them through sql*plus to see what happens.
    Sybrand Bakker
    Senior Oracle DBA

  • Error while executing procedure from the web

    Hi,
    <p>
    I am developing some procedures that I want to execute from an html form. The problem is that when I am trying to execute it in SQL Developer I got the following error:<br>
    Connecting to the database oracle.<br>
    ORA-06502: PL/SQL: numeric or value error<br>
    ORA-06512: at "SYS.OWA_UTIL", line 325<br>
    ORA-06512: at "SYS.OWA_UTIL", line 366<br>
    ORA-06512: at "MMARTA.INSERTPROJECT", line 3<br>
    ORA-06512: at line 10<br>
    Process exited.<br>
    </p>
    <p>
    The procedure is the following:<br>
    create or replace <br>
    procedure insertproject(jnum j.j#%type, jname j.jname%type, city j.city%type) as <br>
    begin <br>
    owa_util.mime_header('text/plain');<br>
    if jpak.insertj(jnum,jname,city)<0 then<br>
    htp.print('The jnum already exists in the database!');<br>
    else <br>
    htp.print('Insert successfull!');<br>
    end if;<br>
    end;<br>
    <br>
    and the function has the following code:
    <br>
    function insertj(jnum j.j#%type, jname j.jname%type, city j.city%type)<br>
    return number is<br>
    x number;<br>
    begin<br>
    Select count(*) into x From J<br>
    Where J#=jnum;<br>
    if x=0 then<br>
    insert into J values(jnum,jname,city);<br>
    commit;<br>
    return 0;<br>
    end if;<br>
    return -1;<br>
    END insertj;<br>
    </p>
    <p>
    Does anyone have any idea why I get this error?
    </p>
    <p>
    Thanks!
    <p/>

    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!

  • Date format  error while executing procedure

    Hi,
    Oracle9i
    Table A has TIME column with datatype as DATE.
    In table A TIME column has values in format as mm/dd/yyyy hh:mm:ss
    Trying to execute the procedure (with the date value as an input parameter) to retrieve the records from the above table A, but getting the below error:
    get_product_details(17012,TO_DATE(24-10-2020,'mm/dd/yyyy hh:mm:ss'),TO_DATE(26-10-2020,'mm/dd/yyyy hh:mm:ss'),v_cur); ;
    ORA-01810: format code appears twice
    ORA-06512: at "SYS.STANDARD", line 231
    ORA-06512: at line 14
    Regards

    Hi,
    Your format mask is incorrect.
    TO_DATE(24-10-2020,'mm/dd/yyyy hh:mm:ss') The problem here is the first two characters is date but you are masking it as month and also the delimiter is - but you are masking it as / and for minutes the mask is mi and most importantly to_date accepts a String literal.
    should be changed to
    TO_DATE('24-10-2020 00:00:00','dd-mm-yyyy hh:mi:ss')cheers
    VT

  • "Warning: compiled but with compilation errors" while executing procedure.

    Hi All, i am so new to plsql. this code has been compiled but it gave a warning. I guess i am missing a small issue like semicolon but since im new i could not see what the problem is.
    CREATE OR REPLACE procedure BAKIM.grantt_uguser as
    cursor synn is
        select 'CREATE PUBLIC SYNONYM '||object_name||' for '||owner||'.'||object_name TXT from dba_objects
        where owner= 'FCY' and object_type in ('INDEX','PROCEDURE','TABLE','FUNCTION','VIEW','TRIGGER','SEQUENCE','PACKAGE')
        and
        object_name not in (select table_name from dba_synonyms where owner = 'FCY');
    begin
      for li in synn
      loop
    execute immediate li.TXT;
      end loop;
    end;

    Immediately after compiling, when you get the warning:
    select * from user_errors;
    In this case the root cause is "ORA-00942: table or view does not exist" because you probably don't have select on DBA_OBJECTS or DBA_SYNONYMS granted directly to BAKIM (it is probably through a role which is not sufficient for PL/SQL procedures).

Maybe you are looking for

  • How to copy oracle 8.1.7 to another SID under Windows 2000

    Hi my Hope ! :) I've got problem as is written in subject. I have no idea how can I do it ? I made it under Oracle 8.0.6 but under 8.1.7 it doesn't seem works properly. Under 8.0.6 I make it more less in that way: On the source db I back up controlfi

  • Implement the Application using DASHCODE

    Hi All, We have TimeTracker intra net software, where employee enter there daily project report times in that software. But some time employees are out of intra network, so they have to wait get in to network for enter there time. So can we achieve t

  • Quicktime playback

    Hi, I'm having a problem viewing .MOV videos on my MacBook Pro, all I get is audio. I have downloaded the MPEG-2 codec for Quicktime, but this doesn't help. The videos are from my JVC hard drive camcorder. When I plug the same camcorder into my Mac P

  • Im trying to backup my pictures onto icloud but when I log into icloud it doesnt show an icon for me to view my pics on my computer

    also when I go into settings my icloud id shows my account name + @me.com is that the reason its not backing up correctly

  • Correcting License Information

    I have a machine on which a friend installed his copy of Aperture. I now have my own copy, and wish to have the software on my machine properly licensed to me! (Aren't I good?) But I don't know where the registration info is stored, or how I can dele