Can a PL/SQL table Object Type be used in a VO?

Hi,
Is it possible to use a PL/SQL table object type to provide data to a View Object? In short, I would like to be able to do something like this:
1. Create record object:
CREATE OR REPLACE TYPE xx_rec_type AS OBJECT
(xxid NUMBER,
xxdesc varchar2(10),
xxcost number...);
2. Create table object:
CREATE OR REPLACE TYPE xx_tbl_type AS TABLE OF xx_rec_type;
3. Declare and populate the object in PL/SQL package:
xx_tbl xx_tbl_type;
xx_tbl(i).xxid := 1;
xx_tbl(i).xxdesc := 'XXX';
xx_tbl(i).xxcost := 10.00;
4. Create a View Object as:
SELECT * FROM xx_tbl
Is it even possible to access xx_tbl from View Object? If anyone has done something like this, please do share.
TIA
Alka

A PL/SQL procedure can exist in Oracle DB, in TimesTen, or in both. You control that by where you create the procedure. Procedures that exist in Oracle can really only be called in Oracle and can only access data in Oracle. Procedures that exist in TimesTen can only be called in TimesTen and can only access data in TimesTen. There is a limited capability, using the TimesTen PassThrough capability to call PL/SQL procedures located in Oracle, from Timesten, and for Timesten PL/SQL procedures to access data in Oracle. Using PassThrough does have some overhead.
Chris

Similar Messages

  • Pl/sql table - row type records

    Hi,
    Is there any limit on the number of records that a pl/sql table (row type) can accomodate.Iam using oracle 10g

    user11200499 wrote:
    I have gone thru that url, nothing on the maximum number of records that can be present in pl/sql table is given there. Will be very helpful if you can let me know if there is any such limitation.There is no such thing as a PL/SQL "+table+". A table, in Oracle terminology, means colums and rows and indexes and the ability to scale data, effectively read and process and filter and aggregate data.
    A so-called PL/SQL "+table+" is nothing at all like this.
    The correct term for it, and used in all other programming languages, are arrays (procedural term) and collections (object orientated term).
    An array/collection is a local memory structure in the unit of code. In PL/SQL, that means PGA (process global area) memory. And as this uses server memory, you should not abuse it and only use as much that is truly needed.
    Make a PL/SQL array/collection too large, and PGA grows.. and can have a very negative impact on performance. It can even cause the server to crawl to halt, where you will struggle to enter a commandline command on the server as it is spending 99% of CPU time trying to deal with memory requests and page swapping.
    So what do we then use arrays/collections for in PL/SQL?
    For the very same reason we use in any other programming language - dealing with managing local programming data in a more effective memory structure. Such as bulk processing when requiring a buffer variable that can be passed to and from the PL and SQL engines.
    This does NOT mean using it as you would use it as if it is a SQL table. As it is not.
    So to answer your question of how large a PL/SQL array or collection can be? That depends entirely on the problem you are trying to solve. If it is for example bulk processing, then typically a collection of a 100 rows provides the best balance between the amount of (expensive) PGA memory being used versus the increase in performance by reducing context switching between the PL and SQL engines.
    If the rows are quite small, perhaps even a 1,000 row collection. More than that seldom decreases context switching enough to justify the increase in expensive PGA.
    So what should then be used to store larger data structures in PL/SQL? GTT or Global Temporary Tables. As this is a proper SQL table structure. Can be indexed. Natively supports SQL. Can scale with data volumes.
    And most importantly, it does not consume dedicated process memory and will not blow server memory.

  • Problem with pl/sql table data type

    hai friends,
    i have one procedure it has some in parameters and one out parameter which fetches values to front end.
    But the out parameter will be pl/sql table data type.
    if it is ref cursor
    then i declared as
    var x refcursor;
    exec procedure_name(1,:x);
    it is ok.
    but for pl/sql table data type is out parameter then what i will do in the prompt .
    give me syntax and clarify my doubt.
    advanced thanks...
    madhava

    The SQL*Plus VARIABLE statement does not support user-defined types, hence it cannot support nested tables. It can support cursors because they can be weakly typed (so we can use the one SQL*Plus VAR to hold any shape of resultset). Nested tables are strongly typed; SQL*Plus is a relatively stupid interface and cannot be expected to understand UDT.
    So, it you want to use nested tables as output you'll need to code a wrapping procedure that can understand your nested table type and handle it accordingly.
    Sorry.
    Cheers, APC

  • User Tables ( Object Type )

    Hi
    Can u tell me wat is the uses of user tables ( Object type )  Master Data , Master Data Rows, Document, Document Rows and no object. plsss.
    Thanks in advance
    Giridharan V

    Check this link
    [https://websmp209.sap-ag.de/~sapidb/011000358700005796502005E]
    you should have an SUSerId
    Requires Flash Players and Mulitmedia enabled to play the video.

  • Reg: PLS-00418: array bind type must match PL/SQL table row type error

    I am trying to access a table of records through JDBC OracleCallableStatement. I am able to do it fine for all mappings except for the ones below
    TYPE CAT_CD_TYPE IS TABLE OF A.B %TYPE INDEX BY BINARY_INTEGER;
    TYPE ORG_CD_TYPE IS TABLE OF C.D %TYPE INDEX BY BINARY_INTEGER;
    Column B is CHAR(1) and Column D is CHAR(2). I am trying to register the out parameters of Oraclecallablestatement as
    cstmt.registerIndexTableOutParameter(2, 2000, OracleTypes.CHAR, 0);
    cstmt.registerIndexTableOutParameter(3, 2000, OracleTypes.CHAR, 0);
    All the other mappings work fine. These two fail with the error
    SQLException in invokeDBPackage() : ORA-06550: line 1, column 32:
    PLS-00418: array bind type must match PL/SQL table row type
    ORA-06550: line 1, column 35:
    PLS-00418: array bind type must match PL/SQL table row type
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    I tried other OracleTypes mappings too but no luck so far.
    Any advice on this would be greatly appreciated.

    Hi,
    I'm not sure it's reasonable to expect someone to sift through that much stuff.
    Which parameter is it having a problem with?
    Can you modify the following to reproduce the behavior?
    Thanks
    Greg
    create package mypack5 as
    TYPE v2array is table of emp.ename%type index by BINARY_INTEGER;
    PROCEDURE test_it(thearray IN v2array, numrecs out number);
    END;
    CREATE or replace PACKAGE BODY MYPACK5 AS
    PROCEDURE test_it(thearray IN v2array, numrecs out number)
    IS
    begin
    numrecs := thearray.count;
    END;
    END;
    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    public class indexby
    public static void Main()
    OracleConnection con = new OracleConnection("data source=orcl;user id=scott;password=tiger;");
    con.Open();
    OracleCommand cmd = new OracleCommand("mypack5.test_it", con);
    cmd.CommandType = CommandType.StoredProcedure;
    OracleParameter Param1 = cmd.Parameters.Add("param1", OracleDbType.Varchar2);
    Param1.Direction = ParameterDirection.Input;
    Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    Param1.Size = 3;
    string[] vals = { "foo", "bar", "baz" };
    Param1.Value = vals;
    OracleParameter Param2 = cmd.Parameters.Add("param2", OracleDbType.Int32, DBNull.Value, ParameterDirection.Output);
    cmd.ExecuteNonQuery();
    Console.WriteLine("{0} records passed in", Param2.Value);
    con.Close();
    }

  • PLS-00418: array bind type must match PL/SQL table row type

    If a PL/SQL table is indexed by CHAR and is a parameter
    in a Stored Program, we are not able to call the stored
    program from the Java code.
    We get the following error code.
    java.sql.SQLException: ORA-06550: line 1, column 62:
    PLS-00418: array bind type must match PL/SQL table row type
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    But if we change the CHAR into VARCHAR2 then it works.
    We are using Oracle9i Enterprise Edition Release 9.2.0.5.0 -64bit Production ,
    JServer Release 9.2.0.5.0 - Production
    and JDK1.4.
    Thanks
    Push..

    Hi,
    I'm not sure it's reasonable to expect someone to sift through that much stuff.
    Which parameter is it having a problem with?
    Can you modify the following to reproduce the behavior?
    Thanks
    Greg
    create package mypack5 as
    TYPE v2array is table of emp.ename%type index by BINARY_INTEGER;
    PROCEDURE test_it(thearray IN v2array, numrecs out number);
    END;
    CREATE or replace PACKAGE BODY MYPACK5 AS
    PROCEDURE test_it(thearray IN v2array, numrecs out number)
    IS
    begin
    numrecs := thearray.count;
    END;
    END;
    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    public class indexby
    public static void Main()
    OracleConnection con = new OracleConnection("data source=orcl;user id=scott;password=tiger;");
    con.Open();
    OracleCommand cmd = new OracleCommand("mypack5.test_it", con);
    cmd.CommandType = CommandType.StoredProcedure;
    OracleParameter Param1 = cmd.Parameters.Add("param1", OracleDbType.Varchar2);
    Param1.Direction = ParameterDirection.Input;
    Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    Param1.Size = 3;
    string[] vals = { "foo", "bar", "baz" };
    Param1.Value = vals;
    OracleParameter Param2 = cmd.Parameters.Add("param2", OracleDbType.Int32, DBNull.Value, ParameterDirection.Output);
    cmd.ExecuteNonQuery();
    Console.WriteLine("{0} records passed in", Param2.Value);
    con.Close();
    }

  • PL/SQL TABLE declarations must currently use binary_integer indexes

    Hi,
    I am having procedure written in form6i, this procedure is having pl/sql table datatyep "v_suppmesg orcl.err_message.error_tabtype;" this pl/sql datatype is defined in database and the procedure in database is not having any error in it.
    But when i am compling my form its giving me error
    PL/SQL TABLE declarations must currently use binary_integer indexes
    and error point is *"i_rowindex"* in the sentance given below.
    *"SET_GROUP_CHAR_CELL (g_suppress_error_colid, v_rowindex, v_suppmesg(i_rowindex));"*
    PROCEDURE PRC_A IS
    v_rowindex NUMBER (5,0) := 1;
    v_suppmesg orcl.err_message.error_tabtype;
    BEGIN
    g_suppress_error_rgid := FIND_GROUP (g_suppress_error_rgname);
    IF ID_NULL (g_suppress_error_rgid)
    THEN
    g_suppress_error_rgid := CREATE_GROUP (g_suppress_error_rgname, GLOBAL_SCOPE);
    g_suppress_error_colid := ADD_GROUP_COLUMN ( g_suppress_error_rgid
    , g_suppress_error_colname
    , CHAR_COLUMN
    , 15);
    orcl.err_message.get_messages (v_suppmesg);
    FOR i_rowindex IN 1..v_suppmesg.count
    LOOP
    ADD_GROUP_ROW (g_suppress_error_rgid, END_OF_GROUP);
    SET_GROUP_CHAR_CELL (g_suppress_error_colid, v_rowindex, v_suppmesg(i_rowindex));
    v_rowindex := v_rowindex + 1;
    END LOOP;
    ELSE
    g_suppress_error_colid := FIND_COLUMN (g_suppress_error_rgname||'.'||g_suppress_error_colname);
    END IF;
    END Init_Suppress_Message;
    can anyone tell me what's wrong in this.

    I have the folowing compiling and executing fine (Forms 10.1.2):
    DECLARE
      type t1 is table of VARCHAR2(100) index by BINARY_INTEGER ;
      tab t1;
      rg_id RecordGroup;
      gc_id GroupColumn; 
    BEGIN
         tab(1) := 'One' ;
         tab(2) := 'Two' ;
         tab(3) := 'Three' ;
         rg_id := FIND_GROUP ('RG10');
         IF ID_NULL (rg_id)
         THEN
              rg_id := CREATE_GROUP ('RG10', GLOBAL_SCOPE);
              gc_id := ADD_GROUP_COLUMN ( 'RG10'
              , 'COL1'
              , CHAR_COLUMN
              , 15);
              --orcl.err_message.get_messages (v_suppmesg);
              FOR i IN 1..tab.count
              LOOP
              ADD_GROUP_ROW ('RG10', END_OF_GROUP);
              SET_GROUP_CHAR_CELL ('RG10.COL1', i, tab(i));
              END LOOP;
         END IF;
    END;Francois

  • Where can I find the Tables script that are used in the Documentation

    Hello All,
    Where can I find the Tables script that are used in the Documentation, Like Sales, Customers, employee, department.......
    Appreciate any Help
    Thanks & Regards
    Madhu K

    10g
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14198/scripts.htm#sthref77
    9i
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96539/scripts.htm#4216

  • Can I load 2 tables at a time using Sqlldr

    Can I append into 2 tables using the flat file.

    Yes u can append into 2 tables from SQLLDR.
    Use the position clause in defining the columns
    Suppose your flat file is :
    1234yurtfg78
    5678oisdn89
    so on
    and you want to insert data from column 1 from column 6 into table A and data from column cloumn 7 to cloumn 12 into table B, then u can write:
    LOAD DATA
    INFILE '<filename>'
    BADFILE '<filename.bad>'
    DISCARDFILE '<filename.dsc>'
    RECLEN 12
    INTO TABLE A
    col1 POSITION(01:06) CHAR
    INTO TABLE B
    col2 POSITION(07:12) CHAR
    )

  • Oracle table object type - Error

    Hi,
    I have created an oracle object as like
    [CREATE OR REPLACE TYPE t_test_obj IS OBJECT (
       testid      INTEGER,
       testdesc    VARCHAR2(64)
    Then created the type table from above
    [ create or replace type t_table as table of t_test_obj;]
    i want to create the table containing the above type like below
    create table t_tab_test (test1 t_table); but i received the error as like
    ERROR at line 1:
    ORA-22913: must specify table name for nested table column or attribute
    Requirement: As one my function returns this table type object and i want to insert those values in a table hence i want this. Any other pointers are also helpful.
    Please help.
    Regards,
    Kapil

    Thanks for reply.
    As i described in Requirement, my function return the table type, hence if i try to insert i get error as below. t_table is the return type from function. I need conversion from table type to object type.
    SQL> insert into testing values(1,t_table(1,'a'));
    insert into testing values(1,t_table(1,'a'))
    ERROR at line 1:
    ORA-00932: inconsistent datatypes: expected IRP_DBO.T_TEST_OBJ got IRP_DBO.T_TABLE

  • Can't drop database table objects on a EJB Diagram.

    JDeveloper 10.1.3 EA.
    When I drop a database table object on a EJB Diagram the error below occurs. Also dropping components from the Component Palette doesn't work. A wizard opens, but after completing that, nothing is on the EJB Diagram.
    However, after dropping a table and a restart of JDeveloper, there is an empty 'tablename EJB' on the EJB Diagram, but a click with the mouse on it generates the same error as the drop did.
    Simular errors occur with JDeveloper 10.1.2, so writing this I realize that this might be a database version problem. I'm using 9i! I'll try 10g and see what happens.
    Message
    BME-99003: An error occurred, so processing could not continue.
    Cause
    The application has tried to de-reference an invalid pointer. This exception should have been dealt with programmatically. The current activity may fail and the system may have been left in an unstable state. The following is a stack trace.
    java.lang.NullPointerException
         at oracle.jdevimpl.xml.DescriptorNode.getWhitespaceHandler(DescriptorNode.java:349)
         at oracle.jdevimpl.xml.DescriptorNodeDomIO.load(DescriptorNodeDomIO.java:164)
         at oracle.jdeveloper.xml.BindingIO.load(BindingIO.java:43)
         at oracle.jdevimpl.xml.DescriptorNode.getNewDescriptorImpl(DescriptorNode.java:506)
         at oracle.jdevimpl.xml.DescriptorNode.getDescriptor(DescriptorNode.java:140)
         at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarNode.getOrionEjbJar(OrionEjbJarNode.java:145)
         at oracle.jdeveloper.ejb.BaseEjbModuleContainer.getOrionEjbJar(BaseEjbModuleContainer.java:476)
         at oracle.jdeveloper.ejb.modeler.diagram.dropHandler.TableDropEJB21Handler.isAvailable(Unknown Source)
         at oracle.bm.diagrammer.ui.DropChooserPanel.populateOptions(Unknown Source)
         at oracle.bm.diagrammer.ui.DropChooserPanel.createComponents(Unknown Source)
         at oracle.bm.diagrammer.ui.DropChooserPanel.<init>(Unknown Source)
         at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.createPanel(Unknown Source)
         at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.processObjects(Unknown Source)
         at oracle.bm.addinUtil.IDEAppContext$4.performAction(Unknown Source)
         at oracle.bm.diagrammer.LockMonitor.performLockedAction(Unknown Source)
         at oracle.bm.diagrammer.BaseDiagram.performDiagramLockedAction(Unknown Source)
         at oracle.bm.addinUtil.IDEAppContext.dropNavigatorNodeLater(Unknown Source)
         at oracle.bm.addinUtil.IDEAppContext$5.run(Unknown Source)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Action
    If further errors occur, you should restart the application.
    Also, report the problem on the JDeveloper forum on otn.oracle.com, or contact Oracle support, giving the information from this message.
    ________________________________________________________________________________

    Hi lisa, you've said that the problem does not occur in the 10.1.3 build but I have almost the same problem with the BME-99003 error message.
    I used the same workaround "changing the regional settings from BE to US" and the BME-99003 problem disappears :-)
    Here is the error message that I receive while I add a table into the EJBDiagram. I'm using
    windows XP SP2
    ADF Business Components     10.1.3.34.12
    Java™ Platform     1.5.0_04
    Oracle IDE     10.1.3.34.12
    Struts Modeler Version     10.1.3.34.12
    UML Modelers Version     10.1.3.34.12
    Versioning Support     10.1.3.34.12
    Abdelkrim BOUJRAF
    Message
    BME-99003: An error occurred, so processing could not continue.
    Cause
    The application has tried to de-reference an invalid pointer. This exception should have been dealt with programmatically. The current activity may fail and the system may have been left in an unstable state. The following is a stack trace.
    java.lang.NullPointerException
    at oracle.jdevimpl.xml.DescriptorNode.getWhitespaceHandler(DescriptorNode.java:349)
    at oracle.jdevimpl.xml.DescriptorNodeDomIO.load(DescriptorNodeDomIO.java:164)
    at oracle.jdeveloper.xml.BindingIO.load(BindingIO.java:43)
    at oracle.jdevimpl.xml.DescriptorNode.getNewDescriptorImpl(DescriptorNode.java:506)
    at oracle.jdevimpl.xml.DescriptorNode.getDescriptor(DescriptorNode.java:140)
    at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarNode.getOrionEjbJar(OrionEjbJarNode.java:145)
    at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarHelper.findOrionEjbJar(OrionEjbJarHelper.java:82)
    at oracle.jdeveloper.xml.oc4j.ejb.OrionEjbJarHelper.findOrCreateOrionEjbJar(OrionEjbJarHelper.java:73)
    at oracle.jdeveloper.ejb.modeler.diagram.dropHandler.TableDropEJBCommonHandler.processTableNodes(Unknown Source)
    at oracle.jdeveloper.ejb.modeler.diagram.dropHandler.TableDropEJB21Handler.processTableNodes(Unknown Source)
    at oracle.bm.typemodel.dropHandler.TableDropSubHandler.processDBObjectNodes(Unknown Source)
    at oracle.bm.typemodel.dropHandler.DBObjectDropSubHandler.processObjects(Unknown Source)
    at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.processObjectsImpl(Unknown Source)
    at oracle.bm.diagrammer.dropHandler.AbstractChooserDropHandler.processObjects(Unknown Source)
    at oracle.bm.addinUtil.IDEAppContext$4.performAction(Unknown Source)
    at oracle.bm.diagrammer.LockMonitor.performLockedAction(Unknown Source)
    at oracle.bm.diagrammer.BaseDiagram.performDiagramLockedAction(Unknown Source)
    at oracle.bm.addinUtil.IDEAppContext.dropNavigatorNodeLater(Unknown Source)
    at oracle.bm.addinUtil.IDEAppContext$5.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Action
    If further errors occur, you should restart the application.
    Also, report the problem on the JDeveloper forum on otn.oracle.com, or contact Oracle support, giving the information from this message.

  • ORA-39112: Dependent object type OBJECT_GRANT - using Datapump

    Hi, all.
    I am importing full database from 10g to 11g, using datapump:
    impdp system/aroeira directory=DATA_PUMP_DIR full=y dumpfile=saodlx_full.dmp logfile=saodlx_full_imp.log PARALLEL=6
    I got error message below with partitioned table:
    ORA-39112: Dependent object type OBJECT_GRANT:"SHR04" skipped, base object type TABLE:"SHR04"."SHR04_ARMAZENAGEM_DTL" creation failed
    ORA-39112: Dependent object type OBJECT_GRANT:"SHR04" skipped, base object type TABLE:"SHR04"."SHR04_ARMAZENAGEM_DTL" creation failed
    ORA-39112: Dependent object type OBJECT_GRANT:"SHR04" skipped, base object type TABLE:"SHR04"."SHR04_ARMAZENAGEM_DTL" creation failed
    ORA-39112: Dependent object type OBJECT_GRANT:"SHR04" skipped, base object type TABLE:"SHR04"."SHR04_ARMAZENAGEM_DTL" creation failed
    ORA-39112: Dependent object type OBJECT_GRANT:"SHR04" skipped, base object type TABLE:"SHR04"."SHR04_ARMAZENAGEM_DTL" creation failed
    ORA-39112: Dependent object type OBJECT_GRANT:"SHR04" skipped, base object type TABLE:"SHR04"."SHR04_ARMAZENAGEM_DTL" creation failed
    Please, anybody can help me?
    Thanks in advance.
    Leonardo.

    Which exact versions are you dealing with?
    There are a couple of MOS notes about this topic: *Compatibility Matrix for Export And Import Between Different Oracle Versions [ID 132904.1]* and *Export/Import DataPump Parameter VERSION - Compatibility of Data Pump Between Different Oracle Versions [ID 553337.1]*
    It is recommended that both databases have the latest patchset installed.
    Also, you can troubleshoot the issue generating an SQL file with tables creation for the original dump (SQLFILE parameter to impdp), and extract and create those tables alone to see if there is something wrong there.
    Regards.
    Nelson

  • Oracle 9i Object Type ..using self

    I have created and object with
    several attributes of standard oracle datatypes. I have one that is of a custom object type. this object provides encapsulated functionality. I instansiate the internal custom object using a constructor function. the constructor includes the creation of a primary key. once the constructor is done, the object is initialized( an internal flag is set, which should only be done once)
    To use this custom object in a member method, I have to do something like this..
    ( i have summarized code for brevity)
    MEMBER FUNCTION foo( ) return obj
    is
    l_self PARENT_OBJ_TYPE:= SELF;
    local INTERNAL_OBJ :=SELF.internal_obj;
    begin
    local.method1() -- insert record( flag is true)
    local.method1() --insert another record( but this time the flag that was set upon construction is now set to FALSE..
    I get an error.)
    end;
    I do not do anything tricky. the behavior seems to be that object types do not keep state appropriately.
    any ideas of why this could be happening?

    there was no real error code just unexpected behavior. it did not crash. I figured it out. it had to do with passing self as a parameter in out so that it keeps state

  • Fill datagridview with Nested Table Object Type ???

    Hello everybody, please you help me resolve my problem?
    I follow this example: *(A Sample Application using Object-Relational features)* http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10799/adobjxmp.htm
    And this tutorial: *(Using Oracle User-Defined Types with .NET and Visual Studio)* http://www.oracle.com/technology/obe/hol08/dotnet/udt/udt_otn.htm
    Now I have 3 Object Table: Stock, Customer and Purchase Order. With the tutorial it's OK to show the data of Stock and Customer Table [there is no nested table in], but I can't do this with table Purchase Order, the tutorial don't show how to work with Nested Table type [Missing or something ?]
    When I try to display the data of table Purchase Order, I get the error:
    typeName='LINEITEMLIST_NTABTYP'' is not specified or is invalid*
    Follow the tutorial, I generate custom class for this UDT and get another error:
    this.STOCK_REF = ((object)(Oracle.DataAccess.Types.OracleUdt.GetValue(con, pUdt, "STOCK_REF")));*
    Argument Exception Unhandle: Object attribute is not mapped to a custom type member.*
    Can You show me how to do this ? Show the data of the Nested Table in Visual Studio, do I have something wrong ??? Thanks and Best Regards.

    I think you need to go through the tutorial more carefully. I think you are missing steps.
    You are using a REF. Are you creating an object table for the objects to be stored in? Are you dereferencing the REF? This is covered by the Oracle by Example tutorial.
    http://www.oracle.com/technology/obe/hol08/dotnet/udt/udt_otn.htm#t11
    When you receive the nested table, it will be inside a .NET class. You can create this class by using the Create Custom Class menu item on the nested table type in server explorer.
    This class will contain a ToString method and a ToXML method.
    The question is, where are you attempting to display the data from this nested table? In a grid?
    Does it make sense to display a nested table inside one cell of a grid? No. You would need to construct a special UI that will show the
    nested table. Maybe the user clicks on the cell on the grid, which opens a new grid that displays the data. Or maybe there is a second grid on the form that always shows the nested table for the row that the first grid currently has selected.
    I realize I am not providing you the code... but it sounds like you need to design a more sohisticated UI than what the tutorial is using -- one that can handle displaying one additional table per row.

  • Error at debug PL/SQL with object types

    Hi, can someone help me.
    My context is:
    Database: Oracle 9.2.0.5.
    O.S. Solaris 9
    SQL Developer: 1.2.1 build 3213
    I am trying to debug a package and I am getting this error:
    Connecting to the database ADMINEW_SERVICIOS.
    Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
    Executing PL/SQL: ALTER SESSION SET PLSQL_COMPILER_FLAGS=INTERPRETED
    Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '10.70.10.69', '3673' )
    Debugger accepted connection from database on port 3673.
    Processing 56 classes that have already been prepared...
    Finished processing prepared classes.
    ORA-00600: internal error code, arguments: [15419], [severe error during PL/SQL execution], [], [], [], [], [], []
    ORA-06544: PL/SQL: internal error, arguments: [2603], [], [], [], [], [], [], []
    ORA-06553: PLS-707: unsupported construct or internal error [2603]
    Process exited.
    Disconnecting from the database ADMINEW_SERVICIOS.
    Debugger disconnected from database.
    When I call the debugger the parameters were:
    DECLARE
    P_SERIE VARCHAR2(200);
    P_SUSI NUMBER;
    P_EMPSUSI NUMBER;
    P_TX NUMBER;
    P_TIPO VARCHAR2(200);
    P_GRUPO NUMBER;
    P_CARGA SERVICIOS.TP_CONT;
    P_SERVICIOS SERVICIOS.TP_SERVICIOS;
    P_NUM NUMBER;
    v_Return VARCHAR2(200);
    BEGIN
    P_SERIE := 'M7';
    P_SUSI := 305;
    P_EMPSUSI := 1;
    P_TX := 153;
    P_TIPO := 'UNIFICADO';
    P_GRUPO := 48;
    -- Modify the code to initialize the variable
    P_CARGA := TP_CONT('M7', '4049', 'LLENO', '20', '15', '1500');
    -- Modify the code to initialize the variable
    P_SERVICIOS := TP_SERVICIOS(
    TP_SERVICIO('PAQUETE', 'SUSI', 'CREDITO', 'NACIONAL', NULL, '13423', '1', '89', '48', 'SI')
    P_NUM := 1;
    v_Return := PKG_TOOLS_SERVICIO_WEB.FN_ACTUALIZA_SUSI(
    P_SERIE => P_SERIE,
    P_SUSI => P_SUSI,
    P_EMPSUSI => P_EMPSUSI,
    P_TX => P_TX,
    P_TIPO => P_TIPO,
    P_GRUPO => P_GRUPO,
    P_CARGA => P_CARGA,
    P_SERVICIOS => P_SERVICIOS,
    P_NUM => P_NUM
    DBMS_OUTPUT.PUT_LINE('v_Return = ' || v_Return);
    END;
    The type definition is:
    create or replace TYPE TP_SERVICIOS AS
    VARRAY(20) OF TP_SERVICIO;
    create or replace
    TYPE TP_SERVICIO AS OBJECT(
    /* TODO enter attribute and method declarations here */
    TIPOSERV VARCHAR2(20),
    TIPOFACT VARCHAR2(15),
    FORMAPAGO VARCHAR2(10),
    MONEDA VARCHAR2(10),
    REFERENCIA VARCHAR2(15),
    CLIENTE VARCHAR2(6),
    EMPRESA VARCHAR2(2),
    ZSECLAVE VARCHAR2(5),
    GSRCLAVE VARCHAR2(3),
    CODIFICA VARCHAR2(2),
    MEMBER FUNCTION GET_TIPOSERV RETURN VARCHAR2,
    MEMBER FUNCTION GET_TIPOFACT RETURN VARCHAR2,
    MEMBER FUNCTION GET_FORMAPAGO RETURN VARCHAR2,
    MEMBER FUNCTION GET_MONEDA RETURN VARCHAR2,
    MEMBER FUNCTION GET_REFERENCIA RETURN VARCHAR2,
    MEMBER FUNCTION GET_CLIENTE RETURN VARCHAR2,
    MEMBER FUNCTION GET_EMPRESA RETURN VARCHAR2,
    MEMBER FUNCTION GET_ZSECLAVE RETURN VARCHAR2,
    MEMBER FUNCTION GET_GSRCLAVE RETURN VARCHAR2,
    MEMBER FUNCTION GET_CODIFICA RETURN VARCHAR2
    create or replace TYPE TP_CONT AS
    OBJECT(
    /* TODO enter attribute and method declarations here */
    SERIE VARCHAR2(2),
    CLAVE VARCHAR2(10),
    ESTADO VARCHAR2(5),
    DIM VARCHAR2(2),
    CANT VARCHAR2(8),
    PESO VARCHAR2(12)
    );

    This doesnt look good. You've got an ora600 in your trace which means your database has become unstable somehow. You really need to talk with the db support folks to figure out what the problem is.
    Barry

Maybe you are looking for

  • Can I use my apple tv with my apple display

    Can I use my apple tv with my apple display

  • Creative Cloud Desktop Application Manager Unable to Update  New Version of PS CC

    Windows 7, 64 bit Received notification of new software for PS CC.  Desktop application manager appears, with a creative cloud note over the desktop app mgr saying:  " A new ver of CC is available.  Update now?"  I click update and launching creative

  • Keychain problem with Chrome

    recently I noticed as soon as I login in Chrome browser that a pop up windows tells unable to login keychain to install chrome storage something like that it gives option to reset all keychain but doesn't work still stuck and I have to restart the sy

  • Tivoli Access Manager 6.0 with Sun Java System Directory 6.3

    Hi, We have been using Tivoli Access Manager 6.0 with Sun Java System Directory 6.3 . Using IBM TAM Java API we can administer the user creation but the API provide support only to create user with required attribute as user name, password, descripti

  • Jdeveloper EarDeployment With JBoss

    Hi All I am new to this thread as well as to this framework ADF. Kindly someone let me know how to deploy the ear which is been created with Jdeveloper 11.1.1.5 With Integrated JBOSS 5. Now i want to deploy the same ear using admin console of Jboss 5