Nested table issue.

Hi All,
my oracle version is
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE     11.1.0.6.0     Production
TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
i have created 2 types
lets say Typ_a , Typ_B
this 2 types used in Table_A
create table Table_A
RNo number,
Rname Varchar2(50),
Typ1 Typ_a,
Typ2 Typ_b
NESTED TABLE Typ1 STORE AS Typ_adata,
NESTED TABLE Typ2 STORE AS Typ_Bdata ;
Now i want to use same types in my other tables.
is it possible ??
i got following error
ORA-02320: failure in creating storage table for nested table column Typ1
ORA-22913: must specify table name for nested table column or attribute.

Yes. But you need to change the "segment" name where the data gets stored:
CREATE OR REPLACE TYPE Typ_a AS TABLE OF VARCHAR2(30);
CREATE OR REPLACE TYPE Typ_b AS TABLE OF NUMBER(2);
create table Table_A
RNo number,
Rname Varchar2(50),
Typ1 Typ_a,
Typ2 Typ_b
NESTED TABLE Typ1 STORE AS Typ_adata,
NESTED TABLE Typ2 STORE AS Typ_Bdata;
create table Table_B
RNo number,
Rname Varchar2(50),
Typ1 Typ_a,
Typ2 Typ_b
NESTED TABLE Typ1 STORE AS Typ_adata2,
NESTED TABLE Typ2 STORE AS Typ_Bdata2;
select * from user_segments where segment_name like 'TYP_%';
SEGMENT_NAME                                                                      SEGMENT_TYPE      
TYP_ADATA                                                                         NESTED TABLE      
TYP_ADATA2                                                                        NESTED TABLE      
TYP_BDATA                                                                         NESTED TABLE      
TYP_BDATA2                                                                        NESTED TABLE       -- andy

Similar Messages

  • I've got a nested table issue..

    Okay, first off: in Oracle 9i is there an option to nest a table inside a nested table? I got the impression it is an option; & I'd like further info on this.
    ..& on to the issue I've got: I've got one nested table object that I've identified in the following way:
    Create Type InnerNestedTable_ty as Object (
    ID Number(10),
    InnerNestedTableField Number(10)
    Create Type InnerNestedTable_tab as Table of InnerNestedTable_ty;
    If I were only going to nest this inside of one outer table, I'd input the following (I guess):
    Create Table Info (
    ID Number(10),
    OuterTableField InnerNestedTable_tab
    Nested Table OuterTableField Store as InnerNestedTable_ntab;
    Only thing is I'd like to nest this inside a nested table, in a field of an outer table (i.e., I'm going for a nested nested table, in other words). I guess I need the code to input in order for this to occur. For example, the outer table would be called OuterTable, the field would be OuterTableField. In that field I'd like a nested table [OuterNestedTable_ty, OuterNestedTable_tab] with the fields ID & OuterNestedTableField. The OuterNestedTableField field is to be a nested table itself [InnerNestedTable_ty, InnerNestedTable_tab]. I've got the latter, but no idea Long postings are being truncated to ~1 kB at this time.

    Noel,
    You can check out examples in the online doc at http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96594/adobjbas.htm#462243.
    Regards,
    Geoff

  • Issues with Nested Tables and Adobe Designer

    Hi,
    I have some strange issues when I am trying to create a nested dynamic table with SAP DATA in Adobe Designer.
    My Outer Table has article items and in this table I got a nested charges. For instance the table contains this data:
    DATA
    |->Article1
    |--->charge111
    |--->charge211
    |
    |->Article2
    |--->charge122
    |--->charge222
    Now I am trying to display the data in a Adobe Designer table. But if I create a table with a row article and a repeating row charge all charges will be displayed under the first Article.
    This is the result:
    DATA
    |->Article1
    |--->charge111
    |--->charge211
    |--->charge122
    |--->charge222
    |
    |->Article2
    How can I solve this issue? I tried to select data binding on charges like article.DATA.charges.DATA[*] but this don't work.
    Anyone an idea?

    Alex,
    Is it print based form or interactvie form.
    ABAP
    If it is printbased form and if you are designing from SFP, you can use the following solution.
    You have to create a nested table in the context as below.
    say Table1-> Article ( fields: ARTICLENAME,....other fields) info Table2->cost info(fields:ARTICLENAME,Charge...,other fields).
    The 2 tables should contains data as beow.
    Table1 data.
    1row->Article1  -.....other values.
    2row->Article2  -.....other values.
    3row->Article3  -.....other values.
    Table2 data.
    1row->Article1  -Charge11 .....other values.
    2row->Article1  -Charge12 .....other values.
    3row->Article1  -Charge13 .....other values.
    4row->Article2  -Charge21 .....other values.
    5row->Article2  -Charge22 .....other values.
    6row->Article2  -Charge23 .....other values.
    7row->Article3  -Charge31 .....other values.
    8row->Article3  -Charge32 .....other values.
    9row->Article3  -Charge33 .....other values.
    In the context drag table2 into the table1 and define where clause on ARTICLENAME.
    In the layout drag nested table in the body page and make alignments.
    If your requirement is interactive, may be you can use the similar logic.

  • Issue with Mulidimensional Nested Table

    Hi All,
    I am studing Multidimensional Nested table and have the below code:
    DECLARE
      TYPE table_type1 IS TABLE OF INTEGER;
      TYPE table_type2 IS TABLE OF TABLE_TYPE1;
      table_tab1 table_type1 := table_type1();
      table_tab2 table_type2 := table_type2(table_tab1);
    BEGIN
      FOR i IN 1 .. 2
      LOOP
        table_tab2.extend;
        table_tab2(i) := table_type1();
        FOR j IN 1 .. 3
        LOOP
          IF i = 1
          THEN
            table_tab1.extend;
            table_tab1(j) := j;
          ELSE
            table_tab1.extend;
            table_tab1(j) := 4 - j;
          END IF;
            table_tab2.extend;
          table_tab2(i)(j) := table_tab1(j);
          DBMS_OUTPUT.PUT_LINE('table_tab2(' || i || ')(' || j || '): ' ||
                               table_tab2(i) (j));
        END LOOP;
      END LOOP;
    exception
      when others then
        dbms_output.put_line(sqlerrm);
    END;
    This code is working fine as of now.But,If i comment below code(table_tab2 is also extended latter):
    table_tab2.extend; 
        table_tab2(i) := table_type1();
    then it gives me error 'Subscription Beyond count'.
    I would like to know why i need to extend table_tab2 twice?
    Thanks!

    This code is working fine as of now
    No, it isn't. Make sure you have serveroutput on. If you do, you get this as script output (I am using SQL Developer):
    anonymous block completed
    ...meaning no exception was raised to client, because you trapped it, but the DBMS Output window gives:
    ORA-06533: Subscript beyond count
    ...with no indication of which line, because you suppressed it (why?). If you drop the worse than useless exception handler, you get:
    ORA-06533: Subscript beyond count
    ORA-06512: at line 22
    06533. 00000 -  "Subscript beyond count"
    *Cause:    An in-limit subscript was greater than the count of a varray
               or too large for a nested table.
    *Action:   Check the program logic and explicitly extend if necessary.
    A bit more helpful, yes? and with less code. Here is a revised block that writes the loop variable product to the nested array, with its output, initialising and extending correctly:
    DECLARE
      TYPE table_type1 IS   TABLE OF INTEGER;
      TYPE table_type2 IS   TABLE OF table_type1;
      table_tab1            table_type1;
      table_tab2            table_type2 := table_type2();
    BEGIN
      FOR i IN 1..2 LOOP
        table_tab1 := table_type1();
        FOR j IN 1..3 LOOP
          table_tab1.extend;
          table_tab1(j) := i * j;
        END LOOP;
        table_tab2.extend;
        table_tab2(i) := table_tab1;
      END LOOP;
      FOR i IN 1..table_tab2.COUNT LOOP
        FOR j IN 1..table_tab2(i).COUNT LOOP
          DBMS_OUTPUT.PUT_LINE('Row ' || i || ' element ' || j || ' = ' || table_tab2(i)(j));
        END LOOP;
      END LOOP;
    END;
    Row 1 element 1 = 1
    Row 1 element 2 = 2
    Row 1 element 3 = 3
    Row 2 element 1 = 2
    Row 2 element 2 = 4
    Row 2 element 3 = 6
    You could alternatively dispense with table_tab1 if you prefer, and write directly each element.

  • Nested tables in RTF templates

    Hi,
    I've developed several templates including nested tables(to display parent/child transactions together in a single column group, displaying all the detail transactions but the parent only once), in PDF output this looks fine. However the users want all their output in Excel, this same layout is not picked up by Excel(all column headers for the data in the nested table move to the right, while all the data in the nested table is grouped under a 'merged cell' column header). Output of BI Publisher reports in Excel is generally terrible with a template designed for publishing in PDF, usually I can solve this with a lot of tweaking but haven't found a solution for this issue yet. Has anyone else run into this formatting issue and may have a tip to solve this?
    Regards,
    Arthur

    Hi,
    You need to declare a TYPE object as and then use it in the table structure.
    CREATE TYPE type_emp IS TABLE OF VARCHAR2(15);
    CREATE TABLE Biscuits Company SA
    (company_name COMPANY NOT NULL,
    Company_Owner VARCHAR2(20) NOT NULL)
    NESTED TABLE staff_tab STORE AS type_emp;
    Please see the link for more info.
    http://www.developer.com/db/article.php/10920_3379271_3
    Thanks

  • Page break on nested table

    Hi,
    I am getting blank page because of page break after nested table.
    When page is full with the records then because of nested table, it added one space after that.
    Has anyone faced this issue before?
    Thanks

    Hi,
    Upload the .rtf template and XML sample so we can see your issue.
    Also I recommend you to review our page-break document:
    http://docs.oracle.com/cd/E28280_01/bi.1111/e22254/create_rtf_tmpl.htm#BIPRD2457
    Regards,
    Liviu

  • Problem in creating a nested table

    Hi i am working on Oracle 10g and cleint is sqlplus.
    Now while creating a nested table following error occured.
    This is the script for your reference.:
    CREATE OR REPLACE TYPE sec_pwd_hist_table
    AS
    TABLE OF sec_pwd_history_type
    index by binary_integer
    Warning: Type created with compilation errors.
    SQL> show error
    Errors for TYPE SEC_PWD_HIST_TABLE:
    LINE/COL ERROR
    0/0      PL/SQL: Compilation unit analysis terminated
    3/1      PLS-00355: use of pl/sql table not allowed in this context
    Please help on this issue
    Regards,
    Vikas Kumar

    > but i want to know just one thing why its working when i am removing "INDEX BY binaty_integer"
    Vikas, I trust I answered that question when I said? :
    "Do not confuse the two. Do not attempt to use PL/SQL array struct definition syntax in the SQL engine for defining an ADT collection. Which is why I referred you to the manual to see how an ADT is defined in SQL."
    In other words, you are trying to apply a PL/SQL concept and PL/SQL syntax to a definition of a data type in SQL.
    SQL is not PL/SQL.
    SQL ADTs are not PL/SQL arrays/tables.
    It is not even a syntax issue - it is a basic concept issue. SQL does not support PL/SQL arrays/tables. Period.

  • Inserting data with the help of nested table...!!!

    The following block is giving error
    ORA-06502: PL/SQL: numeric or value error
    the signature and signature_bkp have the same structure
    So, can anybody help me out to solve this issue :
    for copying records from one table to another table
    Thanking You advancely
    DECLARE
    CURSOR c1
    IS
    SELECT *
    FROM signature
    WHERE creation_time > TRUNC ( SYSDATE ) - 100
    AND ROWNUM < 102;
    TYPE sig_typ IS TABLE OF signature%ROWTYPE;
    sig_t sig_typ;
    BEGIN
    OPEN c1;
    FETCH c1
    BULK COLLECT INTO sig_t;
    CLOSE c1;
    FORALL i IN sig_t.FIRST .. sig_t.LAST
    INSERT INTO signature_bkp
    VALUES sig_t ( i );
    COMMIT;
    END;
    --DKar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Or whether a INSERT statement with SELECT clause will do that for youby using this technique, it took 47:08:45 to copy 7252 rows
    and by using a cursor for loop took 49:03:23 to copy 13567 rows
    So there was appox. 40% increase in performance by using pl/sql. I thought it could be even faster using the bulk-bind ing features and nested tables.
    OR i just want to know ....how to correct the block of code that was given in my 1st msg without changing its logic.
    Thanks
    --DKar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • MERGE using nested table doesn't work on Oracle 9i

    Hi,
    Oracle 9i Enterprise Edition Release 9.2.0.4.0 on Red hat Linux
    SQL> create table PERSONS (
      2    ID  number(9)
      3   ,SURNAME  varchar2(50)
      4   ,constraint PERSONS_PK primary key (ID)
      5  );
    Table created.
    SQL> create or replace type T_NUMBER_ARRAY as table of number;
      2  /
    Type created.
    SQL> create or replace procedure P_MRGTS2 (P_ID  PERSONS.ID%type)
      2  is
      3    L_IDS  T_NUMBER_ARRAY;
      4  begin
      5    L_IDS := T_NUMBER_ARRAY(P_ID);
      6    merge into PERSONS P using (select * from table(L_IDS)) D on (
      7      P.ID = D.COLUMN_VALUE
      8    )
      9    when matched then update
    10      set SURNAME = 'Updated'
    11    when not matched then
    12      insert (
    13        ID
    14       ,SURNAME
    15      )
    16      values (
    17        D.COLUMN_VALUE
    18       ,'Inserted'
    19      );
    20  end;
    21  /
    Procedure created.
    SQL> exec P_MRGTS2(1)
    BEGIN P_MRGTS2(1,'Avi'); END;
    ERROR at line 1:
    ORA-22905: cannot access rows from a non-nested table item
    ORA-06512: at "OPS$AABRAMI.P_MRGTS2", line 9
    ORA-06512: at line 1However, the same code on Oracle 10g Release 10.2.0.1.0 on SUN Solaris 9 works.
    Is there any way to make it work on Oracle 9i?
    One way I found is the following:
    procedure P_MRGTST (P_ID  PERSONS.ID%type)
    is
      L_IDS  T_NUMBER_ARRAY;
    begin
      L_IDS := T_NUMBER_ARRAY(P_ID);
      forall I in L_IDS.first..L_IDS.last
        merge into PERSONS P using DUAL D on (
          P.ID = L_IDS(I)
        when matched then update
          set SURNAME = 'Updated'
        when not matched then
          insert (
            ID
           ,SURNAME
          values (
            L_IDS(I)
           ,'Inserted'
    end;On Oracle 10g there is negligible difference in time taken to execute both procedures, as displayed in SQL*Plus when issuing:
    set timing onIs there something that makes one of the procedures preferrable over the other?
    Thanks,
    Avi.

    Is there any way to make it work on Oracle 9i?
    michaels>  select * from v$version
    BANNER                                                         
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    PL/SQL Release 9.2.0.8.0 - Production                          
    CORE     9.2.0.8.0     Production                                      
    TNS for HPUX: Version 9.2.0.8.0 - Production                   
    NLSRTL Version 9.2.0.8.0 - Production                          
    michaels>  create table persons (
        id  number(9)
           ,surname  varchar2(50)
              ,constraint persons_pk primary key (id)    )
    Table created.
    michaels>  create or replace type t_number_array as table of number;
    Type created.
    michaels>  create or replace procedure p_mrgts2 (p_id persons.id%type)
    is
       l_ids   t_number_array;
    begin
       l_ids := t_number_array (p_id);
       merge into persons p
          using (select * from table (cast (l_ids as t_number_array))) d
          on (p.id = d.column_value)
          when matched then
             update set surname = 'Updated'
          when not matched then
             insert (id, surname) values (d.column_value, 'Inserted');
    end p_mrgts2;
    Procedure created.
    michaels>  exec p_mrgts2(1)
    PL/SQL procedure successfully completed.
    michaels>  select * from persons
            ID SURNAME                                          
             1 Inserted                                         
    1 row selected.

  • Nested table collection in select query "in clause" taking long time

    create or replace type t_circuitids is table of varchar2(100);
    --Below anonymous block keeps on running and never ends
    DECLARE
       v_circuitid    t_circuitids;
       v_count number;
       l_circuitids   VARCHAR2 (4000)
          := 'value1,value2,value3,value4,value5';
    BEGIN
    --Below query converts comma concatinated output to list and stores in nested table collection v_circuitids
       WITH a AS
            (SELECT ',' || l_circuitids || ',' AS circuitid
               FROM DUAL)
       SELECT DISTINCT TRIM (SUBSTR (circuitid,
                                     INSTR (circuitid, ',', 1, LEVEL) + 1,
                                       INSTR (circuitid, ',', 1, LEVEL + 1)
                                     - INSTR (circuitid, ',', 1, LEVEL)
                                     - 1
                            ) cid
       BULK COLLECT INTO v_circuitid
                  FROM a
            CONNECT BY LEVEL <
                             LENGTH (circuitid)
                             - LENGTH (REPLACE (circuitid, ','));
       SELECT COUNT (1)
         INTO v_count
         FROM table
        WHERE name IN (SELECT COLUMN_VALUE
                                          FROM TABLE (v_circuitid));
    END;
    --I got the issue, query "SELECT COLUMN_VALUE FROM TABLE (v_circuitid)" which is used in above code is responsible for this.
    --Same code works fine in Development and Test environments, But in prod it keeps on running
    --I solved this issue by creating a temp table, loading all values in collection into the temp table and using that temp table in "in clause"    "
    --Can any one answer why its behaving like this when i use collection in where clause?
    --I am using Oracle 9i

    Below is the code i used
    DECLARE
       v_circuitid    t_circuitids;
       v_count number;
       l_circuitids   VARCHAR2 (4000)
          := 'value1,value2,value3,value4,value5';
    BEGIN
    --Below query converts comma concatinated output to list and stores in nested table collection v_circuitids
       WITH a AS
            (SELECT ',' || l_circuitids || ',' AS circuitid
               FROM DUAL)
       SELECT DISTINCT TRIM (SUBSTR (circuitid,
                                     INSTR (circuitid, ',', 1, LEVEL) + 1,
                                       INSTR (circuitid, ',', 1, LEVEL + 1)
                                     - INSTR (circuitid, ',', 1, LEVEL)
                                     - 1
                            ) cid
       BULK COLLECT INTO v_circuitid
                  FROM a
            CONNECT BY LEVEL <
                             LENGTH (circuitid)
                             - LENGTH (REPLACE (circuitid, ','));
       SELECT COUNT (1)
         INTO v_count
         FROM table
        WHERE name IN (SELECT COLUMN_VALUE
                                          FROM TABLE (ccard(v_circuitid)));
    END;
    And got below error
    ORA-06550: line 27, column 5:
    PL/SQL: ORA-00906: missing left parenthesis
    ORA-06550: line 24, column 4:
    PL/SQL: SQL Statement ignored

  • Display Item texts in Purchase Order items layout as nested table

    Hi to all,
    my issue is the following: I have to display on a form (using transaction SFP) Purcahse Order items and their texts. I built a context in which I put item texts table as a nested table of items table. I followed example "FP_TEST_NESTED_TABLE" in SE38 but I can't diplay item texts under item row. I try to explain: I want my output similar to the following
    Order  Item   |   Quantity  |    Price Uom |  Unit Price
    00010                2500              ST                0.30
                                                                 | This is first row of item texts for item 00010
                                                                 | This is second row of item texts for item 00010
                                                                 | This is third row of item texts for item 00010
                                                                 | This is ..........
                                                                 | ........
    00020                234              ST                0.80
                                                                 | This is first row of item texts for item 00020
                                                                 | This is second row of item texts for item 00020
                                                                 | This is third row of item texts for item 00020
                                                                 | This is ..........
                                                                 | ........
    Any suggestion? please?
    thank you very miuch
    Enrico

    Hi Enrico,
    I have worked on a similar requirement. I have created the whole fields including the item text in a single internal table
    Following was my approach
    I have distinguished the Table body content into two subforms which will be wrapped into one main subform ( representing table body say sub_body). Whose property is set to flowed ( With West Text  property) and repeat each item
    1. Enclose the table columns into subform say sub1, set its propert to flowed with west text property. Alighnment of the columns embaed in Sub1 should be made by adjusting its width and spacing .
    2. Enclose the Corresponding item text ( Which will be one of the colums of the internal tabel mapped ) into Sub2.
    As far as standard text display is concerned which can be displayed in two ways as explained in one of my earlier posts.
    Re: Adobe forms ..Table passing to Form and Display
    Hope this helps,
    Regards,
    Murthy

  • Nested Table: How to display formatted text in the form ?

    Hi,
    Scenario:
    I have a nested table, say TAB1, containing another table TAB2 which holds the formatted text.
    Sample data
    Entries in TAB1:
    Column1       Column2(TAB2)
    Text1         Data_from_tab2
    Text2         Data_from_tab2
    Text3         Data_from_tab2
    Requirement:
    The requirement is to display the data in TAB1 as it is maintained.
    Trials:
    I am aware of the fact that we can transfer the content of the nested table (in this scenario, TAB2) in another table(of type TLINE) defined as a global variable in the interface of the form. Then in the context area, we can define a 'TEXT' node and bind it to the table and choose the 'Dynamic text' for the 'text type' attribute and maintain the other atrributes.
    But this approach cannot solve the issue as it is a nested table.
    Kindly suggest how can I resolve this issue.
    Regards
    s@k

    Hi,
    if its like colum1, column2 (tab2).
    you can represent column2 as a nested table in the form. and put these tables structure intoa subform of type flowed.
    then you can have the required format.
    the same can also be acheived using nested subforms instead of tables.
    example of such scenario is PO & line items.
    po number1 , items 1
                          item 2
                          item 3
    po number2 , items 1
                          item 2
                          item 3
    hope this helps you.
    Cheers,
    Sai

  • Resolve node with two nodes (nested tables)

    Hello,
    I want to hide a field depending of the value of another field of the same line. the issue is that the line is from a nested table.
    here is the code :
    var nodList = xfa.resolveNodes("xfa.record.LISTE_POSTES_TRAVAIL.DATA[].LISTE_CARAC.DATA[].CARAC");
    I want to get the value of "carac" field in table LISTE_CARAC_DATA.
    So when I display this :
    xfa.host.messageBox(""+nodList.item(this.parent.index).value);
    I always see the values of the table LISTE_CARAC_DATA for the first line of LISTE_POSTES_TRAVAIL.
    Could you help me ?
    Thank you.

    No Otto you won't make me rebuild my form
    I think I just get what is wrong, the value of this.index is always 0, that explain why sometimes it works, and sometimes not.
    Maybe I just need to put a counter in my table. I will do that if I don't find a javscript solution.
    Anyway, thanks a lot Otto for your time and very helpful advice.
    This is the code if it can help someone :
    var nodTry = xfa.resolveNodes("$.parent.parent.parent.POSTE[*].multiple_resultat.RESULTAT_T1");
    //The nodtry is complex because of all the subforms.
    var selection = $.boundItem(xfa.event.newText);
    if ( this.CARAC.rawValue == "LISTERIA" )
         if ( selection == "YES" )
    //COMPTEUR is the index that I created (I add a columns in my table and filled it in the ABAP program).
    // I don't need to do "+1" because index started at 0 in adobe form.
         nodTry.item(this.COMPTEUR.rawValue).mandatory = "error";
         nodTry.item(this.COMPTEUR.rawValue).access = "open";
         nodTry.item(this.COMPTEUR.rawValue).fillColor = "255,255,255";
         else if ( selection != "YES" )
         nodTry.item(this.COMPTEUR.rawValue).mandatory = "disabled";
         nodTry.item(this.COMPTEUR.rawValue).access = "readOnly";
         nodTry.item(this.COMPTEUR.rawValue).fillColor = "230,230,230";
         nodTry.item(this.COMPTEUR.rawValue).rawValue = "";
    Edited by: Louis-Arnaud Bouquin on Feb 9, 2010 11:39 AM

  • Data pump import error with nested tables

    So the problem is somewhat long :)
    Actually the problems are two - why and how oracle are treating OO concept and why data pump doesn't work?
    So scenario for the 1st one:
    1) there is object type h1 and table of h1
    2) there is unrelated object type row_text and table of row_text
    3) there is object type h2 under h1 with attribute as table of row_text
    4) there is table tab1 with column b with data type as table of h1. Of course column b is stored as nested table.
    So how do you think - how many nested tables Oracle will create? The correct answer is 2. One explicitly defined and one hidden with system
    generated name for the type h2 which is under type h1. So the question is WHY? Why if I create an instance of supertype Oracle tries to adapt
    it for the subtype as well? Even more if I create another subtype h3 under h1 another hidden nested table appears.
    This was the first part.
    The second part is - if I do schema export and try to import it in another schema I got error saying that oracle failed to create storage table for
    nested table column b. So the second question is - if Oracle has created such a mess with hidden nested tables how to import/export to another
    schema?
    Ok and here is test case to demonstrate problems above:
    -- creating type h1 and table of it
    SQL> create or replace type h1 as object (a number)
      2  not final;
      3  /
    Type created.
    SQL> create or replace type tbl_h1 as table of h1;
      2  /
    Type created.
    -- creating type row_text and table of it
    SQL> create or replace type row_text as object (
      2    txt varchar2(100))
      3  not final;
      4  /
    Type created.
    SQL> create or replace type tbl_row_text as table of row_text;
      2  /
    Type created.
    -- creating type h2 as subtype of h1
    SQL> create or replace type h2 under h1 (some_texts tbl_row_text);
      2  /
    Type created.
    SQL> create table tab1 (a number, b tbl_h1)
      2  nested table b
      3  store as tab1_nested;
    Table created.
    -- so we have 2 nested tables now
    SQL> select table_name, parent_table_name, parent_table_column
      2  from user_nested_tables;
    TABLE_NAME                     PARENT_TABLE_NAME
    PARENT_TABLE_COLUMN
    SYSNTfsl/+pzu3+jgQAB/AQB27g==  TAB1_NESTED
    TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H2")."SOME_TEXTS"
    TAB1_NESTED                    TAB1
    B
    -- another subtype of t1
    SQL> create or replace type h3 under h1 (some_texts tbl_row_text);
      2  /
    Type created.
    -- plus another nested table
    SQL> select table_name, parent_table_name, parent_table_column
      2  from user_nested_tables;
    TABLE_NAME                     PARENT_TABLE_NAME
    PARENT_TABLE_COLUMN
    SYSNTfsl/+pzu3+jgQAB/AQB27g==  TAB1_NESTED
    TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H2")."SOME_TEXTS"
    SYSNTfsl/+pz03+jgQAB/AQB27g==  TAB1_NESTED
    TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H3")."SOME_TEXTS"
    TAB1_NESTED                    TAB1
    B
    SQL> desc "SYSNTfsl/+pzu3+jgQAB/AQB27g=="
    Name                                      Null?    Type
    TXT                                                VARCHAR2(100)OK let it be and now I'm trying to export and import in another schema:
    [oracle@xxx]$ expdp gints/xxx@xxx directory=xxx dumpfile=gints.dmp logfile=gints.log
    Export: Release 11.2.0.1.0 - Production on Thu Feb 4 22:32:48 2010
    <irrelevant rows skipped>
    Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    . . exported "GINTS"."TAB1"                                  0 KB       0 rows
    . . exported "GINTS"."SYSNTfsl/+pz03+jgQAB/AQB27g=="         0 KB       0 rows
    . . exported "GINTS"."TAB1_NESTED"                           0 KB       0 rows
    . . exported "GINTS"."SYSNTfsl/+pzu3+jgQAB/AQB27g=="         0 KB       0 rows
    Master table "GINTS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
    ******************************************************************************And now import. In order to create types transformation of OIDs is applied and also remap_schema
    Although it fails to create the table.
    [oracle@xxx]$ impdp gints1/xxx@xxx directory=xxx dumpfile=gints.dmp logfile=gints_imp.log remap_schema=gints:gints1 transform=OID:n
    Import: Release 11.2.0.1.0 - Production on Thu Feb 4 22:41:48 2010
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Connected to: Oracle Database 11g Release 11.2.0.1.0 - Production
    Master table "GINTS1"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
    Starting "GINTS1"."SYS_IMPORT_FULL_01":  gints1/********@xxx directory=xxx dumpfile=gints.dmp logfile=gints_imp.log remap_schema=gints:gints1 transform=OID:n
    Processing object type SCHEMA_EXPORT/USER
    ORA-31684: Object type USER:"GINTS1" already exists
    Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
    Processing object type SCHEMA_EXPORT/ROLE_GRANT
    Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
    Processing object type SCHEMA_EXPORT/TABLE/TABLE
    ORA-39083: Object type TABLE:"GINTS1"."TAB1" failed to create with error:
    ORA-02320: failure in creating storage table for nested table column B
    ORA-00904: : invalid identifier
    Failing sql is:
    CREATE TABLE "GINTS1"."TAB1" ("A" NUMBER, "B" "GINTS1"."TBL_H1" ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    ORA-39083: Object type INDEX_STATISTICS failed to create with error:
    ORA-01403: no data found
    ORA-01403: no data found
    Failing sql is:
    DECLARE I_N VARCHAR2(60);   I_O VARCHAR2(60);   c DBMS_METADATA.T_VAR_COLL;   df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; BEGIN  DELETE FROM "SYS"."IMPDP_STATS";   c(1) :=   DBMS_METADATA.GET_STAT_COLNAME('GINTS1','TAB1_NESTED',NULL,'TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H2")."SOME_TEXTS"',1);  DBMS_METADATA.GET_STAT_INDNAME('GINTS1','TAB1_NESTED',c,1,i_o,i_n);   INSERT INTO "
    ORA-39083: Object type INDEX_STATISTICS failed to create with error:
    ORA-01403: no data found
    ORA-01403: no data found
    Failing sql is:
    DECLARE I_N VARCHAR2(60);   I_O VARCHAR2(60);   c DBMS_METADATA.T_VAR_COLL;   df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; BEGIN  DELETE FROM "SYS"."IMPDP_STATS";   c(1) :=   DBMS_METADATA.GET_STAT_COLNAME('GINTS1','TAB1_NESTED',NULL,'TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H3")."SOME_TEXTS"',1);  DBMS_METADATA.GET_STAT_INDNAME('GINTS1','TAB1_NESTED',c,1,i_o,i_n);   INSERT INTO "
    Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    Job "GINTS1"."SYS_IMPORT_FULL_01" completed with 4 error(s) at 22:41:52So any idea how to make export/import of such tables?
    TIA
    Gints

    Tom Kyte has said it repeatedly ... I will repeat it here for you.
    The fact that Oracle allows you to build object tables is not an indication that you should.
    Store your data relationally and build object_views on top of them.
    http://www.morganslibrary.org/reference/object_views.html
    If you model properly, and store properly, you don' have any issues.

  • Possible bug? Nested tables and quantity fields in the nested table.

    Hey guys,
    I have witnessed a weird bug, maybe someone can clarify this for me.
    1. Create a nested table. The inner table contains a quantity field of type DZIEME (FROM VBAP-ZIEME).
    2. Create your interface and just put this table in the import section. Try to activate. It will work.
    3. Create an adobe form for it and a program and execute it. You'll get a short dump saying that VBAP-ZIEME is unknown and that there are errors in the dynamically generated function.
    Second test.
    1. Create a nested table. The outer table contains a quantity field of type DZIEME (FROM VBAP-ZIEME).
    2. Create your interface and just put this table in the import section. Try to activate. It will NOT work.
    You have to make the addition of the quantity fields in Currency/Quantity Fields.
    From this I see that the checker, doesn't look into nested tables for quantity/currency fields and just activates the interface.
    Third test
    1. Create a nested table. The inner table contains a quantity field of type DZIEME (FROM VBAP-ZIEME).
    2. Create your interface:
    2.a. Put this table in the import section.
    2.b. Declare the nested Quantity field in the Currency/Quantity Fields section, using the autofiller (the buttons to the right of the field)
    2.c Try to activate. It will work.
    3. Create an adobe form for it and a program and execute it. You'll get a short dump which for some reason has no info.
    From this, I understand that the Currency/Quantity Fields section may not declare the quantity fields, from nested tables, correctly.
    What do you guys think? What am I doing wrong?
    Thanks,

    @Anne Kathrine P...
    By nested tables I mean creating table types, in the dictionary (se11) then in the interface>Import section adding a parameter X TYPE B_T.
    i.e.
    Structure A
    Table type of structure A, A_T
    Structure B containing a field of table type A
    Table type B of structure B, B_T.
    The issue can be easily solved for Z tables by changing the component type from quantity to decimal type.

Maybe you are looking for

  • Screen cutting to black

    Hi, recently my iphone screen has been cutting to black at random, for example if i open photos, snapchats, videos, facebook the screen with just shut off but the backlight will still be on and im having to press the lock button to lock it then again

  • ALV Edit Checkbox is giving entire grid color changes

    Dear Members, I am Using ALV grid controller, I need a checkbox on the grid, When I used following code       WHEN 'CHK'.         MOVE 'Status'(027) TO:         FS_FIELDCAT-REPTEXT_DDIC,         FS_FIELDCAT-SELTEXT_L,         FS_FIELDCAT-SELTEXT_M,  

  • Where i can give material code to valuation type-capital

    Hi gurus,           When i am doing purchase order,error was give valuation type -capital to matreial code,so where i will give,which trasaction code,it is very urgent.

  • Audio runs slow!

    Hi i just installed a new board, and updated existing OS with drivers, and now the audio runs at what sounds like half speed. Is there a bios setting I need to tweak, or am I going to have to reinstall the Hard Drive? Intel P4 3.06 533 MHz processor

  • Workin with threads

    Hello all! I am writing a project that works with nlp(natural language parser),I am using the stanford parser. I create a thread pool that takes sentances and run the parser with them. when I create one thread its all works fine but when I create mor