Java, PLSQL table index

Hello,
when I call from a java program a plsql procedure with 1
parameter type table index, it works fine. But, when I use 2
parameters type table index, it throws the exception with this
message:
ORA-01036: illegal variable name/number
Thanks,
Andres.

Hi Simi,
now, it is working well in the JDeveloper 9i, but when I deploy
the files in the iAS server (1.0.2.2.1), it shows an exception:
ORA-00932: inconsistent datatypes
Just because of the table index parameter.
I have changed the classes12 file in the home/lib directory in
the OC4J without success with:
classes12.jar original from lib directory.
classes12.zip original from iAS's client BD.
classes12.zip original from Oracle client BD 8.1.7. (C:\orant8
\jdbc\lib)
classes12.zip original from Oracle client BD 9i. (C:\orant9
\jdbc\lib)
classes12.jar original from Oracle client BD 9i. (C:\orant9
\jdbc\lib)
classes12.zip original from JDeveloper 9i. (C:jdev9i\lib)
My java program is:
connection.prepareCall("{call user.package.proc
ocs.setString(1, cod);
ocs.registerOutParameter(2, OracleTypes.VARCHAR);
ocs.registerOutParameter(3, OracleTypes.VARCHAR);
ocs.registerOutParameter(4, OracleTypes.VARCHAR);
ocs.registerOutParameter(5, OracleTypes.VARCHAR);
ocs.registerOutParameter(6, OracleTypes.VARCHAR);
ocs.registerIndexTableOutParameter(7, 50,
OracleTypes.VARCHAR, 100);
ocs.registerOutParameter(8, OracleTypes.VARCHAR);
ocs.registerOutParameter(9, OracleTypes.VARCHAR);
ocs.registerOutParameter(10, OracleTypes.INTEGER);
ocs.registerOutParameter(11, OracleTypes.VARCHAR);
ocs.execute();
My plsql header is:
TYPE StringTabTyp IS TABLE OF table.column%TYPE
INDEX BY BINARY_INTEGER;
PROCEDURE proc
( ps1 IN VARCHAR2,
ps2 OUT VARCHAR2,
ps3 OUT VARCHAR2,
ps4 OUT VARCHAR2,
ps5 OUT VARCHAR2,
ps6 OUT VARCHAR2,
ps7 OUT StringTabTyp,
ps8 OUT VARCHAR2,
ps9 OUT VARCHAR2,
pnRet OUT NUMBER,
psRet OUT VARCHAR2
If the parameter ps7 is of type VARCHAR2, it works. But if it is
of type StringTabTyp (Table Index), this message is generated:
ORA-00932: inconsistent datatypes
Any idea will be useful.
Thank you very much.
Andres.

Similar Messages

  • Mapping of PLSQL  table type  Date to java

    i am having problem in mapping plsql table type DATE in java,
    able to execute procedures which return plsql table type NUMBER,VARCHAR.
    i am using oracle 9 , jdk1.4, oci driver, windows 2000.
    sample code:
    registering:
    st.registerIndexTableOutParameter(15,100,OracleTypes.DATE,1000);
    st.registerIndexTableOutParameter(16,100,OracleTypes.DATE,1000);
    st.execute();
    getting out params in arrays:
    java.sql.Date[] O_lSubFolder_CrOn=(java.sql.Date[])java.sql.Date[] st.getPlsqlIndexTable(15);
    O_lSubFolder_MdOn=(java.sql.Date[])st.getPlsqlIndexTable(16);
    error while executing the code:
    java.sql.SQLException: Invalid PL/SQL Index Table element type
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
    at oracle.jdbc.driver.OraclePreparedStatement.checkPlsqlIndexTableBindTypes(OraclePreparedSt
    atement.java:2705)
    at oracle.jdbc.driver.OracleCallableStatement.registerIndexTableOutParameter(OracleCallableS
    tatement.java:834)
    can anyone help me to solve this problem.

    i am having problem in mapping plsql table type
    DATE in java,
    able to execute procedures which return plsql table
    type NUMBER,VARCHAR.
    i am using oracle 9 , jdk1.4, oci driver, windows
    2000.
    sample code:
    registering:
    st.registerIndexTableOutParameter(15,100,OracleTypes.D
    TE,1000);
    st.registerIndexTableOutParameter(16,100,OracleTypes.D
    TE,1000);
    st.execute();
    getting out params in arrays:
    java.sql.Date[]
    O_lSubFolder_CrOn=(java.sql.Date[])java.sql.Date[]
    st.getPlsqlIndexTable(15);
    O_lSubFolder_MdOn=(java.sql.Date[])st.getPlsqlIndexTab
    e(16);
    can anyone help me to solve this problem.1. Write a wrapper procedure that converts the table of dates to either number or date and then re-convert the table back into date.
    2. Since it's an out param you could create a temp table, insert the contents of the index by array into it and return a cursor.
    3. Create a oracle type using CREATE TYPE and then use an array of the type.
    David Rolfe
    Orinda Software

  • How to improve performance using bulk collects with plsql tables or arrays

    Hi All,
    my procedure is like this
    declare
    cursor c1 is select ----------------------
    begin
    assigning to variables
    validations on that variables
    --50 validations are here --
    insert into a table
    end;
    we have created indexes on primary keys,
    i want to use
    DECLARE
    CURSOR a_cur IS
    SELECT program_id
    FROM airplanes;
    TYPE myarray IS TABLE OF a_cur%ROWTYPE;
    cur_array myarray;
    BEGIN
    OPEN a_cur;
    LOOP
    FETCH a_cur BULK COLLECT INTO cur_array LIMIT 100;
    ***---------can i assign cursor data to the plsql table variables or array***
    ***validate on the pl sql variable as---***
    i
    nsert into a table
    EXIT WHEN a_cur%NOTFOUND;
    END LOOP;
    CLOSE a_cur;
    END;
    Edited by: Veekay on Oct 21, 2011 4:28 AM

    Fastest way often is this:
    insert /*+append */
    into aTable
    select * from airplanes;
    commit;The select and insert part can even be done in parallel if needed.
    However if the oparation is complex or the dataset is very very very very very large or the programmer is decent but not excellent then the bulk approach should be considered. It is often a pretty stable and linear scaling approach.
    The solution depends a little on the database version.
    LOOP
      FETCH a_cur BULK COLLECT INTO cur_array LIMIT 100;
      EXIT WHEN a_cur.count = 0;
      forall i in a_cur.first.. a_cur.last
      insert into aTable (id)
      values (a_cur(i));
    END LOOP;
    ...If you have more then one column then you might need a single collection for each column. Other possibilities depend on the db version.
    Also: do not exit using a_cur%NOTFOUND. This is wrong! You might loose records from the end of the data set.

  • How to retrieve data from plsql table in BI publisher Data template

    Hi All,
    I have created a data template for XML publisher report. In data template i m getting data from plsql table. for that i have created one package with pipelined function. I am able to run that sql from sql developer .But if i run the concurrent program then i got error like "java.sql.SQLSyntaxErrorException: ORA-00904: "XXXXX": invalid identifier".
    I have used the same parameters in Data template and concurrent program....
    please clarify me what needs to be done....
    thanks in advance....
    Regards,
    Doss

    Hi Alex ,
    i am using pipelined function and get the data from cursor and load it into plsql table (nested table). and i use the below in my data template to fetch the data:
    <sqlStatement name="Q1">
    <![CDATA[select * from  table(PO_SPEND_RPT_PKG.generate_report(P_ORG_ID,P_SOB_ID,P_ORG_NAME,P_PERIOD_NAME,P_CLOSE_STATUS,P_E_PCARD_NEED,P_REPORT_TYPE))]]>
    </sqlStatement>
    if i run the above in sql developer i can get the result....from apps if i run i got the error "java.sql.SQLSyntaxErrorException: ORA-00904: "P_ORG_ID": invalid identifier"
    Edited by: kalidoss on Sep 14, 2012 4:32 AM

  • How to get the plsql table data into output cursor

    Hi,
    Could anybody please help me.
    Below is an example of the scenario..
    CREATE OR REPLACE PACKAGE chck IS
    PROCEDURE getdata(dept_no IN VARCHAR2,oc_result_cursor OUT sys_REFCURSOR);
    TYPE get_rec is record (ename varchar2(20),
    eno number(12));
    TYPE t_recs IS TABLE OF get_rec INDEX BY BINARY_INTEGER;
    emp_tab t_recs;
    END chck;
    CREATE OR REPLACE PACKAGE BODY chck AS
    PROCEDURE getdata(dept_no IN VARCHAR2,oc_result_cursor OUT sys_REFCURSOR)
    is
    BEGIN
    select ename, eno
    bulk collect into emp_tab
    from emp;
    open oc_result_cursor for select * from table(emp_tab); -- I believe something is wrong here ....
    END;
    END chck;
    the above package is giving me an error:
    LINE/COL ERROR
    10/29 PL/SQL: SQL Statement ignored
    10/43 PL/SQL: ORA-22905: cannot access rows from a non-nested table
    item
    let me know what needs to be changed
    Thanks
    Manju

    manjukn wrote:
    once i get the data into a plsql table, how to get this plsql table data into the cursor?There is no such thing as a PL/SQL table - it is an array.
    It is nothing at all like a table. It cannot be indexed, partitioned, cluster, etc. It does not exist in the SQL engine as an object that can be referenced. It resides in expensive PGA memory and needs to be copied (lock, stock and barrel) to the SQL engine as a bind variable.
    It is an extremely primitive structure - and should never be confused as being just like a table.
    Its use in SQL statements is also an exception to the rule. Sound and valid technical reasons need to justify why one want to push a PL/SQL array to the SQL engine to run SELECT 's against it.

  • Delete last record in plsql table

    TYPE r_LOOPElement IS RECORD (TermID   NUMBER
    TYPE t_LOOPType IS TABLE OF r_LOOPElement INDEX BY BINARY_INTEGER;
    i_CustomerLoop      t_LOOPType ;
    i_CustomerLoop(1).TermID=1;
    i_CustomerLoop(2).TermID=2;
    i_CustomerLoop(3).TermID=3;based on some conditions, i need to delete the last record from i_CustomerLoop
    whichi s the best way to do it. because i will sometimes have duplicate values for TermID in this plsql table.

    Hi,
    See [Deleting Collection Elements (DELETE Method)|http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/collections.htm#CJAFGFIG]
    Regards,

  • Open cursor for PLSQL table of records

    Is it possible to open a cursor for all data in a PLSQL table of records?
    something like
    cursor c (p1 number) is select * from <plsqltab>
    where <plsqltab>.col = p1

    There is no such thing as a PL/SQL table. Yes, I know that many calls this structure in PL/SQL a table. And that is exactly where all this confusion stems from.. and trying to treat such a "table" as an Oracle table using SQL.
    The correct terms are dynamic array (indexed by integer) or dynamic associative array (indexed by varchar). And an array is nothing like a table ito RDBMS processing.
    Yes, you can run SQLs against arrays. But it is "expensive". Why? Because the data sits inside PL/SQL Engine. Not in the SQL Engine. The data is in a PL/SQL defined structure. Not a SQL defined structure.
    So.. the data needs to be shipped from the PL/SQL Engine to the SQL Engine and converted into a format that the SQL Engine can understand and use.
    Also, once shipped and converted the SQL structure is not indexed. Which means that the only option is a full table scan of that structure.
    So you need to ask yourself why do you want to use SQL against a PL/SQL array? As soon as you do that, you are saying "Hey, this PL/SQL table ain't good enough and I need to process it using SQL".
    So why then does that data sit inside a PL/SQL array and not in a SQL table?
    Oracle provides you with the ability to create temporary session tables. These can be indexed. SQL can be run against them without all the "expenses" that are associated with running SQL against a PL/SQL array.
    PL/SQL arrays is a great tool. But only when it is the right tool to use. When someone says he/she needs SQL to use this tool, then I question the choice of the tool. Make sure you use the right tool for the job.

  • NLS issue in Java/PLSQL code [ using ROWID]

    I have NLS related question regarding the following scenario in Java/PLSQL code ::-
    OracleResultSet ors = (OracleResultSet) stmt.executeQuery("select rowId from t where t.col = 'XX'");
    // The above query could return multiple rowIds.
    String strVal1 = null;
    String strVal2 = null;
    if(ors.next())
    strVal1 = ors.getROWID(1).stringValue();
    if(ors.next())
    strVal2 = ors.getROWID(1).stringValue();
    ArrayList strList = new ArrayList();
    strList.add(strVal1);
    strList.add(strVal2);
    Now I need to pass a list of rowId's from Java to PLSQL function f().
    oracle.sql.ARRAY rowListArr = convertArrayListToRowPointerList(strList, conn) ;
    OracleCallableStatement cstmt = (OracleCallableStatement)
    cstmt.prepareCall("begin f(?); end;");
    cstmt.setObject(1, rowListArr);
    cstmt.execute();
    where:-
    static oracle.sql.ARRAY convertArrayListToRowPointerList(ArrayList arr, Connection conn)
    throws SQLException {
    oracle.sql.ArrayDescriptor stDesc = ArrayDescriptor.createDescriptor
    ("DBUSER.ROWPOINTERLIST", conn);
    oracle.sql.Datum[] keyVals= new oracle.sql.Datum[arr.size()];
    for(int i = 0; i < arr.size(); i++) {
    keyVals[i] = new oracle.sql.CHAR((String) arr.get(i),
    oracle.sql.CHAR.DEFAULT_CHARSET);
    oracle.sql.ARRAY keyArr = new oracle.sql.ARRAY(stDesc, conn, keyVals);
    return keyArr;
    and
    create or replace type DBUSER.ROWPOINTERLIST as table of varchar2(4000);
    Will there be NLS issues in the above code, where I pass the rowId content
    that I obtain from one query, as array of string bind variables to a subsequent PLSQL procedure? --- first approach
    Or
    do I need to pass the rowId list , as a array of oracle.sql.ROWID via bind variables? -- second approach
    The problem I have in second approach is that in the DB we cannot define a type as a table of ROWID's. So currently I have RowPointerList as a table of varchar2's (note the length of list of rowId is not predetermined in my case, so I user table instead of varray).
    However I was wondering if the first approach will have any NLS issues.
    Will appreciate your comments.
    Thanks

    ROWIDs are represented as either hex-encoded values or base64 encoded values. Both encodings use pure ASCII, so there should be no NLS issues.
    I am not very familiar with the oracle.sql.ARRAY type, but unless absolutely necessary, I would avoid the oracle.sql.CHAR datatype (assuming 10g drivers). Using java.lang.String is preferred.
    -- Sergiusz

  • Best to use in terms of tuning Global Temporary table or PLSQL Table type

    Hi All,
    which one is best to use in terms of tuning Global Temporary table or PLSQL table type?
    Thanks in Advance.
    Regards
    Deepika

    user8828028 wrote:
    which one is best to use in terms of tuning Global Temporary table or PLSQL table type?The answer to which one is better depends on the requirements - and an informed decision as to which one to use to address those requirements.
    Thus it is important to understand how these work. They are nothing alike.
    PL/SQL collections reside in the PGA. Can only be used in SQL via binding. Cannot be indexed. Temp tables on the other hand does not use expensive PGA. Does not need to be bind in SQL. Can be indexed. Etc.
    Sure, a (surgical) saw and scalpel are both used on the operating table - but for very different purposes.

  • PLSQL table Count giving NO_DATA_FOUND Error

    Hi Everyone,
    I am having a Associative array define below :
    TYPE SchQryRecTyp IS RECORD (
    load_port port_call.lcn_code%type
    , load_call port_call.call%type
    , dsch_port port_call.lcn_code%type
    , dsch_call port_call.call%type
    , vsl_code port_call.vsl_code%type
    , vsl_name vsl.vsl_name%type
    , voy_code port_call.voy_code%type
    , line_code port_call.line_code%type
    , etd port_call.etd%type
    , eta port_call.eta%type
    , transit_tm number
    , load_area_uid area_master_rly.area_uid%type
    , load_port_qry port_call.lcn_code%type
    , dsch_area_uid area_master_rly.area_uid%type
    , dsch_port_qry port_call.lcn_code%type
    , flag varchar2(4)
    , inact_flg varchar2(1)
    , final_or_doc_lock varchar2(1)
    TYPE SchQry_Tab_Typ IS TABLE OF SchQryRecTyp
    INDEX BY BINARY_INTEGER;
    1 ) Now in my code I am polulating the the PLSQL table SchQry_Tab_Typ and
    2) based on that PLSQL table data I am again trying to Fetch some other data.
    But I came accross a problem which i am mentioning below :
    When i am trying to perform the task (2) I am running a Loop i.e.
    IF vroute2.COUNT > 0 THEN
    FOR a IN 1..vroute2.COUNT LOOP
    -- dbms_output.put_line(vroute2(a).vsl_code); **--(But while accessing the value it is giving ORA-01403 - No Data Found )*
    END LOOP;
    END IF;
    But when i changed the loop like this
    IF vroute2.COUNT > 0 THEN
    FOR a IN vroute2.FIRST..vroute2.LAST LOOP
    -- dbms_output.put_line(vroute2(a).vsl_code); **--(Program executed successfully)*
    END LOOP;
    END IF;
    Can anybody help me if they have experienced such problem and the reason for this ?

    Wrong forum!
    Please mark this question ANSWERED and repost it in the SQL and PL/SQL forum.
    PL/SQL
    When you post provide your 4 digit Oracle version.

  • Will 8i allow plsql tables

    Will Oracle 8i allow the creation of nested plsql tables ?
    The tables are a collection type, below is an example:
    Type rec_type IS RECORD (NAME varchar2)
    rec rec_type;
    TYPE rec_table_type IS TABLE OF rec INDEX BY PLS_INTEGER;
    rec_table rec_table_type;
    "rec_table" is the nested plsql table I am trying to describe.
    Is this type of table allowed in Oracle 8i?

    http://download.oracle.com/docs/cd/A87860_01/doc/index.htm will get you to the documentaiton for 8.1.7
    The answer is in Chapter 4 "Collections and Records" of the PL/SQL User's Guide and Reference

  • PLSQL TABLE

    Hi
    How do i display values that are coming out plsql table which is being returned as a function. These values i want to display on sqlplus screen.
    cheers
    Prabhu

    This example should help you.
      1  declare
      2     type mytype is table of varchar2(1) index by binary_integer;
      3     mytable mytype;
      4     mytable2 mytype;
      5     function myfunc
      6     return mytype is
      7     begin
      8      select 'a' bulk collect into mytable
      9        from dual
    10        union select 'b' from dual;
    11        return mytable;
    12     end;
    13  begin
    14     mytable2 := myfunc;
    15     for i in mytable2.first..mytable2.last
    16     loop
    17        dbms_output.put_line(mytable2(i));
    18     end loop;
    19* end;
    SQL> /
    a
    b

  • Plsql table initialize

    hi,
    plz help regarding initializing a plsql table
    declare
    type numlist is table of integer;
    nums numlist;
    c varcar2(20) := '10,20,30'
    begin
    nums := numlist(c); --i want to use the variable here but it's showing error
    end;
    i need a method for this. the value is coming through a comma separated string.
    plz help me out.
    regards,
    akp

    AKP,
    Try this:
    declare
      type numlist is table of integer index by binary_integer;
      nums numlist;
      c varchar2(200) := '10, 20, 30';
      procedure comma_to_array (i_list in varchar2, o_array out numlist)
      is
        l_list varchar2(4000) := i_list;
        l_first_comma binary_integer;
        i binary_integer := 1;
      begin
        while length(l_list) > 0 loop
          l_first_comma := instr(l_list, ',');
          begin
            if l_first_comma > 0 then
              o_array(i) := to_number(substr(l_list, 1, l_first_comma-1));
            else
              o_array(i) := to_number(l_list);
              l_first_comma := length(l_list);
            end if;
          exception
            when others then
              -- Handle errors of number conversion here. For this example simply setting value to -1
              o_array(i) := -1;
          end;
          l_list := substr(l_list, l_first_comma+1);
          i := i + 1;
        end loop;     
      end comma_to_array;
    begin
      comma_to_array(c, nums);
      if nums.count > 0 then
        for i in nums.first .. nums.last
        loop
          dbms_output.put_line('num('||i||')='||nums(i));
        end loop;
      end if;
    end;I hope that helps.
    -Roger

  • Java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

    Hi,
    I am using Jdeveloper 11.1.1.5.
    When we are trying to create a new row in the table through EO, we have overrided the default Create method in EOImpl.
    protected void create(AttributeList attributeList) {
    DBTransaction trans = getDBTransaction();
    SequenceImpl seq = new SequenceImpl("CONTACT_INFO_ID_Q", trans);
    DBSequence dbSeq = new DBSequence(seq.getSequenceNumber());
    System.out.println("dbseq is "+dbSeq);
    this.setContactInformationId(new Long(dbSeq.toString()));
    super.create(attributeList);
    We are getting Index 1 size 1 error at the point where we are trying to set the key attribute (ContactInformationId) for this EO. We are setting this key attribute through a sequence. Detailed log shows:
    [2012-08-25T09:11:17.933-04:00] [DefaultServer] [TRACE:32] [] [] [tid: [ACTIVE].ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 284928cbeaee1f83:4f86d3a2:1395de4e125:-8000-0000000000000044,0] [SRC_CLASS: oracle.adf.model.binding.DCBindingContainer] [APP: Prism#V2.0] [SRC_METHOD: reportException] [23459] oracle.jbo.RowCreateException: JBO-25017: New entity row of type PhoneXEO cannot be created.[[
         at oracle.jbo.server.ViewRowStorage.processRowCreateExceptions(ViewRowStorage.java:3872)
         at oracle.jbo.server.ViewRowStorage.create(ViewRowStorage.java:1155)
         at oracle.jbo.server.ViewRowImpl.create(ViewRowImpl.java:472)
         at org.adr.prism.account.model.view.AccountPhoneVORowImpl.create(AccountPhoneVORowImpl.java:1264)
         at oracle.jbo.server.ViewRowImpl.callCreate(ViewRowImpl.java:489)
         at oracle.jbo.server.ViewObjectImpl.createInstance(ViewObjectImpl.java:5568)
         at oracle.jbo.server.QueryCollection.createRowWithEntities(QueryCollection.java:1937)
         at oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(ViewRowSetImpl.java:2458)
         at oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:2499)
         at oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:2480)
         at oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:10857)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1364)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2149)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:402)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:185)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
         at java.util.ArrayList.RangeCheck(ArrayList.java:547)
         at java.util.ArrayList.get(ArrayList.java:322)
         at oracle.jbo.server.QueryCollection.getRowInitValues(QueryCollection.java:1859)
         at oracle.jbo.server.ViewObjectImpl.createRowWithEntity(ViewObjectImpl.java:15132)
         at oracle.jbo.server.ViewObjectImpl.createNewRowInQC(ViewObjectImpl.java:15467)
         at oracle.jbo.server.ViewObjectImpl.afterRowUpdate(ViewObjectImpl.java:13573)
         at oracle.jbo.server.ViewObjectImpl.sourceChanged(ViewObjectImpl.java:13839)
         at oracle.jbo.server.EntityCache.sendEvent(EntityCache.java:1498)
         at oracle.jbo.server.EntityCache.deliverEntityEvent(EntityCache.java:1514)
         at oracle.jbo.server.EntityCache.notifyColumnAndBlgChange(EntityCache.java:1570)
         at oracle.jbo.server.EntityImpl.notifyAttributesChanged(EntityImpl.java:7384)
         at oracle.jbo.server.EntityImpl.notifyAttributesChanged(EntityImpl.java:7365)
         at oracle.jbo.server.EntityImpl.notifyAttributesAndBlgChanged(EntityImpl.java:7374)
         at oracle.jbo.server.EntityImpl.setAttributeValue(EntityImpl.java:3642)
         at oracle.jbo.server.AttributeDefImpl.set(AttributeDefImpl.java:3203)
         at oracle.jbo.server.EntityImpl.setAttributeInternal(EntityImpl.java:1971)
         at org.adr.prism.contact.model.entity.ContactInformationEOImpl.setContactInformationId(ContactInformationEOImpl.java:267)
    *     at org.adr.prism.contact.model.entity.ContactInformationEOImpl.create(ContactInformationEOImpl.java:521)*
    *     *at oracle.jbo.server.EntityImpl.callCreate(EntityImpl.java:1163)
         at oracle.jbo.server.ViewRowStorage.create(ViewRowStorage.java:1151)
         ... 81 more
    ## Detail 0 ##
    Thanks,
    Ankit Bhatia

    Can someone suggest me what can be done to fix this issue.
    When we are trying to create a new row in the table through EO, we have overrided the default Create method in EOImpl. We are getting this error only in a particular scenario. It is working fine for the other VOs created for this EO and also working for a particular scenario in the same VO.
    I would also like to mention if "Application module pooling" is turned off in AM configurations, it is working fine although it is bringing new errors. So turning this configuration off will not help and is also not an ideal solution.
    Will creating a seperate VO for this scenario be any help?

  • Fetching The more then One Company ID by using PLSQL Table on Block B1(FORM

    I have two blocks in Form (Forms 10g) .On the Block B2 I have populated the Company Id by using the PLSQL Table.Now I selected more than two company ID from that Block ...I just want to keep the Company ID in the Temp Field on the Block B1.which I have selected on the Block B2.Any idea how can I assign more then one Company ID to That Temp Field on B1.

    This doesn't appear to have any connection to JMS or indeed to Java. Wrong forum. Locking.

Maybe you are looking for

  • Brief random network outages

    Hi We have a networking issue that I hope someone may be able to help me with. We run a Windows domain - single domain, single subnet. Three domain controllers: Windows 2012 R2 Standard, Windows 2008 Standard (32bit) and Windows Server 2003 Standard.

  • InDesign upgrade from CS3

    I bought an InDesign upgrade from a major UK supplier with part number 65161132. Of the two InDesign upgrades available this is the expensive option. It is sold as the "InDesign CS3/CS4/CS5 upgrade." I bought it on Jan 1st and finally got it today as

  • Account ID ( email) not known when trying to set back the password

    I issued and installed an Adobe DRM Account long time ago, but I didn't use it up to now. Unfortunately I didn't notice the password. Therefore I tried to set back the password now. However then I will be informed that email is not valid. When I have

  • Version history and last modified did not show admin's modification?

    We just experienced an issue with a site page being (unintentionally) modified by an IT admin, and the page being messed up. My question is, somehow the the messed up page's "Modified" and "Modified By" in SharePoint does NOT show the name nor time t

  • Going from 10.4 to 10.6

    If I need to upgrade two computers, do I need to purchase the family version for more $$$ or will the install DVD work on both? Thanks!