Arguments in a stored procedure.

Hello

Please can you tell me:

What is the maximum size of a VARCHAR2 parameter as passed as an argument to an Oracle stored procedure.

for example

Test of CREATE OR REPLACE PROCEDURE (test_param VARCHAR2)

IS

....

The maximum length of the string of test_param is?

Thank you
Duncan

32767octets
But be aware that some games characters uses more one byte to store unique. In this case, divide the number of bytes by the number of bytes to store a character.

1 byte per character = 32767 characters
2 bytes per character = 16383 characters
3 bytes per character = 10922 characters

If you need more you must use CLOB instead of VARCHAR2 data

With greetings
Krystian Zieja

Tags: Database

Similar Questions

  • Error PLS-00306 with stored procedure

    I am trying to create a simple package and store the procedure to remove the date of treatment for Crystal Reports can read all data. I used an example on the web site for Crystal report as reference in SAP: link: [http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1084c536-711e-2b10-e48a-924a60745253;jsessionid= (J2EE3417200) ID0966300750DB00193623365600119940End]

    I ran the following and receive PLS-00306: wrong number or type of argument on the stored procedure. I am also pulling data with a databaselink to another data base given that our third-party vendor will not connect directly to the main database.

    I am new to PL/SQL, so I don't know what else to solve problems. Thank you for taking the time to review this.

    -1. Create a temporary table
    CREATE TEMPORARY TABLE global test_temp
    (processdate DATE NOT NULL);

    -2.Create package w / require REF CURSOR for Crystal reports
    CREATE or REPLACE PACKAGE test_package
    IN the TYPE processdate_TYPE IS REF CURSOR
    RETURN test_temp % ROWTYPE;
    END test_package;
    /

    -3. Stored procedure
    CREATE OR REPLACE PROCEDURE test_Procedure
    (processdate_cursor IN OUT test_Package.processdate_TYPE,
    processdate_parameter IN test_temp.processdate%TYPE)
    AS
    processdate DATE;
    BEGIN
    OPEN FOR Processdate_cursor
    SELECT processdate
    OF processlog@WEATEST
    WHERE processname = "F_ExecuteScheduleProcess" and processtype = ';
    END test_Procedure;
    /

    You say that you do not understand where there is a wrong number or type?

    This error occurs because there is an incorrect number of parameters passed. Your procedure
    Test_SP expects 3 parameters as defined by you as follows
    (p_ID in number,
    p_firstname OUT varchar2,
    p_lastname OUT varchar2)

    But when you run, you're not not p_id, has not managed to p_firstname, has failed to p_lastname. So there are number of parameters and that's what suggests the error.

    To run your test_sp
    Declare
    sFirstName Test_Table.FirstName%Type;
    sLastName Test_Table.Lastname%Type;
    Nest Test_Table.ID%Type: = 1;
    Begin
    Test_SP(1,sFirstName,sLastName);
    End;

    I hope this helps.

  • block of data based on a stored procedure with the input arguments

    Hello

    I am able to create a block of data based on the stored procedure.
    but I want that procedure to take both of the input arguments and I am facing issue while setting the value for this input arguments from another block element.
    Please someone help, how to set the value of the input of another block-element of control argument? (Note: data block is based on the stored procedure)

    Thanks in advance,
    Jean François Anandan

    I have an example that really works

    in the ownership of block

    arguments of data source query that you have two sections

    names one argument he write the name of the argument on the right, type the setting, fashion and value: block1.name and then pass the value to the procedure

  • A wrong number or types of arguments in the call to stored procedure

    Hi all...
    I'm missing something simple here, but I don't see what it is.
    I have looked around and cannot know what the problem is.
    Calling a stored procedure in Oracle 11g of Java 6.

    Here is my code:
       CallableStatement proc = null;                
       proc = conn.prepareCall("{ call storedProc(?, ?, ?, ?, ?) }");
       proc.setString("p_header", "8YR6TG");
       proc.setString("p_optype", "A");
       proc.registerOutParameter("p_headerCursor", OracleTypes.CURSOR);
       proc.registerOutParameter("p_detailCursor", OracleTypes.CURSOR);
       proc.registerOutParameter("p_status", OracleTypes.VARCHAR);
       proc.execute();
    Here are my stored procedure:
    PROCEDURE storedProc (
    p_header IN VARCHAR2,
    p_optype IN VARCHAR2,
    p_headerCursor OUT R_CURSOR,
    p_detailCursor OUT R_CURSOR,
    p_status OUT VARCHAR)
    Here's the exception I get:
    java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'storedProc'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
         at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:181)
         at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:870)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1081)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:2996)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4120)
    Can you see what I'm doing wrong here?
    Thanks in advance for your comments!

    Published by: Brady on February 16, 2012 13:02

    try to use digital indexes instead of parameter names.

  • call a stored procedure for each row in the transitional attribute and display the data in the form of af: table. The other rows are based on the entities

    Hi Experts,

    JDeveloper 12.1.3.0.0

    I have a VO based on entity object. With a column of the VO is transient attribute (I created).

    I need to call a stored procedure for each row in the transitional attribute and display the data in the form of af: table. As well as other attributes.

    So can anyone suggest how can I achieve this?

    Thank you

    AR

    I think that you need a stored function (which returns the value) in this case, is not?

    Take a look at:

    https://docs.Oracle.com/CD/B31017_01/Web.1013/b25947/bcadvgen005.htm

    and search for:

    Invoking stored function with only Arguments in

    call your function in the Get attribute and return value accessor...

  • How to call a stored procedure PL/SQL of the Disqualification?

    I figured I could do this from a Groovy script but I am unable to make it work.

    Let's take the simplest scenario:

    At the end of a job, I have a need to call an once stored procedure that has no arguments.

    Translated by the logic of the stored procedure with Disqualification is not an option.

    If you must call it once at the end of a task, you must use the external task.

    If you call a procedure for each record, it can be done using a script.

  • Block based on the stored procedure cannot modify Default_where clause

    Hi all

    I tried to create a block based on the stored procedure that it works very well with the result set for the refcursor. But if I need to add filters on the block using where clause in the palette of goods or

    using the property block set in where clause, it does not error but does not review filters .

    tried everything to you please let me know. This is a restriction whereby we can set filters on the block when we create the block based on the stored procedure.

    Thank you

    Check in Form Builder Help:

    Creating a block of data from a procedure that uses a ref cursor

    ... You can't pass a WHERE or ORDER BY clause clause in a stored procedure.

    But you can send your WHERE condition using the query Source Arguments.

    If the procedure is on the side of the database (not in the forms module), ensure that the procedure is not vulnerable to injection of SQL code.

    Kind regards

    Zlatko

  • Execution of the stored procedure Oracle EF6 error.

    Hello

    Need help with the oracle error

    {"ORA-06550: line 1, column 8:"}

    PLS-00306: wrong number or types of arguments in the call to "sp_name".

    ORA-06550: line 1, column 8:

    {"PL/SQL: statement ignored '}

    This error occurs when the code runs the line in Vb.net application in Model Designer

    MyBase.ExecuteFunction ("sp_name" para1, para2, para3, dOBpara4, para5)

    I create the SSDL and CSDL, MSL files for oracle to MS SQL connection by the method mentioned in the link JasonShort - professional profile - CodeProject it worked perfectly fine without the stored procedures. I managed to insert, update, and delete records. Then, I created stored procedures for Insert, Update, Delete. It worked fine with MS SQL. I copied and updated oracle files respectively. I gives me the error mentioned above.

    I executed stored procedures in Oracle SQL Developer, and it works without error. But when it is executed via the model there is light of the error. Can anyone let me know the solution for this error. I'm using VS2010, EF6, Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production

    Thank you

    Prachin Soparkar

    Hello

    Sorry for the inconvenience. After I posted this question I took a break and saw that the error was nothing, but I had given FNAME as parameter name in MS SQL. In oracle when I created the sp I created the parameter with p_FNAME. Where the schema defined in the language SSDL and CSDL, MSL had to be changed to MS, but since I want to that it would be same in different databases, I choose to have changed it in oracle stored procedure. The error msg is confusing, it should be something not found parameter or incompatibility etc.

    Thank you

    Prachin Soparkar

  • Cannot load the file DOC ID 109095.1 java stored procedure

    Hello. I'm trying to follow the documentation for 109095.1 (How to perform a system call to a Java Stored Procedure and capture the output) and after I try to load the java file I received the following two errors below. In some of the forum posts I met and performed various controls as well and from what I can tell, it seems that the java install my have broken or is not installed properly in the first place (unknown previous state). Some of the results of the checks are also lower.

    [dcampoy@prd oracle] $ loadjava u dcampoy / * - diagram t_super_user - v CaptureStream.java

    arguments: '-u' ' dcampoy / *' '-schema ' 't_super_user' '-v' "CaptureStream.java".

    creation: source T_SUPER_USER. CaptureStream

    loading: source T_SUPER_USER. CaptureStream

    Error creating source CaptureStream

    ORA-06550: line 1, column 75:

    PLS-00201: identifier ' DBMS_JAVA. SET_COMPILER_OPTION' must be declared

    ORA-06550: line 1, column 75:

    PL/SQL: Statement ignored

    ORA-06550: line 1, column 239:

    PLS-00201: identifier 'NameFromLastDDL' must be declared.

    ORA-06550: line 1, column 231:

    PL/SQL: Statement ignored

    Audits

    SQL > DESC DBMS_JAVA

    ERROR:

    ORA-04043: object DBMS_JAVA does not exist

    Runtime Environment Java was also (JAVA_HOME, $PATCH, and)$LD_LIBRARY_PATH)

    There are other tables with stored java information but I'm unable to find those queries I has used last week. I do remember every time they were ran zero rows were returned. I will try and get that information. Any assistance is much appreciated thank you.

    Thank you! That seemed to be the case because I had to install java in the database running the two files below sql. I also ran select it under check that java has not been installed. After installing both .sql files, I was able to download my java files successfully.

    SQL > @? / JavaVM/install/initjvm. SQL and

    SQL > @? / RDBMS/admin/catjava. SQL

    set line 200

    wrap off Set

    Col ComputerName format a20

    Select ComputerName, VERSION, dba_registry;

    COMPUTERNAME Version STATUS

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

    Oracle Enterprise Manager 11.2.0.3.0 VALID
    Oracle 11.2.0.3.0 database catalog VALID
    Oracle 11.2.0.3.0 database Pack VALID
    Oracle Real Application 11.2.0.3.0 VALID
  • How to pass the content of the table as OUT of the stored procedure parameter

    Hi all

    I am writing a stored procedure where he must accept date as one of the parameters IN and it must interrogate the table of database on this criterion and should address data in a temporary table.

    in the end, he must send all the data from the temporary table as the OUT parameter.

    How to get there? should I create a new TYPE with all the columns in the Temp table and use this Type as a parameter? or SYS_REFCURSOR is the best option.

    Thanks in advance.

    Hello

    The best way to do what you want depends on what you want.  Start by describing what you need to do.  It is best to post some data examples (CREATE TABLE and INSERT statements), and what results you want from this sample data.  (See the FAQ forum: https://forums.oracle.com/message/9362002)

    If you have any ideas on how to do the work (for example, populating a temporary table) it may be useful to include those who, too, but a clear distinction between WHAT you do and HOW you do it.

    Bencol suggested, a SYS_REFCURSOR may be the best way to transmit the results.

    Since you only post your table, or even describe what you wanted to do with it, I will illustrate using scott.emp, which is probably on your system.

    Say you want a procedure that takes a DATE as an argument, then returned a certain designated columns (empno, ename, and hiredate in the example below) for all employees hired from the given DATE.  You can write a procedure like this:

    CREATE OR REPLACE PROCEDURE hired_since

    (IN start_date DATE

    out_data ON SYS_REFCURSOR

    )

    AS

    BEGIN

    OPEN FOR Out_data

    SELECT ename, empno, hiredate

    FROM scott.emp

    WHERE hiredate > = start_date;

    END hired_since;

    /

    DISPLAY ERRORS

    You can test it in SQL * more like this:

    VARIABLE c REFCURSOR

    EXEC hired_since (DATE ' 1982-01-01',: c);

    PRINTING: c

    The output I received this test was:

    ENAME, EMPNO, HIREDATE

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

    7788 SCOTT APRIL 19, 87

    7876 ADAMS MAY 23, 87

    7934 MILLER JANUARY 23, 82

  • Is it possible to move an Oracle null input parameter to a stored procedure

    I have a stored procedure taking 3 inputs and 1 output of donne. I use the Oracle parameter to add all the input parameters 3 as follows:

    OracleParameter = cmd inobj. Parameters.Add ("wid", OracleDbType.Int32, 50);
    inobj. Direction = ParameterDirection.Input;
    inobj. Value = _employeeID;

    and the addition of the setting of output as follows:

    OracleParameter outobj is _cmd. Parameters.Add ("w_first", OracleDbType.Varchar2, 50);
    outobj. Direction = ParameterDirection.Output;

    On the side of the user interface, the user has the option of providing 1 entry or all inputs or any 2 based on his interest. Stored proc looks like this:
    SP (inp1 in parameter, inp2 in inp3 in parameter, parameter, out parameter output1)

    If I just get 1 or 2 entries of the user, it is very good query output data using the same stored procedure or do I create stored procedures for each scenario (combination of different entries)?

    I get an error in pl/sql which indicates the invalid number of arguments?

    Maybe I can be more clear with c# code. :)

    void SaveSomethingInOracle(int param1, string param2 = null, decimal? param3 = null)
    {
    // Set up your oracle connection and query here
    OracleParameter inobj = _cmd.Parameters.Add("w_id", OracleDbType.Int32,50);
    inobj.Direction = ParameterDirection.Input;
    inobj.Value = param1;
    
    OracleParameter inobj2 = _cmd.Parameters.Add("name", OracleDbType.Varchar2,50);
    inobj2.Direction = ParameterDirection.Input;
    inobj2.Value = param2;
    
    OracleParameter inobj3 = _cmd.Parameters.Add("quantity", OracleDbType.Decimal,50);
    inobj3.Direction = ParameterDirection.Input;
    if (param3.HasValue)
    {
    inobj3.Value = param3.Value;
    }
    else
    {
    inobj3.Value = null;
    }
    }
    

    This c# method takes 3 parameters. The first is necessary, the other two are optional. If you do not set them, they take the value default null and passing it to the database. If you want to set the first and third only, you can still pass null as the other. If you have this piece of code to call the stored procedure any combination of parameters that you use, and the proc will get values or NULL values properly.

    Hope he says. You need only one together code to do what you want to do. :)

    Published by: Tridus on December 19, 2012 12:10

  • Command SQLPLUS to execute stored procedure

    Hello

    I'm trying to run the command SQLPLUS (CONNECT) to the stored procedure.

    It is throwing the error message below.


    Stored procedure:

    SQL > select use double
    2;

    USER
    ------------------------------
    SYS

    SQL > create or replace
    2 PROCEDURE PROCEDURE1 AS
    3 BEGIN
    4 sqlplus sys/sys@D as sysdba;
    5 - immediate execution "create user 'kkk' identified by 'kkk';
    6 END PROCEDURE1;
    5 m

    CAUTION: Procedure created with compilation errors.

    SQL > show err
    PROCEDURE1 PROCEDURAL errors:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    3/9 PLS-00103: encountered the symbol "SYS" when awaits an of the
    Next:
    := . ( @ % ;
    The symbol ': = ' was replaced by 'SYS' continue.

    3/22 PLS-00103: encountered the symbol "UNDER" when awaits an of the
    Next:
    . (* @ & = - +; <>/ at mod is still not rem)
    < an exponent (*) > <>or! = or ~ = > = < = <>and or LIKE2_
    LIKE4_ LIKEC_ between | Member SUBMULTISET_
    The symbol "." has been inserted before "AS" to continue.


    Please let me know if it is possible to do or not.
    If it is possible how is this possible?

    Published by: NGK246 on August 28, 2012 02:21

    NGK246 wrote:
    Now I tried to implement even taking arguments when running in the command prompt, but the OraCallTest.log file is not created.
    Please let me know why is it happening as such.

    Please show it does not work. It works well for me...

    c:\Temp>notepad testing.bat
    
    c:\Temp>more testing.bat
    @echo off
    SET DBUser=%1
    SET DBPass=%2
    SET DBTNS=TEST
    SET LOG=C:\temp\
    
    ECHO spool OraCallTest.log > %LOG%OraCallT.sql
    ECHO set linesize 132 >> %LOG%OraCallT.sql
    ECHO select * from dual; >>%LOG%OraCallT.sql
    ECHO spool off >> %LOG%OraCallT.sql
    ECHO exit >> %LOG%OraCallT.sql
    sqlplus -s "%DBUser%/%DBPass%@%DBTNS%" @%LOG%OraCallT.sql > %LOG%PLTT.log
    
    c:\Temp>testing scott tiger
    
    c:\Temp>more pltt.log
    
    Session altered.
    
    D
    -
    X
    
    c:\Temp>more oracallt.sql
    spool OraCallTest.log
    set linesize 132
    select * from dual;
    spool off
    exit
    
    c:\Temp>more oracalltest.log
    
    D
    -
    X
    
  • JPA with Oracle stored procedure: setting IN or OUT to missing index: 1

    Hello

    I'm going to have bad configure integration between Oracle stored procedure (which returns a cursor) and the Parliamentary Assembly joint.



    Stored procedure
    CREATE OR REPLACE PROCEDURE GET_ACCOUNTS_TEST
    (
    l_cursor on sys_refcursor
    )
    AS
    BEGIN
    L_cursor OPEN for SELECT * FROM ACCOUNTS_TEST ORDER OF ACCOUNT_NAME.
    END GET_ACCOUNTS_TEST;



    Oracle bean
    @Entity
    @NamedNativeQueries({)
    @NamedNativeQuery (name = "getAccountsSP", query = "{GET_ACCOUNTS_TEST (?) call} "(, resultClass = Account.class)"
    })
    @Table (name = "ACCOUNTS_TEST")
    Account/public class implements Serializable {}
    .....
    }



    ManagedAccountBean
    public Collection < account > getAccountsSP() {}

    EntityManager em = jpaResourceBean.getEMF () .createEntityManager ();

    try {}
    Query query = em.createNamedQuery ("getAccountsSP");
    (Collection < account >) return query.getResultList ();
    } {Finally
    EM. Close();
    }
    }



    Get this error
    Exception [EclipseLink-4002] (Eclipse - 2.4.0.v20120608 persistence Services - r11652): org.eclipse.persistence.exceptions.DatabaseException
    Inner exception: java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in the call to 'GET_ACCOUNTS_TEST '.
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored

    Error code: 6550
    Call: {call GET_ACCOUNTS_TEST (?)}
    link = > [null]
    Query: ReadAllQuery (name = "getAccountsSP" referenceClass = sql = "{call GET_ACCOUNTS_TEST (?)}" account)




    Any ideas? I can get the code to use a query in the code, but not via. an AP

    Thank you

    The exception occurs because you said JPA to pass a parameter, but it is not expected the stored procedure. Try to change your definition of stored proc in a cursor output variable that can be used in your JPA query to return the cursor. An example is here:
    http://wiki.Eclipse.org/EclipseLink/examples/JPA/StoredProcedures

    Best regards
    Chris

  • Error on the definition of the stored procedure in the simultaneous program

    Hello

    I created a stored procedure and wanted it attached to the concurrent program. The purpose of this stored procedure when you run it in simultaneous program, the system retrieves the data from the csv file downloaded from the server, then it will insert in the tables of SO / the Interface API. Below, the error occurred.


    * Starts * 18 April 2012 18:18:42
    Error ORACLE 6550 in FDPSTP

    Cause: FDPSTP failed due to the ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in the call to 'SPKO1 '.
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored

    Steps I did to set the stored proc
    < < simultaneous executable program > >

    Executable: RDRAGON_SO_IMPORT
    Short name: RDRAGON_SO_IMPORT
    Application: Order management
    Method of execution: PL/SQL, stored procedure
    Run file name: SPKO1

    < < concurrent program - set > >

    Program: RDRAGON SO IMPORT
    Short name: RDRAGON_SO_IMPORT
    Application: Order management
    Name of executable: RDRAGON_SO_IMPORT
    Method: PL/SQL, stored procedure

    Format: text
    No set

    -Here are my stored procedure-


    CREATE OR REPLACE PROCEDURE APPS. SPKO1 IS
    FH UTL_FILE. TYPE_DE_FICHIER;
    v_line VARCHAR2 (32767).
    v_source_id NUMBER (10);
    v_created_by NUMBER (10);
    v_creation_date DATE;

    v_org_id NUMBER (10);
    v_orig_sys_docref VARCHAR2 (50);
    V_Customer VARCHAR2 (360);
    v_customer_prev VARCHAR2 (360);
    v_sold_to_org NUMBER (10);

    v_orig_line_ref NUMBER (10);
    v_item_code VARCHAR2 (2000);
    v_ordered_qty NUMBER (10);
    v_selling_price NUMBER (10);
    v_count NUMBER (10);
    v_stat NUMBER;


    /******************************************************************************
    NAME: SPKO
    PURPOSE:

    REVISIONS:
    Worm Date Description of the author
    --------- ---------- --------------- ------------------------------------
    1.0 16/04/2012 administrator 1. Created this procedure.

    NOTES:

    Keywords to replace automatically available Auto:
    Object name: SPKO
    SYSDATE: 16/04/2012
    Date and time: 16/04/2012, 17:55:42 and 16/04/2012 17:55:42
    Username: admin (set in Options of TOAD, editor of the procedure)
    Name of the table: (defined in the dialog box "New PL/SQL object")

    ******************************************************************************/
    BEGIN
    v_source_id: = 6;
    v_created_by: = - 1;
    v_org_id: = 204;
    v_customer_prev: = null;
    v_orig_line_ref: = 0;
    v_stat: = 0;

    SELECT header_id in (DE) v_orig_sys_docref
    Select header_id
    of OE_ORDER_HEADERS_ALL
    creation_date desc order
    ) WHERE ROWNUM = 1;


    FH: = UTL_FILE. FOPEN ('XXANDDIR2', 'myfile1.csv', 'R', 32767);
    < < file_read_lines > >
    LOOP
    BEGIN
    UTL_FILE. GET_LINE (fh, v_line);

    V_Customer: = LTRIM (RTRIM (REGEXP_SUBSTR (v_line, "[^,] +' 1, 1") ',' "') ','" ');
    v_creation_date: = LTRIM (RTRIM (REGEXP_SUBSTR (v_line, "[^,] +' 1, 2") ',' "') ','" ');
    v_item_code: = LTRIM (RTRIM (REGEXP_SUBSTR (v_line, "[^,] +' 1, 3") ',' "') ','" ');
    v_ordered_qty: = LTRIM (RTRIM (REGEXP_SUBSTR (v_line, "[^,] +' 1, 4") ',' "') ','" ');
    v_selling_price: = LTRIM (RTRIM (REGEXP_SUBSTR (v_line, "[^,] +' 1, 5") ',' "') ','" ');
    v_orig_line_ref: = (v_orig_line_ref + 1);

    If v_stat = 0 then
    v_orig_sys_docref: = (v_orig_sys_docref + 1);
    end if;

    SELECT hca.cust_account_id from v_sold_to_org
    OF hz_cust_accounts AOB.
    HP hz_parties
    WHERE hca.party_id = hp.party_id
    AND hca.request_id is null
    AND hp.party_name = v_customer;

    If v_stat = 0 then
    INSERT INTO OE_HEADERS_IFACE_ALL)
    order_source_id,
    orig_sys_document_ref,
    org_id,
    CREATION_DATE,
    created_by,
    last_update_date,
    last_updated_by,
    operation_code,
    sold_to_org_id,
    booked_flag)
    VALUES)
    v_source_id,
    ('TEST' | v_orig_sys_docref).
    v_org_id,
    v_creation_date,
    v_created_by,
    v_creation_date,
    v_created_by,
    "INSERT."
    v_sold_to_org,
    'Y') ;
    commit;
    end if;

    INSERT INTO OE_LINES_IFACE_ALL)
    order_source_id,
    orig_sys_document_ref,
    orig_sys_line_ref,
    inventory_item,
    org_id,
    ordered_quantity,
    unit_selling_price,
    unit_list_price,
    CREATION_DATE,
    created_by,
    last_update_date,
    last_updated_by,
    operation_code)
    VALUES)
    v_source_id,
    ('TEST' | v_orig_sys_docref).
    v_orig_line_ref,
    v_item_code,
    v_org_id,
    v_ordered_qty,
    v_selling_price,
    v_selling_price,
    v_creation_date,
    v_created_by,
    v_creation_date,
    v_created_by,
    "INSERT");
    commit;

    v_customer_prev: = v_customer;
    If v_customer_prev = v_customer then
    v_stat: = 1;
    on the other
    v_stat: = 0;
    end if;
    -DBMS_OUTPUT. Put_line ('Col1: ' | v_source_id |', Col2: ' | v_creation_date |', Col3: ' | v_created_by |', Col4: ' | v_updated_date |', Col5: ' | v_updated_by);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    OUTPUT file_read_lines;
    END;
    END LOOP;
    SELECT count (*) in the OE_HEADERS_IFACE_ALL v_count;
    DBMS_OUTPUT. Put_line (' record Total inserted successfully: ' | v_count);
    UTL_FILE. FCLOSE (FH);

    END SPKO1;
    /


    But when I run the stored procedure using TOAD his work.

    Help, please. This is my first time to attach the stored procedure in the concurrent program.

    Thank you very much.

    Kind regards
    Diane

    Published by: peopsquik08 on April 18, 2012 03:58

    as clive_t solier
    >
    You must explicitly reference the settings out
    >

    Try

    DECLARE
    VFILE VARCHAR2(32767);
    V_SOURCE_ID NUMBER;
    --
    ERRBUF VARCHAR2(200);
    RETCODE NUMBER;
    
    BEGIN
    VFILE := 'myfile1.csv';
    V_SOURCE_ID := 6;
    
    --APPS.OMORDERLOADER.SPKO1 ( VFILE, V_SOURCE_ID );
    --COMMIT;
    
    APPS.OMORDERLOADER.SPKO1(
        ERRBUF => ERRBUF,
        RETCODE => RETCODE,
        VFILE => VFILE,
        V_SOURCE_ID => V_SOURCE_ID
      );
    END;
    

    but the code above to test your proc

    to run concurrent SQL, you can use fnd_submit.submit_program

  • Call a PL/SQL stored procedure - data type mismatch

    I call a PL/SQL stored procedure from within a procedure of ODI using the specified technique page Cezar and Julien (http://odiexperts.com/how-to-use-plsql-procedures-and-functions-in-odi) and I get the error "Wrong number or argument types»

    I tested each of the types of parameters, in that I'm passing and it is the text that is causing the problem. I tried to use 'Text' and 'Alphanumeric' for the data type of the variable of the ODI and so many VARCHAR2 and VARCHAR for the PL/SQL parameter type and I can't make it work.

    Is there a trick for passing a string in the ODI PL/SQl?

    Hello

    Ensure

    1. to declare/refresh of the variable before call to PL/SQL.

    2. If the variable is of "alphanumeric" ODI calling must be attached to apostrophes and prefix with the code project as ' #MYPROJECT. ODI_Var'

    3. as parameters you have u who must pass both during the call (IN, OUT, etc.).

    Thank you
    Guru

Maybe you are looking for