Nested tables causes trouble in RoboHelp FM Import

May be someone here in this forum knows a solution or a workaround for my trouble with a FrameMaker Import in RoboHelp.
Background:
To generate context sensitive Windows HTML-Help a FrameMaker document is imported into RoboHelp.
There are lots of nested tables (a table cell contains an anchored frame with a text frame and inside of this text frame is a table).
Problem:
RoboHelplets all occurrences of these nested tables empty.
It seems that RoboHelp converts anchored frames into JPG and expects certain formats inside these frames only.
There are lots of empty (white) JPG files in the RoboHelp project.
Anchored frames with:
text frames with text inside
text appears
text frames with text and table inside
text appears, table appears NOT
Question:
Is there a workaround in FM to overcome this "absent feature" in RoboHelp.
We use TSC 2 on Windows XP SP3.
Thanks
Norbert

42,
It would be a little more productive if you mentioned the rev levels that you're using....
Depending on the content of the second level of cells (Just sub-divided cells? Discrete table titles? Contrasting formatting? Other stuff?), I'd think about faking it by creating a larger parent table and custom ruling/shading the pseudo-nested tables. And I'd definitely go that way if you have a lot of them and RH is a firm part of your workflow.
It may also be worth downloading the free eval of MIF2Go and seeing if that handles the nesting any better.
And finally, one long shot to try... what happens if you nest the tables in Word, then copy them into Frame as RTF (Special Copy)?
But don't hold your breath... the programs are, after all, created by engineers and they may not push the envelope in test cases as far as writers do. ;-  )  For instance, I'd wonder if the RH coders are aware that you can nest tables in FM this way? It wouldn't come up too often.
You may also want to visit the Tech Comm Suite Users Group (http://groups.google.com/group/TCS-Users?hl=en) and post there. I don't think there would be a different answer, but...
Art

Similar Messages

  • Import tables with nested table : ORA-00600

    In Oracle 9.2
    Create object, type as table, and table with nested table (store as syms_ntab) are successfully.
    Also its export.
    In process of import on another server (also 9.2, 'fromuser=one touser=two') shows errors:
    . . importing table "SYMS_NTAB"
    IMP-00058: ORACLE error 600 encountered
    ORA-00600: internal error code, arguments: [kokeeafi1], [2], [2], [], [], [], [], []
    IMP-00075: Warning: The nested table may contain partial rows or duplicate rows
    But for all that table is created and error occur on phase inserting strings.
    What is this?
    In Oracle 8.0.5 i perform similar operation without error.

    From Oracle error messages and codes manual:
    ORA-00600 internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
    Cause: This is the generic internal error number for Oracle program exceptions. It indicates that a process has encountered a low-level, unexpected condition. Causes of this message include:
    * timeouts
    * file corruption
    * failed data checks in memory
    * hardware, memory, or I/O errors
    * incorrectly restored files
    The first argument is the internal message number. Other arguments are various numbers, names, and character strings. The numbers may change meanings between different versions of Oracle.
    Action: Report this error to Oracle Support Services after gathering the following information:
    * events that led up to the error
    * the operations that were attempted that led to the error
    * the conditions of the operating system and databases at the time of the error
    * any unusual circumstances that occurred before receiving the ORA-00600 message
    * contents of any trace files generated by the error
    * the relevant portions of the Alter files
    Note: The cause of this message may manifest itself as different errors at different times. Be aware of the history of errors that occurred before this internal error.

  • Why can't  I import a nested table?

    My Operation system is Win NT 4.0 (Package 6)
    data base is oracle 8.1.6
    now, I craete a table TAB01 nested table TAB02NT.
    All operation such as delete ,insertion goes no well.
    I have export the table TAB01 without any warings and errors
    But a error occured when I import the exported table TAB01
    the error below :
    IMP-00017
    IMP-00003
    ORA-02304
    IMP-00063
    why ?

    Yanxiang,
    If you have a customer ID, you can go to
    http://metalink.oracle.com to file an iTAR with test case to
    reproduce your error.
    Regards,
    Geoff
    My Operation system is Win NT 4.0 (Package 6)
    data base is oracle 8.1.6
    now, I craete a table TAB01 nested table TAB02NT.
    All operation such as delete ,insertion goes no well.
    I have export the table TAB01 without any warings and errors
    But a error occured when I import the exported table TAB01
    the error below :
    IMP-00017
    IMP-00003
    ORA-02304
    IMP-00063
    why ?

  • 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.

  • ***Unable to import table which consists of nested tables

    Dear all;
    I have a problem on migrating my Oracle 8.1.7 database from windows nt environment into the ibm aix 4.3.3 environment. I have been using the import export utility. Exporting the data from the database does not produce any error but importing the export file produces the error as below;
    Connected to: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - Production
    Export file created by EXPORT:V08.01.07 via conventional path
    import done in WE8ISO8859P1 character set and WE8ISO8859P1 NCHAR character set
    . importing IIMS's objects into IIMS
    IMP-00017: following statement failed with ORACLE error 2331:
    "CREATE TABLE "CMGC_CURRENCY" ("CODE" VARCHAR2(10) NOT NULL ENABLE, "DESCP" "
    "VARCHAR2(60) NOT NULL ENABLE, "X_RATE" NUMBER(10, 6) NOT NULL ENABLE, "X_DA"
    "TE" VARCHAR2(10), "REMARK" VARCHAR2(255), "YEAR" NUMBER(4, 0) NOT NULL ENAB"
    "LE, "BANK_AC" VARCHAR2(20) NOT NULL ENABLE, "NSTBL_LEDG" "NSTBL_LEDGLIST" N"
    "OT NULL ENABLE, "NSTBL_XRATE" "NSTBL_XRATELIST" NOT NULL ENABLE) PCTFREE 1"
    "0 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 65536) TABLESP"
    "ACE "IIMS" NESTED TABLE "NSTBL_LEDG" STORE AS "NSTBL_LEDGLIST_LIST" RETURN "
    "AS VALUE NESTED TABLE "NSTBL_XRATE" STORE AS "NSTBL_XRATELIST_LIST" RETURN"
    " AS VALUE "
    IMP-00003: ORACLE error 2331 encountered
    ORA-02331: cannot create constraint on column of datatype Named Table Type
    Import terminated successfully with warnings.
    It seems that the error only occur when importing tables which consists on nested tables. I have done exporting and importing from windows NT into windows NT and from windows NT into AIX but the problem still arises. Please help.
    NSTBL_LEDG and NSTBL_XRATE are the nested tables with NSTBL_LEDGLIST and NSTBL_XRATELIST as the datatype accordingly.
    Thanks in advance;
    andrew

    Hi Sayak,
    This means we need to installed Oracle client to resolve this problem. Can you please share if you have some knowledge regarding the same.
    Thanks,
    Mohit

  • Expoting/Importing Oracle BLOB, CLOB, Nested Tables datatypes

    I am trying to export the database containing BLOB, Nested Tables etc. and wants to import the same. But i am getting an error. Pleease help as to how i will proceed with it. This is something very urgent. please reply . i will be very thankful to you

    I believe this error is only associated with LONG data type. I have been using data pump to export/import table with LOB type without any problem.
    Data pump been having issue with LONG type check this bug
    Bug 5598333 - EXPDP/IMPDP corrupts the data for a LONG column
    Doc ID: Note:5598333.8
    It's fixed in 11.1.0.6

  • How to Export/Import Composite Objects(CLOB,Nested Table)

    I am trying to export the database containing BLOB, Nested Tables etc. and wants to import the same. But i am getting an error. Pleease help as to how i will proceed with it. This is something very urgent. please reply . i will be very thankful to you

    The only solution I've found so far as a workaround is rather convoluted.
    1. I took an export using datapump's expdp of SCHEMA1 (in 10g it will skip the table with the xmltype).
    2. I imported the data to my empty schema (SCHEMA2) using impdp. To avoid the error that the type already exists with another OID, I used the TRANSFORM=oid:n parameter e.g.
    impdp user/pwd dumpfile=noxmltable.dmp logfile=importallbutxmltable.log remap_schema=SCHEMA1:SCHEMA2 TRANSFORM=oid:n directory=MYDUMPDIR
    3. I then manually created my xmltype table in the SCHEMA2 and did a select into to load it (make sure you have the select privileges to do so):
    INSERT INTO SCHEMA2.XMLTABLE2 SELECT * FROM SCHEMA1.XMLTABLE1;
    4. I am still taking an export with exp of the xmltable as well even though I'm not sure I can do anything with it.
    Thanks!
    Edited by: stacyz on Jul 28, 2009 9:49 AM

  • Nested table export

    Is it possible to export and import nested table?

    Cause: While exporting a bitmap index or posttable action on
    an inner nested table, the name of the outer table could not
    be located, using the NTAB$ table.
    Action: Verify the table is properly defined.

  • Inserting Data into nested table

    I am exploring the differences between OBJECT & RECORD.
    As i am still in process of learning, I found that both are structures which basically groups elements of different datatypes or columns of different datatypes, one is used in SQL and other is used in PL/SQL, please correct me if I am wrong in my understanding.
    Below i am trying to insert data into an table of type object but i am unsuccessful can you please help.
    CREATE OR REPLACE type sam as OBJECT
    v1 NUMBER,
    v2 VARCHAR2(20 CHAR)
    ---Nested Table---
    create or replace type t_sam as table of sam;
    --Inserting data----
    insert into table(t_sam) values(sam(10,'Dsouza'));
    Error Message:
    Error starting at line 22 in command:
    insert into table(t_sam) values(sam(10,'Dsouza'))
    Error at Command Line:22 Column:13
    Error report:
    SQL Error: ORA-00903: invalid table name
    00903. 00000 -  "invalid table name"
    *Cause:   
    *Action:

    Ariean wrote:
    So only purpose of equivalent SQL types concept of nested tables is to use them as one of the data types while defining an actual table?
    Sort of - you can definitely use them for more than just "defining an actual table". (I'm fairly certain you could pass a nested table into a procedure, for example - try it, though - I'm not 100% sure on that - it just "makes sense". If you can define a type, you can use it, pass it around, whatever.).
    Ariean wrote:
    And that nested table could be a record in SQL or an Object in PLSQL or just simple datatype(number,varchar etc)?
    Nested tables are just like any other custom data type. You can create a nested table of other data types. You can create a custom data type of nested tables.
    It could get stupidly .. er, stupid O_0
    CREATE TYPE o_myobj1 AS object ( id1   number, cdate1  date );
    CREATE TYPE t_mytype1 AS table of o_myobj1;
    CREATE TYPE o_myobj2 AS object ( id2   number,  dumb  t_mytype1 );
    CREATE TYPE t_dumber AS table of o_myobj2;
    O_0
    Ok, my brain's starting to hurt - I hope you get the idea
    Ariean wrote:
    Secondly is my understanding correct about OBJECT & RECORD?
    I can't think of any benefit of describing it another way.

  • Performance impact using nested tables and object

    Hi,
    Iam using oracle 11g.
    While creating a package, iam using lot of nested tables created based on objects which will be passed between multiple functions in the package..
    Will it have any performance impact since all the data is stored in the memory.
    How can i measure the performance impact when the data grows ?
    Regards,
    Oracle User
    Edited by: user9080289 on Jun 30, 2011 6:07 AM
    Edited by: user9080289 on Jun 30, 2011 6:42 AM

    user9080289 wrote:
    While creating a package, iam using lot of nested tables created based on objects which will be passed between multiple functions in the package.. Not the best of ideas in general, in PL/SQL. This is not client code that can lay sole claim to most of the memory. It is server code and one of many server processes that need to share the available resources. So capitalism is fine on a client, but you need socialism on the server? {noformat} ;-) {noformat}
    Will it have any performance impact since all the data is stored in the memory.Interestingly yes. Usually crunching data in memory is better. In this case it may not be so. The memory used is the most expensive memory Oracle can use - the PGA. Private process memory. This means each process copy running that code, will need lots of memory.
    If you're not passing the data structures by reference, it means even bigger demands on memory as the data structure needs to be copied into the call stack and duplicated.
    The worse case scenario is that such code consumes so much free server memory, and make such huge demands on having that in pysical memory, it trashes memory management as the swap daemons are unable to keep up with the demand of swapping virtual memory pages into and out of memory. Most CPU time is spend by the swap daemons.
    I have seen servers crash due to this. I have seen a single PL/SQL process causing this.
    How can i measure the performance impact when the data grows ?Well, you need to look at the impact of your code on PGA memory. It is not SQL performance or I/O performance that is a factor - just how much private process memory your code needs in order to execute.

  • Sql*loader and nested tables

    I'm having trouble loading a nested table via sqlldr in Oracle 10g and was hoping someone could point me in the right direction. I keep getting the following error:
    SQL*Loader-403: Referenced column not present in table mynamespace.mytable
    Here's an overview of my type and table definitions:
    create type mynamespace.myinfo as object
    i_name varchar2(64),
    i_desc varchar2(255)
    create TYPE mynamespace.myinfotbl as TABLE of mynamespace.myinfo;
    create table mynamespace.mytable
    Info mynamespace.myinfotbl,
    note varchar2(255)
    NESTED TABLE Info STORE AS mytable_nested_tab;
    My control file looks like this:
    load data
    infile 'mydatafile.csv'
    insert into table mynamespace.mytable
    fields terminated by ',' optionally enclosed by '"'
    TRAILING NULLCOLS
    Info nested table count(6)
    Info column object
    i_name char(64),
    i_desc char(255)
    note
    Example mydatafile.csv would be something like:
    lvl1,des1,lvl2,des2,lvl3,des3,lvl4,des4,lvl5,des5,lvl6,des6,a test data set
    I can't figure out why sqlldr keeps rejecting this control file. I'm using 'direct=false' in my .par file.
    Any hints?

    I just noticed that my email is wrong. If you can help, plese send email to [email protected]
    thanks.

  • 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.

  • 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.

  • Why on earth use nested tables?

    Hi
    I'm boning up on PL/SQL (again) in anticipation of getting a new job.
    I have many years of experience in various data-related roles, many of which used Oracle.
    On the issue of collections, I find myself asking, in the light of my experience, and not for the first time, why on earth would anyone want to do this:
    create or replace type TEST_TT as table of varchar2(10);
    create table TEST_TABLE ( X number
                             ,Y test_tt)
                             nested table Y store as Y_TABLE;                      I really, really, can't think why we would want to store data like this. It seems to me to be unnecessarily complex, hiding a one-to-many relationship inside TEST_TABLE, which should instead be modelled and implemented as a separate table.
    Furthermore, there are loads of tutorials on collections that tell us how to do the above (indeed I am reading Feuerstein at this very time) but nobody seems to say WHY we should do this.
    Can anybody help me here?
    Thanks.
    Jason

    >
    I'm boning up on PL/SQL (again) in anticipation of getting a new job.
    I have many years of experience in various data-related roles, many of which used Oracle.
    On the issue of collections, I find myself asking, in the light of my experience, and not for the first time, why on earth would anyone want to do this:
    I really, really, can't think why we would want to store data like this. It seems to me to be unnecessarily complex, hiding a one-to-many relationship inside TEST_TABLE, which should instead be modelled and implemented as a separate table.
    Furthermore, there are loads of tutorials on collections that tell us how to do the above (indeed I am reading Feuerstein at this very time) but nobody seems to say WHY we should do this.
    >
    For As you have surmised, just because you CAN do it doesn't mean you SHOULD do it. If you are only working with your standard relational data, such as the example you provide, it has many drawbacks and few, if any advantages.
    It is easier to understand why that capability exists from the viewpoint of the question: why SHOULDN'T you be able to store data like that?
    In one sense it is just another object-oriented feature. You can create object types and pass them around to procedure/functions or external processes (e.g. JDBC) so why shouldn't you be able to store that set of related data as an encapsulated object?
    Why do you need an object type that has a set of columns? You can just as easily put those columns into a table. But how do you manipulate a subset of the columns or rows of a table? How do you pass that data around as a controlled, coherant set of data? You can't.
    With an object type you can, though most often don't, implement encapsulated business rules that ensure that any instance of that type MUST implement. Need ADDRESS information that is required to include a street address, city, state and zip? Create an object type with the right constructor methods and you can ensure that those attributes CANNOT be null.
    Once you have functionality to create and manipulate objects why not be able to pass those objects around and stored them in a table? Doesn't mean you should always store them that way but why not be able to? There isn't any reason to limit that functionality simply because you don't think it is the best practice to use it all the time.
    So if you have a small dataset and want all of that data to 'travel' together nest it. There is no child table to create or foreign key to create.
    I put that functionality in the category of CAN DO but DON'T DO except in rare occasions and consider it a fallout of the move to object-oriented things in general. I like the fact that Oracle makes functionilty like that available when they have it.
    Like dynamic sql, materializeds views, bitmap indexes and much other functionality it is often more important to know when NOT to use it than it is to know when to use it.
    Relative to 'best practices' of why NOT to do that for your basic relational data see this part of the article that Justin referred you to:
    >
    Followup March 3, 2003 - 6am Central time zone:
    1) they are parent child tables in disguise but ones that add:
    a 16 byte raw with a unique constraint on the parent table. Most likely you ALREADY HAVE a primary
    key on the parent table and most likely it is smaller.
    a 16 byte raw that you need to index on the child (not auto-indexed, you need to know to do it).
    This is the foreign key and is hidden from you.
    The inability to put many types of constraints on the nested table..
    They are simple parent/child tables - except you lose the ability to access the child table
    directly.
    2) you are NOT storing anything in a "single row". Physically they are a parent child table pair,
    nothing more, nothing less
    If you have my book "Expert one on one Oracle" - I write about them in there, describe their
    implementation and talk about when I would use them.

  • Nested tables recursive SQL

    Hello, I am trying to figure out why I get the following error message
    ORA-00604: error occurred at recursive SQL level 1
    ORA-22914: DROP of nested tables not supported
    I am using the TOAD tool to create tables using CTAS and I have managed to create several tables using the same SQL that is failing now with the only difference being a portion of the WHERE clause.
    Any help will be very much appreciated

    ORA-22914: DROP of nested tables not supported
           Cause: An attempt was made to DROP a nested table.
           Action: Nested tables cannot be explicitly dropped. nested tables can
          only be dropped by dropping their containing parent table.

Maybe you are looking for