Define Object type(s) to transform relational tables to xml

I have the Object type and query defined below and output. My problem is that I want to add an attribute to the CLM_MNGT_PROC_STEP_TYPE_NAME node in the XML. The samples I am using from OTN only show either an attribute or a nodevalue, not both.
CREATE OR REPLACE TYPE CONTEXTSTATECLAIM_TYPE AS OBJECT
"@error" VARCHAR2(1),
"CONTEXT_STATE_ID" VARCHAR2(36),
"CONTEXT_TYPE_CODE" VARCHAR2(10),
"CLM_MNGT_PROC_STEP_TYPE_NAME" VARCHAR2(50),
"BATCH_NAME" VARCHAR2(30),
"DATE_OF_SERVICE" DATE,
"PATMRN" VARCHAR2(20),
"PROVIDER_NAME" VARCHAR2(50),
"MEMBER_NAME" VARCHAR2(50),
"ASSIGNEDTO_NAME" VARCHAR2(50),
"LOCKED" VARCHAR2(1)
SELECT sys_xmlagg(
sys_xmlgen(
CONTEXTSTATECLAIM_TYPE(
DECODE(context_state.xerror_id,NULL,'N','Y'),
context_state.context_state_id,
context_state.context_type_code,
clm_mngt_proc_step_type.priority_indicator || clm_mngt_proc_step_type.clm_mngt_proc_step_type_name,
--                         clm_mngt_proc_step_type.color,
context_state.batch_name,
context_state.date_of_service ,
context_state.patmrn,
context_state.provider_name,
context_state.member_name,
office_user.user_name,
DECODE(context_state.lockedby_id,NULL,'N','Y')
),sys.xmlgenformattype.createFormat('CLAIM')
), sys.xmlgenformattype.createFormat('CLAIMS')
).GETCLOBVAL() "XML"
FROM context_state,
office_user,
clm_mngt_proc_step_type
WHERE context_state.assignedto_id = office_user.user_id (+)
AND context_state.clm_mngt_proc_step_type_code = clm_mngt_proc_step_type.clm_mngt_proc_step_type_code
AND context_state.office_id = '99'
<?xml version="1.0"?>
<CLAIMS>
<CLAIM error="N">
<CONTEXT_STATE_ID>34A5ED94-569E-49C0-904E-7483BFF566CE</CONTEXT_STATE_ID>
<CONTEXT_TYPE_CODE>SAVECLAIM</CONTEXT_TYPE_CODE>
<CLM_MNGT_PROC_STEP_TYPE_NAME>Phys.Not Found</CLM_MNGT_PROC_STEP_TYPE_NAME>
<BATCH_NAME>20020122-1049</BATCH_NAME>
<DATE_OF_SERVICE>22-JAN-02</DATE_OF_SERVICE>
<PATMRN>03NMF87661234</PATMRN>
<PROVIDER_NAME>Hamilton, D.R.</PROVIDER_NAME>
<MEMBER_NAME>Collins, Jane</MEMBER_NAME>
<LOCKED>N</LOCKED>
</CLAIM>
<CLAIM error="N">
<CONTEXT_STATE_ID>D8C484E7-D413-43CF-B2F4-796B4778C00E</CONTEXT_STATE_ID>
<CONTEXT_TYPE_CODE>SAVECLAIM</CONTEXT_TYPE_CODE>
<CLM_MNGT_PROC_STEP_TYPE_NAME>Phys.Not Found</CLM_MNGT_PROC_STEP_TYPE_NAME>
<BATCH_NAME>20020122-1049</BATCH_NAME>
<DATE_OF_SERVICE>22-JAN-02</DATE_OF_SERVICE>
<PATMRN>03NMF45385225</PATMRN>
<PROVIDER_NAME>Willford, M.</PROVIDER_NAME>
<MEMBER_NAME>Thomas, Lisa</MEMBER_NAME>
<LOCKED>N</LOCKED>
</CLAIM>
</CLAIMS>

Please follow the discussion in the following thread
How does XML DB transform a Schema into object-relationals tables?

Similar Messages

  • Example xsl to transform database table to xml

    Hi All,
    I am looking for sample xsl to transform database table to xml.
    Thanks in Advance.

    ODI does not use XSL for transforming DB Data into XML.
    It uses a built-in JDBC Driver for XML files. The XML file appears like a DB Engine. At the end of the day, it is more like JDBC to JDBC data transfer.
    Regards,
    -FX

  • How to define object type in plsql

    I create a type...
    CREATE OR REPLACE TYPE t_Archive_Data_Obj AS OBJECT
    (Archive_Name VARCHAR2(40), Archive_Data CLOB);
    I create a type in plsql.....
    TYPE tt_Archive_Data IS TABLE OF t_Archive_Data_Obj;
    Can I, instead of creating the object type as a database object, some how define the same in plsql and then create a table type and use.
    Thanks & Regards.

    coz I'm using it as an out parameter in plsql procedure and this procedure is called by a java application.
    Now to access this type in java to get the returned value I used Jpublisher to generate a class, this class is being used in java application.
    I'm sorry I have not check one thing that now if I instead used record in plsql and try to access the returned value using the same class will it work or not. I should have tested then asked questions on forum.
    Regards.

  • Need help on defining object-type dependent attributes for documents

    Hi everyone,
    I'm trying to define different attributes for documents (attachments), depending on document type.
    I performed customizing activities as specified in IMG notes (define structure and table for the attributes, attribute model, register attribute model with table and structure, map model to object type, map object type to document type)
    But I didn't find any new BOL in CM GenIL component with my attributes...
    I already have type-independent attributes defined, and I see them in the CMDocument BOL.
    I don't know how to use my attributes, nor in code niether in UI.
    Did I miss something?
    Thanks,
    Yulia

    return self.amount+self.depositamount;I counld not find any amount field in your type definitions
    if self.status='OPEN' thenIs it w_accountt.status ?? since there is no status field in accountmanager_t type
    return self.currentamount-self.withdrawalamount;same comments for currentamount
    member function deposit(d_accountt account_t,d_transno number default 1) return account_t asWhere as your return expression is a number??

  • Relational table to XML

    We are currently in the technical definition of a project to extract data from multiple tables to create an XML document to pass to another application. I am not too certain of what the XML document will look like yet, or how big it will end up.
    We have not used XML yet and will be upgrading to Oracle 9i in the very near future.
    My question is does anybody have any views on what would be the best method to achieve this.
    1) Use a complex cursor/select within PL/SQL and generate the XML using SQLX or
    2) Store an empty XML document in an XMLType table/column and then populate the XML document from each table as required or
    3) Copy the data from multiple tables to a new simple table and then use XMLForest or something similar to create XML or
    4) Something other method ?

    Deepak,
    Thanks for your response. Unfortunately we will not be able to use Java to generate the XML as there too few people involved who have the Java knowledge, so we will have to PL/SQL to generate the XML.
    Does your reply relate to option 1 or 3 ?

  • MULTIPLE ROWS IN OBJECT RELATIONAL TABLE, HELP

    Hi,
    Here is my problem explanation. Please help. I have created an object type address, and a relational table called employee. One of the column in employee table is based on the type address. Now suppose I want to have 5 differrent addresses for a perticular employee how can I have it stored? The empno is the primary key .Here is the data strucure
    address( line1 varchar2(30),city varchar2(30), state varchar2(20), zip varchar2(13))
    employee
    (empno number,
    name varchar2(60),
    emp_add address)
    Thanks
    Feroz

    Well you could give your employees a nested table of addresses. But as William said, you really ought to use relational tables for this situation.
    I haven't yet come across a compelling argument for using Types instead of tables for data storage, and there are lots of drawbacks. Duplication of data is just one.
    Cheers, APC

  • TYPE OR TABLE DEPENDENCY OF OBJECT TYPE (ORA-2303)

    제품 : SQL*PLUS
    작성날짜 : 2004-05-20
    ==================================================
    TYPE OR TABLE DEPENDENCY OF OBJECT TYPE (ORA-2303)
    ==================================================
    PURPOSE
    Type이나 table의 dependency가 있는 type을 drop하거나 replace하고자
    하면 ORA-02303 error가 난다. 이 error의 원인을 알아보도록 한다.
    Explanation
    Object의 attribute나 method를 수정하기 위해서는 object type을 drop하고 재생성
    해야 한다. Type이나 table의 dependency가 있는 type을 drop하거나 replace하고자
    하면 ORA-02303 error가 난다. Object type은 type (nested table 또는 VARRAY)
    또는 object table로써 구체적으로 표현된다. 만약 data의 보존이 필요하다면
    temporary table에 manual하게 옮겨놓아야 한다.
    SQL Reference guide에 의하면 DROP TYPE FORCE 옵션은 recommend하지 않는다.
    왜냐하면 이 옵션을 쓰게 되면 복구가 불가능하고 dependency가 있던 table들은
    access하지 못하는 결과를 초래한다.
    Example
    아래의 query 1, 2, 3은 dependency을 확인하는 query문이다.
    1. Find nested tables
    select owner, parent_table_name, parent_table_column
    from dba_nested_tables
    where (table_type_owner, table_type_name) in
    (select owner, type_name
    from dba_coll_types
    where elem_type_owner = '<typeOwner>'
    and elem_type_name = '<typeName>');
    2. Find VARRAYs
    select owner, parent_table_name, parent_table_column
    from dba_varrays
    where (type_owner, type_name) in
    (select owner, type_name
    from dba_coll_types
    where elem_type_owner = '<typeOwner>'
    and elem_type_name = '<typeName');
    3. Find object tables
    select owner, table_name
    from dba_object_tables
    where table_type_owner = '<typeOwner>'
    and table_type = '<typeName>'
    and nested = 'NO';
    Example ) Logon as Scott
    /* Create an user defined object type */
    SQL> create type object_type as object (
    col1 number,
    col2 varchar2(20))
    Type created.
    /* Create nested table type */
    SQL> create type object_ntable as table of object_type
    Type created.
    /* Create varray type*/
    SQL> create type object_varray as varray(5) of object_type
    Type created.
    /* Create parent table with nested table and varray */
    SQL> create table master (
    col1 number primary key,
    col2_list object_ntable,
    col3_list object_varray)
    nested table col2_list store as master_col2
    Table created.
    /* Create object table */
    SQL> create table object_table of object_type (col1 primary key)
    object id primary key;
    Table created.
    ORA-2303 results if attempt to drop type with dependencies
    SQL> drop type object_type;
    drop type object_type
    ERROR at line 1:
    ORA-02303: cannot drop or replace a type with type or table dependents
    위의 queery 1,2,3을 이용하여 object type dependency을 확인한다.
    -- Find nested tables utilizing object type
    SQL> select owner, parent_table_name, parent_table_column
    from dba_nested_tables
    where (table_type_owner, table_type_name) in
    (select owner, type_name
    from dba_coll_types
    where elem_type_owner = 'SCOTT'
    and elem_type_name = 'OBJECT_TYPE');
    OWNER PARENT_TABLE_NAME PARENT_TABLE_COLUMN
    SCOTT MASTER COL2_LIST
    -- Find VARRAYs utilizing object type
    SQL> select owner, parent_table_name, parent_table_column
    from dba_varrays
    where (type_owner, type_name) in
    (select owner, type_name
    from dba_coll_types
    where elem_type_owner = 'SCOTT'
    and elem_type_name = 'OBJECT_TYPE');
    OWNER PARENT_TABLE_NAME PARENT_TABLE_COLUMN
    SCOTT MASTER COL3_LIST
    -- Find object tables
    SQL> select owner, table_name
    from dba_object_tables
    where table_type_owner = 'SCOTT'
    and table_type = 'OBJECT_TYPE'
    and nested = 'NO';
    OWNER TABLE_NAME
    SCOTT OBJECT_TABLE
    참고)
    bulletin : 11576 처럼 utility을 이용하는 방법이 있다.
    우리는 여기서 주의하여야 할 것은 script $ORACLE_HOME/rdbms/admin/utldtree.sql
    을 내가 보고자 하는 user에서 돌려야 한다는 것이다.
    $sqlplus scott/tiger
    SQL> @$ORACLE_HOME/rdbms/admin/utldtree.sql
    SQL> exec deptree_fill('TYPE','SCOTT','OBJECT_TYPE');
    PL/SQL procedure successfully completed.
    SQL> select * from ideptree;
    DEPENDENCIES
    TYPE SCOTT.OBJECT_TYPE
    TYPE SCOTT.OBJECT_NTABLE
    TABLE SCOTT.MASTER
    TYPE SCOTT.OBJECT_VARRAY
    TABLE SCOTT.MASTER
    TABLE SCOTT.MASTER_COL2
    TABLE SCOTT.OBJECT_TABLE
    Reference Documents
    Korean bulletin : 11576
    <Note:69661.1>

    Hi Carsten,
    Thanks for the sharp hint. It works.
    However, when I create a table using the schema, it gives me this error:
    varray DOC."LISTOFASSIGNEDNUMBER"."ASSIGNEDNUMBER"
    ERROR at line 14:
    ORA-02337: not an object type column
    Here is the script:
    CREATE TABLE CUSTOMMANIFEST (
    ID NUMBER PRIMARY KEY,
    DOC sys.XMLTYPE
    xmltype column doc
    XMLSCHEMA "http://www.abc.com/cm.xsd"
    element "CustomManifest"
    varray DOC."LISTOFMANIFESTPORTINFO"."MANIFESTPORTINFO"
    store as table MANIFESTPORTINFO_TABLE
    (primary key (NESTED_TABLE_ID, ARRAY_INDEX))
    organization index overflow
    varray DOC."LISTOFASSIGNEDNUMBER"."ASSIGNEDNUMBER"
    store as table ASSIGNEDNUMBER_TABLE
    (primary key (NESTED_TABLE_ID, ARRAY_INDEX))
    organization index overflow
    LISTOFASSIGNEDNUMBER itself is complexType and not sure where is the error....
    You may note there are more than two hierachy/levels...
    Thanks.

  • Import object type table problem

    After import database i didn't find (User define object type)
    or tables based on object
    PS. i create another user on the same server and import DMP to it
    Thanks
    Khalil Sakr

    Hi,
    I do not know what you exaclty mean but are you just want to create a internal table or an table type?
    DATA: ta_mara type standard table of mara.
    TYPE: tt_mara type standard table mara.
    Again, I have difficulties to understand what you need.
    Best regards,
    Guido Koopmann

  • Working with oracle object type tables

    Hi,
    I've created a table which only contains Oracle object types (e.g. CREATE TABLE x OF <...>). When I create an Entity for this table using the Entity wizard, I end up with an entity with the attributes of the base object type and two special attributes REF$ (reference to the object type instance) and SYS_NC_OID$ (unique object identifier). The REF$ attribute is on the Java side of type oracle.jbo.domain.Ref and the other attribute is on the Java side a simple String.
    It seems this only allows me to save objects of the base type in this table. First of all in my situation this is also impossible because the base type is not instantiable. What I do want is to save several different subtypes into this table using the BC4J custom domain mechanism. Is there any way to make this possible? I first thought I could maybe do something with the special REF$ attribute, but this doesn't seem te case. So I might need to override most of the EntityImpl methods, like doUML, remove etc. Am I right? And does anyone have any hints on how to do this?
    Regards,
    Peter

    Peter:
    Hi,
    I've created a table which only contains Oracle
    object types (e.g. CREATE TABLE x OF <...>).
    When I create an Entity for this table using the
    Entity wizard, I end up with an entity with the
    attributes of the base object type and two special
    attributes REF$ (reference to the object type
    instance) and SYS_NC_OID$ (unique object identifier).
    The REF$ attribute is on the Java side of type
    oracle.jbo.domain.Ref and the other attribute is on
    the Java side a simple String.
    It seems this only allows me to save objects of the
    base type in this table. First of all in my situation
    this is also impossible because the base type is not
    instantiable. What I do want is to save several
    different subtypes into this table using the BC4J
    custom domain mechanism. Is there any way to make
    this possible? Sorry, but this is not supported out of the box.
    Since you have an object table, you wouldn't use domains to achieve this. Instead, you would have a superclass and subclass entity objects, e.g., PersonEO subclassed into StudentEO and EmployeeEO.
    I first thought I could maybe do
    something with the special REF$ attribute, but this
    doesn't seem te case. So I might need to override
    most of the EntityImpl methods, like doUML, remove
    etc. Am I right? And does anyone have any hints on
    how to do this?
    If you want, you can try this by overridding EntityImpl's:
       protected StringBuffer buildDMLStatement(int operation,
          AttributeDefImpl[] allAttrs,
          AttributeDefImpl[] retCols,
          AttributeDefImpl[] retKeys,
          boolean batchMode)
    and
       protected int bindDMLStatement(int operation,
          PreparedStatement stmt,
          AttributeDefImpl[] allAttrs,
          AttributeDefImpl[] retCols,
          AttributeDefImpl[] retKeys,
          HashMap retrList,
          boolean batchMode) throws SQLException
    Handle the case when operation == DML_INSERT.
    There, build an insert statement with substitutable row, e.g.:
    INSERT INTO persons VALUES (person_t('Bob', 1234));
    INSERT INTO persons VALUES (employee_t('Joe', 32456, 12, 100000));
    where person_t and employee_t are database types and you are invoking the respective constructor.
    Thanks.
    Sung

  • PL/SQL Object Type - Java oracle.jbo.domain

    PL/SQL Object Type <-> Java oracle.jbo.domain
    can anybody help me, getting my domains to work?
    Following scenario:
    in pl/sql we have an object type called MULTI_LANGUAGE. This type is used for storing multilingual texts as nested table in one(!) column.
    So the object MULTI_LANGUAGE contains a member variable LANGUAGE_COLLECTION of type LANGUAGE_TABLE, which itself is a nested table of objects
    of the type LANGUAGE_FIELD (this again is only a language id and the corresponding content)
    Also the methods setContent(langID, langContent) and getContent(langId) are defined on Object MULTI_LANGUAGE.
    For example: Table having primary key, 2 other columns and one column of object type MULTI_LANGAGE (=nested table of objects)
    |ID|Column1|Column2|  multilingual Column  |
    |--|---------------------------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | hello         | |
    |  |       |       |  -------------------  |
    |1 | foo   | bar   | | 2 | hallo         | |   <- Row Nr 1
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ola           | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | world         | |
    |  |       |       |  -------------------  |
    |2 | abc   | def   | | 2 | welt          | |   <- Row Nr 2
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ???  ;-)      | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|Now i've tried to modell this structure as an oracle.jbo.domain.
    class MultiLanguage extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("LanguageColl", "LANGUAGE_COLL", 0, oracle.jbo.domain.Array.class, 2003, "ARRAY", -127, 0, false, "campusonlinepkg.common.LanguageField");
    and
    class LanguageField extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("Id", "ID", 0, oracle.jbo.domain.Number.class, 2, "NUMERIC", -127, 0, false);
    attrs[(1)] = new DomainAttributeDef("Content", "CONTENT", 1, java.lang.String.class, 12, "VARCHAR", -127, 4000, false);
    Is there anything wrong with this StructureDef?
    When running the BC-Browser with -Djbo.debugoutput=console -Djbo.jdbc.driver.verbose=true parameters I get suspect warnings when browsing the records
    [196] Executing FAULT-IN...SELECT NR, NAME FROM B_THESAURI BThesauri WHERE NR=:1
    [197] SQLException: SQLState(null) vendor code(17074)
    [198] java.sql.SQLException: Ungültiges Namensmuster: XMLTEST.null
    ...snip: detail of stack...
    [240] SQLException: SQLState(null) vendor code(17060)
    [241] java.sql.SQLException: Deskriptor konnte nicht erstellt werden: Unable to resolve type "null"
    ...snip: detail of stack...
    [280] Warning:No element type set on this array. Assuming java.lang.Object.
    (XMLTEST is the name of the schema)
    Seems as if the framework can't read the TypeDescriptor or does not know which descriptor to read (XMLTEST.null??)
    Do I have to implement my own JboTypeMap?
    Please help, I'm stuck.
    Thanks in advance, Christian

    Thanks for your suggestion, but it seems to me as if there is one level missing.
    in pl/sql I have following structure:
    Struct MULTI_LANGUAGE (Object type) - outermost
      Array LANGUAGE_TABLE (nested table type)
        Struct LANGUAGE_FIELD (Object type simple) - innermostthe reason why i had to wrap another struct around the array was because it is not possible to define methods on a nested table. this is only possible on objects.
    on the outermost object type (which holds the array of language fields) I needed to define following 2 methods for direct access:
    getContent (langId in number) returns varchar2
    setContent (langId in number, langContent in varchar2)
    I would like to rebuild the same structure in java, because newly written java code should live in perfect harmony with legacy pl/sql code ;-)
    Both applications (Java and pl/sql) have to access the same data as long as migration to java goes on.
    Is this nested structure too much for a Domain?
    Any other suggestions?
    Thanks again, Christian

  • Object to user defined object

    I pushed user defined objects in to the Vector or Stack.
    But they return an java defined Object type when I try to use them.
    Is there way that I can convert this Object into my defined object.
    MyClass a;
    MyClass b;
    Stack table = new Stack();
    table.push(a);
    table.push(b);
    //now when i use pop to get it back it returns an Object type
    Object temp = table.pop();
    //how do I change this object into MyClass so i can have access to MyClass stuff?

    dam..thank you so much I feel stupid..Don't.
    Casting is one of those things that can take a while to get used to.
    In your original post, you asked: how do I change this object into MyClass so i can have access to MyClass stuff?
    It's important that you understand that casting doesn't change the object in any way.
    All it does is cause a reference that's been declared as one type to be treated as a different type. So even though all the compiler knows about what's returned from pop() is that it refers to an Object, you're telling it you know better, and that the object pointed at will in fact be a MyClass, and so you can access MyClass' members.
    If, at runtime, the object you happen to pop off the stack isn't a MyClass, casting won't magically turn it into one. You'll get a ClassCastException.

  • Trying to pass Oracle array/object type to Java

    I have a Java class with two inner classes that are loaded into Oracle:
    public class PDFJ
        public static class TextObject
            public String font_name;
            public int font_size;
            public String font_style;
            public String text_string;
        public static class ColumnObject
            public int left_pos;
            public int right_pos;
            public int top_pos;
            public int bottom_pos;
            public int leading;
            public TextObject[] column_texts;
    }I have object types in Oracle as such that bind to the Java classes:
    CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_TEXT" AS OBJECT
    EXTERNAL NAME 'PDFJ$TextObject'
    LANGUAGE JAVA
    USING SQLData(
      "FONT_NAME" VARCHAR2(25) EXTERNAL NAME 'font_name',
      "FONT_SIZE" NUMBER EXTERNAL NAME 'font_size',
      "FONT_STYLE" VARCHAR2(1) EXTERNAL NAME 'font_style',
      "TEXT_STRING" VARCHAR2(4000) EXTERNAL NAME 'text_string'
    CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_TEXT_ARRAY" AS
      TABLE OF "PROGRAMMER"."PDFJ_TEXT";
    CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_COLUMN" AS OBJECT
    EXTERNAL NAME 'PDFJ$ColumnObject'
    LANGUAGE JAVA
    USING SQLData(
      "LEFT_POS" NUMBER EXTERNAL NAME 'left_pos',
      "RIGHT_POS" NUMBER EXTERNAL NAME 'right_pos',
      "TOP_POS" NUMBER EXTERNAL NAME 'top_pos',
      "BOTTOM_POS" NUMBER EXTERNAL NAME 'bottom_pos',
      "LEADING" NUMBER EXTERNAL NAME 'leading',
      "COLUMN_TEXTS" "PROGRAMMER"."PDFJ_TEXT_ARRAY" EXTERNAL NAME 'column_texts'
    CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_COLUMN_ARRAY" AS
        TABLE OF "PROGRAMMER"."PDFJ_COLUMN";
    /I successfully (as far as I know) build a PDFJ_COLUMN_ARRAY object in a PL/SQL procedure. The PDFJ_COLUMN_ARRAY contains PDFJ_COLUMN objects; each of those objects contains a PDFJ_TEXT_ARRAY of PDFJ_TEXT objects (Example: pdf_column_array(i).pdf_text_array(i).text_string := 'something';). In this procedure, I pass this PDFJ_COLUMN_ARRAY as a parameter to a Java function. I assume the Java function parameter is supposed to be a oracle.sql.ARRAY object.
    I cannot figure out how to decompose this generic ARRAY object into a ColumnObject[] array. I also tried Googling and searching the forums, but I can't figure out matching search criteria. I was wondering if anyone here knows anything about passing user-defined Oracle type objects to a Java function and retrieving the user-defined Java class equivalents that they are supposedly mapped to--especially a user-defined array type of user-defined object types containing another user-defined array type of user-defined object types.

    Ok. I will try asking on the JDBC forum. So, don't
    flame me for cross-posting. :PWe won't, if over there you just post basically a
    link to this one.
    sigh Guess what, he did it the flame-deserving way. It's crossposted at:
    http://forum.java.sun.com/thread.jspa?threadID=602805
    <flame level="mild">Never ceases to amaze me how people don't think that posting a duplicate rather than a simple link isn't wasteful, as people could end up answering in both of them, not seeing each other's answers</flame>

  • Object Types

    Can anyone please tell me:
    The legal syntax for inserting data into a user defined Object Type. Is it possible, in the declaration, to set each individual field of the Type to NULL?
    And then, do a SELECT...INTO to move data into those fields? E.G.
    Declare
    ab ab_rec (user defined Type w/10 fields)
    Select w, x, y
    Into ab.field1, ab.field2, ab.field3
    From table_name
    Where ...
    And then lastly, how can I verify if the data was entered into the fields?
    Thank you.
    null

    This worked for me:
    create type rivers as object (
    river_name varchar2(20),
    river_geom MDSYS.SDO_GEOMETRY)
    create table rivers_tab of rivers;
    create type cities1 as object (
    city_name varchar2(30),
    population number,
    city_geom mdsys.sdo_geometry)
    create table cities_tab of cities1;
    delete from user_sdo_geom_metadata where table_name='CITIES_TAB'
    and column_name= 'CITY_GEOM';
    insert into user_sdo_geom_metadata values(
    'CITIES_TAB', 'CITY_GEOM',
    sdo_dim_array (
    sdo_dim_element ('x', -10000, 10000, .5),
    sdo_dim_element ('y', -10000, 10000, .5)),
    null);
    delete from user_sdo_geom_metadata where table_name='RIVERS_TAB'
    and column_name= 'RIVER_GEOM';
    insert into user_sdo_geom_metadata values(
    'RIVERS_TAB', 'RIVER_GEOM',
    sdo_dim_array (
    sdo_dim_element ('x', -10000, 10000, .5),
    sdo_dim_element ('y', -10000, 10000, .5)),
    null);
    drop index cities_tab_sidx;
    create index cities_tab_sidx on cities_tab(city_geom)
    indextype is mdsys.spatial_index;
    drop index rivers_tab_sidx;
    create index rivers_tab_sidx on rivers_tab(river_geom)
    indextype is mdsys.spatial_index;
    to delete from user_sdo_geom_metadata you are using string literals (correct) to decide what to delete. But you should be using upper case letters, i.e.:
    where name_table='TABLE_X' and column_name='SHAPE_X'

  • Problem With Cutom Configuration with Object Type

    Dear Guru's
    I am working WebUI, I am facing a problem with Custom Configuration.
    1. The initial requirement to control the visibility for a dropdown event in ERP Quotation.
    2. To this i copied the default configuration to custom configuration with custom Object type and Subtype.
           CONFIG KEY: ZPJQTN
           OBJECT TYPE: ZOTYP_CONFIG
           OBJECT SUB TYPE:  ZSTYPE_CONFIG1
    3. I have created customm fields in enhancement.
    4. Now i chosen my new configuration (ZPJQTN,ZOTYP_CONFIG,ZSTYP_CONFIG1), when i click Show available fields, the custom fields are not showing. Instead the created fields are available at other configuration.
    5. I am able to control the visibility for the standard available fields.But i am not getting the custom created fields
    (Note:  I have created the Object type and Object sub type as follows: SPRO->CRM->UI Framework->Define Object Types
    Object type: ZOTYP_CONFIG Callback class: ZCL_CONFIG_CALLBACK
    Redifned the method: IF_BSP_DLC_OBJ_TYPE_CALLBACK~GET_OBJECT_SUB_TYPES
    Coded as below:
      data: lv_subtype type bsp_dlc_object_sub_type.
      lv_subtype = 'ZSTYP_CONFIG1'.
      append lv_subtype to result.
      lv_subtype = 'ZSTYP_CONFIG2'.
      APPEND lv_subtype to result.
    Now Please suggest me how to achieve this.
    Also please let me know, whether i am following the correct procedure for controlling the visibility.
    Thanks in Advance,
    S.Meganadhan.

    Hi Harshit,
    I added custom fields using AET only.
    I am able to see the field got added in the structure. I am able to access GET and SET methods of the field.
    But the problem is, it is not getting saved. Am i missed any configuration step?
    Please suggest me.
    Thanks in advance,
    Regards,
    S.Meganadhan.

  • Passing Object types using JDBC

    I need to pass Oracle user-defined object types in and out of
    PL/SQL stored procedures. Is this possible???
    Thanks
    null

    Hi Tina,
    I just had another thought. JDBC for 8.0 doesn't support
    user-defined SQL types. This feature isn't implemented until 8i.
    Sorry about the false lead!
    So you'd have to wrapper your object in another PL/SQL method
    which 'explodes' the user-defined type, as:
    procedure can_call_from_jdbc (ename varchar2, empno number, ...)
    is...
    begin
    call my_procedure(employee_t(ename, empno, ...));
    end;
    Pierre
    Oracle Product Development Team wrote:
    : Hi Tina,
    : Yikes! I'm glad you asked; it made me realize that some info
    : that's supposed to be posted on our external site is missing.
    I
    : think it'll take about a week to push this to our external
    site.
    : I'll try to find you a version and email it to you directly.
    : Thanks!
    : Pierre
    : Tina Creighton (guest) wrote:
    : : I'm currently using version 8.04 with Objects option, I'm
    : trying
    : : to locate the oracle.jpub class. Is there a way to download
    : the
    : : new jdbc that works with objects. Thanks. Tina
    : : Oracle Product Development Team wrote:
    : : : Absolutely!
    : : : the easiest thing is first to use JPub to generate a Java
    : : object
    : : : which is an analogue to the SQL object you have. For
    : example,
    : : : if your SQL object is called 'EMPLOYEE_T', you can invoke
    : JPub
    : : : with:
    : : : $ jpub -sql=employee_t -url=jdbc:oracle:oci8:@
    : : -user=scott/tiger
    : : : or even
    : : : $ java oracle.jpub.Main -sql=employee_t
    : -url=jdbc:oracle:oci8:@
    : : : -user=scott/tiger
    : : : This'll give you a Java class used to represent Java
    : instances
    : : of
    : : : the SQL 'employee_t', featuring friendly setters and getter
    : for
    : : : the fields.
    : : : If you have PL/SQL programs which take arguments of type
    : : : employee_t, such as:
    : : : PROCEDURE P1 (N NUMBER, E EMPLOYEE_T) IS...
    : : : PROCEDURE P2 (N NUMBER, E OUT EMPLOYEE_T) IS...
    : : : PROCEDURE P3 (N NUMBER, E IN OUT EMPLOYEE_T) IS...
    : : : You can call them in a SQLJ program as:
    : : : main () {
    : : : employee_t e; // the class generated by JPub
    : : : #sql {call P1(1, :e);}
    : : : #sql {call P2(2, :out e);}
    : : : #sql {call P3(3, :in out e);}
    : : : to call your three PL/SQL procedures. After the call to P2
    : and
    : : : P3, your
    : : : variable 'e' will be populated with the contents of the new
    : : : employee_t value
    : : : that was output from the PL/SQL method.
    : : : (SQLJ is just a shorthand way of calling JDBC. SQLJ
    programs
    : : are
    : : : translated
    : : : into SQLJ programs by calling the "SQLJ Translator":
    : : : $ sqlj myfile.sqlj
    : : : Pierre
    : : : Tina creighton (guest) wrote:
    : : : : I need to pass Oracle user-defined object types in and
    out
    : of
    : : : : PL/SQL stored procedures. Is this possible???
    : : : : Thanks
    : : : Oracle Technology Network
    : : : http://technet.oracle.com
    : Oracle Technology Network
    : http://technet.oracle.com
    Oracle Technology Network
    http://technet.oracle.com
    null

Maybe you are looking for