Regarding Object Declaration and Instatiation

Hi,
can u please tel me wat JVM does during compilation time for the declared objects which are not yet instatiated.
I know that memory will not be allocated for declared objects.if so how JVM will recognize these declared objects?
Thanks and regards,
Veerabhadrarao.Gandikota

go through the below link
http://www.artima.com/insidejvm/ed2/jvmP.html
Thanks
Siju Kurian
Starmark service pvt ltd

Similar Messages

  • Declare and initialize a varray of collection Object and pass it as OUT Par

    Hi ,
    How to declare and initialize a varray of collection Object and pass it as OUT Parameter to a procedure.
    Following is the Object and VARRAY Type 's I have created and trying to pass the EmployeeList varray type variable as an OUT parameter to my stored procedure, but it is not working. I tried different possibilities of declaring and initializing the varray type variable but it did not work. Any help would be appreciated.
    CREATE TYPE Employee IS Object
              employeeId     Number,
              employeeName VARCHAR2(31),
              employeeType     VARCHAR2(20),
    CREATE TYPE EmployeeList IS VARRAY(100) OF Employee;
    /* Procedure execution block */
    declare
    employees EmployeeList;
    begin
    EXECUTE displayEmployeeDetails(100, employees);
    end;
    Thanks in advance,
    Raghu.

    but it is not workingWhat's the definition of not working?
    Error messages are always helpful.
    SQL> CREATE OR REPLACE TYPE Employee IS Object
      2  (
      3  employeeId Number,
      4  employeeName VARCHAR2(31),
      5  employeeType VARCHAR2(30)
      6  );
      7  /
    Type created.
    SQL>
    SQL> CREATE OR REPLACE TYPE EmployeeList IS VARRAY(100) OF Employee;
      2  /
    Type created.
    SQL> CREATE OR REPLACE PROCEDURE getEmployeeDetails (
      2    o_employees OUT employeelist
      3  )
      4  AS
      5  BEGIN
      6   o_employees := employeelist();
      7   o_employees.EXTEND;
      8   o_employees(1) := employee(1,'Penry','Mild Mannered Janitor');
      9  END;
    10  /
    Procedure created.
    SQL> set serveroutput on
    SQL> declare
      2   employees employeelist;
      3  begin
      4   getemployeedetails(employees);
      5   for i in 1 .. employees.count
      6   loop
      7    dbms_output.put_line(employees(i).employeeid||' '||
      8                         employees(i).employeename||' '||
      9                         employees(i).employeetype);
    10   end loop;
    11  end;
    12  /
    1 Penry Mild Mannered Janitor
    PL/SQL procedure successfully completed.
    SQL>

  • Regarding objects using load

    Why we use load keyword regarding objects and methods?

    Hi,
    The variant with the LOAD addition loads a global class class from the Class Library. This statement was needed before Release 6.20 if you wanted to access one of the static components of class from within a program, or to declare an event handler for class before class had been loaded automatically. From Release 6.20 onwards, the LOAD addition is only needed if the compilation of an ABAP program fails because it includes recursive accesses of a globa l class. In such cases, you may be able to make the program compilable by explicitly loading the class before recursion.
    Example
    In this example, the class c1 uses the class c2 and vice versa. This means that one of the classes must be made known before it is actually defined. The global class cl_gui_cfw is also loaded before one of its static attributes is used.
    CLASS c1 DEFINITION DEFERRED.
    CLASS c2 DEFINITION.
      PUBLIC SECTION.
        DATA c1ref TYPE REF TO c1.
    ENDCLASS.
    CLASS c1 DEFINITION.
      PUBLIC SECTION.
        DATA c2ref TYPE REF TO c2.
    ENDCLASS.
    CLASS cl_gui_cfw DEFINITION LOAD.
    DATA state LIKE cl_gui_cfw=>system_state.
    An example of using the DEFERRED PUBLIC addition would be a type group in which a reference type is declared with a reference to a global class, which itself contains components with references to this reference type. In this situation, the entire class cannot be loaded before the type group, since the types are not yet known. However, after the CLASS DEFINITION ... DEFERRED PUBLIC statement, the class name can be specified after REF TO without the class having been loaded previously.
    Regards,
    Renjith Michael.

  • Questions on ADF View Objects, Links and Iterators

    I have a number of questions regarding using ViewObjects in applications where there are alot of relationships between tables.
    First, lets say that I have ViewObject SomeView that was added to the App Module (AM) as VO1. And because it has a number of "detail" records that have to be iterated through in a "report like" view it has those other VO's added under it as "children" in the AM.
    So I have
    VO1 (an instance of SomeView)
    --> VO2 (an instance of some other view)
    --> VO3 (an instance of some other view)
    that is used on pages where only a single VO1 is shown at a time.
    Now because I had another page I wanted to make that had a listing of all SomeView objects. Some of the fields in SomeView are foreign keys to records in VO2 and VO3 and while I don't want to show all the fields from VO2 and VO3, I do want to show a name field from each rather than just the foreign key.
    My experience (though I've never read this anywhere) tells me that when doing a "table" that is a list of rows from a VO, you can't display info from the child VO's because the child VO's are on whatever record corresponds to the "currentRow" in the parent VO and just displaying the rows in a rangeSet doesn't make each the "currentRow" so even we display 10 records in a for loop, the "currentRow" is just one, and the child VO's iterators aren't moved as we go through the for loop. (Can someone confirm if I am correct on this conclusion????)
    So the only way I know of to show some field from a related table in each row is to make the VO have the entity objects from the related tables be part of the view as references. Is this the only way?
    If I do that on a view that didn't have other views as children defined in the AM I don't have any problem and it works like I want.
    But if I do it on a view that did have other views as children defined in the AM it makes the page(s) using that view with the children iterators behave badly. Half the information quits showing up, etc.
    For example, ... if I go to the "SomeView" which was defined with only one entity object association, and I add the entity objects (that are the basis of instances of VO2 and VO3 ) as referenceable only, it totally breaks the page where I display a single VO1 and use it's VO2 and VO3 children. IS THIS NORMAL OR AM I MISSING SOMETHING?
    So, is the solution that I have to have more view objects defined for different purposes ?
    Can anyone give any general guidelines for when/where to use different view objects vs. when to use different iterators. I'm not having much luck with using secondary RSI's and haven't found much info on them.
    Also, how about issues of naming iterators that are in various binding containers (ie. UI Model for a page). If I do and LOV it creates an iterator and gives it a default name like ViewNameIterator1. If I already have a different page that uses a regular (non LOV) iterator with that name, and the user goes back and forth between those pages, is that a clash?
    Finally, I've read a couple of Steve Muench's blogs on View Link consistency but I'm not sure what the rules are on when it applies and doesn't. How you turn it on or off, etc. One of his examples in http://radio.weblogs.com/0118231/2004/02/27.html talks about it in the context of two view objects that are NOT typically "linked" in a master/detail kind of way. Like an AllDepartments and a DepartmentsLessThan view. Do you have to create a View Link between them to have results of one be reflected in the other if they aren't used in the same page in a web app? Or does it happen automatically (with the caveat that you have to do the rowQualifies method). Just feels like I'm missing some pieces.
    Thanks in advance,
    Lynn

    Hi,
    I am also interested in a best-practice note from oracle.
    Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
    Thanks

  • Hi, i am having an issue with a basic motion scroll effect.  I already watched and read every tutorial out there regarding this topic and even tried the adobe chat support, but the guy on the other end of the line disconnected me-, probably he didn't unde

    Hi, i am having an issue with a basic motion scroll effect.
    I already watched and read every tutorial out there regarding this topic and even tried the adobe chat support, but the guy on the other end of the line disconnected me…, probably he didn't understand what i wanted from him because english is not my native language, so a will try to be very, very clear about this one..
    please note, that i am new to muse, this is my first project ever.
    my idea is as following:
    when the customer comes to our companies site, he just sees our logo on a white Background. the logo consists of, say, four elements. when the customer scrolls down, the logo starts to disassamble: first the first part of the logo flies out the left side of the site, then the second part of the logo vanishes down, then the third part of the logo flies to the right, then the fourth part of the logo flies to the top and out of the customers view. given what i have seen, it is possible to do that….
    so…..
    now i have the four parts of my logo imported as png files into muse and assembled them in design view to build our companies logo. I select every one of the four parts and go into the scroll effects tab left beside the layers tab. first i enter the same values for every one of the four parts: initial motion: 0x and 0x again for the left and right motion; key position ( t-handle) : 0px; final motion: 0x and 0x again for the left and right value.
    now i hit "preview".: the logo is "pinned" at the correct position, i can scroll but the logo stays where it is. so far so good….
    now i select all the four elements again and go to the scroll effecs tab. at "final motion", i click the down arrows and enter 1x. I hit Preview…
    when i am scrolling down the WHOLE logo goes down…. so far so good.
    NOW i want the first part of the logo to go down, THEN the second part to go left, THEN the third part to go up, THEN the fourth part to go right.
    so i select ONLY the first part, go to the scroll motion tab, at "final motion" i click the left arrows, then i enter 1x.( the up-down value, i set to 0 again).. i hit Preview…
    the first part of the logo goes left as soon as i start scrolling, the other three parts still go down at the same time…
    NOW i want the second part of the logo to start moving, when the first part has left the scene, not at the same time as the first part.
    SO I SELECT THE SECOND PART AND DRAG ITS T-HANDLE (KEY POSITION) DOWN TO, LETS SAY, 200PX. SO IT STARTS MOVING ONLY AFTER THE CUSTOMER HAS REACHED THAT POINT, RIGHT?
    BUT WHEN I PREVIEW THAT ****, THE LOGO IS NOT TOGETHER ANYMORE, THE SECOND PART IS FLOATING ANYWHERE ELSE BUT WHERE IT SHOULD BE…..WTFF????
    short: when i move the t handle, the initial position of the object changes. thats what i said to the adobe employee, but he said, that thats the expected behavior….
    but if thats so, how can i have my four parts correctly together, so they form my logo, but with different t handles, so that they all start to move at different times??
    Pleeease help me, i am dying of frustration here…..:( that behavior cant be right, right?
    Thanks so much to everyone who actually reads this post and tries to help…….
    All the best,
    Niki Lapan

    Thank you so much for helping,
    But i really wonder how you did that. did you always switch between design view and preview view, then change the key position for 2px then switch back, to align the four letters? because i imagine that can get really frustrating, if you have a logo consisting of 58 parts instead of 4!:)
    Anyway thank you very much for your time and effort!!!!

  • Error when determining a number from object BI_TSDTEL and number 01

    Hi BW Experts,
    After Transporting Infosources (Master & Transaction) to BW QA, the transfer rules were not getting activated in QA. The following error message was diaplyed.
    "Error when determining a number from object BI_TSDTEL and number 01
    Object name can only contain characters from syntactical character set
    Object name can only contain characters from syntactical character set
    Data element for InfoObject KOKRS 0CO_AREA could not be created
    Data element for InfoObject KOKRS 0CO_AREA could not be created
    Transfer structure 0IM_FA_IQ_2_SB activated under the name 0IM_FA_IQ_2_SA
    It is not necessary to copy dependent objects for transfer structure 0IM_FA_IQ_2_SA
    Transfer structure 0IM_FA_IQ_2_SA does not exist
    Error RSAR 440 when handling objects with type R3TR ISTS."
    I have gone through the Note: 674818.
    Could someone clear me about BI_TSDTEl, By using this do we need to maintain object intervals manually in all the systems like BW ( Dev & QA ), R/3 (Dev & QA).
    Because  I have not seen the Intervals in R/3 ( Dev & QA) systems.
    please could someone provide Inputs for this.
    Thanks in Advance
    Regards
    SK

    Hi,
    Try to see that transfer structure is existing in the sytem which is connecting in
    the BW quality.
    You need the same to be transported from the development server of R/3 to quality server of R/3.
    Just check if this helps.
    Regards
    Rahul Bindroo

  • RE: Re[2]: Service Object events and LockMgr

    I think there are a lot to implement a lock manager. If several objects
    should be updated in one transaction, the lock manager should be able to
    handle rollbacks. Other things like release lock when exception happens,
    avoiding dead locks, etc. Most of the features are provided by DBMS, so
    I think using a option 2 would be a better solution.
    -----Original Message-----
    From: Dimitar Gospodinov [mailto:[email protected]]
    Sent: Wednesday, July 28, 1999 2:44 PM
    To: Peter Sham
    Cc: Duncan Kinnear; [email protected]
    Subject: Re[2]: Service Object events and LockMgr
    Hello Peter,
    Wednesday, July 28, 1999, 9:19:10 PM, you wrote:
    PS> Hi,
    PS> Just wonder exactly how this Lock Manager can be
    implemented. Do you mean that you are
    PS> going to cache every object that is instantiated from the
    database? Or you just cache
    PS> the object id, primary key, etc?
    PS> Frankly speaking, I won't attempt to due with this kind
    of currency coding myself as
    PS> the database vendor has spent years in coding just to do this.
    PS> Regards.
    The second one - you just need some unique value that will identify
    the object being locked. You should register with the Lock
    Manager only
    the objects that you want to lock.
    For me, one of the goal of such pattern is to give you some freedom
    from the specifics of the database lock mechanism.
    Another benefit that I can see is that using such approach you can
    always answer to the question: "Can I modify/delete this object?".
    Best regards,
    Dimitar mailto:[email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

    I think there are a lot to implement a lock manager. If several objects
    should be updated in one transaction, the lock manager should be able to
    handle rollbacks. Other things like release lock when exception happens,
    avoiding dead locks, etc. Most of the features are provided by DBMS, so
    I think using a option 2 would be a better solution.
    -----Original Message-----
    From: Dimitar Gospodinov [mailto:[email protected]]
    Sent: Wednesday, July 28, 1999 2:44 PM
    To: Peter Sham
    Cc: Duncan Kinnear; [email protected]
    Subject: Re[2]: Service Object events and LockMgr
    Hello Peter,
    Wednesday, July 28, 1999, 9:19:10 PM, you wrote:
    PS> Hi,
    PS> Just wonder exactly how this Lock Manager can be
    implemented. Do you mean that you are
    PS> going to cache every object that is instantiated from the
    database? Or you just cache
    PS> the object id, primary key, etc?
    PS> Frankly speaking, I won't attempt to due with this kind
    of currency coding myself as
    PS> the database vendor has spent years in coding just to do this.
    PS> Regards.
    The second one - you just need some unique value that will identify
    the object being locked. You should register with the Lock
    Manager only
    the objects that you want to lock.
    For me, one of the goal of such pattern is to give you some freedom
    from the specifics of the database lock mechanism.
    Another benefit that I can see is that using such approach you can
    always answer to the question: "Can I modify/delete this object?".
    Best regards,
    Dimitar mailto:[email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

  • Supplementary customs declaration and Import code number

    Hi guys,
    I've a question from my colleagues from export/import...
    They are working with the Supplementary customs declaration. Now it can happen that the Import code number change in the time when starting with the declaration and until sending it to the customs authority. So it can happen, that the "old" number is still in the document.
    Custom authority say, that we have to send it with the new number. But also if you're in change mode in the Supplementary customs declaration it isn't possible to change the Import code number.
    Any idea?
    Thank you in advance.
    Kind regards
    Thomas

    Did you already read whats behind the blue info button that is on top of slection screen in VIU4 transanction?
    Where exactly do you have the problem in this screen?
    Do you have an external file with commodity codes, description ..?

  • Objective Setting and Appraisals in Portal

    Good Morning,
    I have that implement the component Objective Setting and Appraisals in the portal.
    I want know that report standard can display in the portal for this component and the functionality standard of this module in the portal for the employee and Manager in the portal not in ECC.
    Kind Regards,
    Sanew2

    Thank You Lincoln Gupta  for you response,
    If i want a report for the manager, i have that request for a consultant of BI?
    Kind regards,
    sanew2

  • Profile option for online tax declaration and payslip.

    Hi,
    any body help on setting the profile options for online tax declaration and online payslip for india localization.
    Regards,
    krishna

    You should be able to find this out from the sshr implementation guide. it lists all the options by the function.
    Regards
    VS

  • Removing Objects O and S from info type 1000 and 1028 in Distribution model

    Hi,
    My requirement is to remove the objects O and S in distribution model from the filter group of Info type 1000 and 1028.
    After removing the objects I perform the below steps:
    1.  I send an employee (P) through PFAL.
    2.  Once the employee data is reached to receiver system, then check the employee from PA20.
    3.  From the Organization Assignment info type (0001), check whether the Org unit and Position text appears on the screen.
    Currently after removing the objects O and S, the texts do not flow. But only the org unit and postion id flows to info type 0001, not the text.
    Is there any other method or some other configuration to send the texts to the receiver system, apart from maintaining it in distribution model? We want the texts to be displayed in PA20 and PA30 screen for info type 0001 ( along with org unit and position id).
    Thanks in Advance.

    Hi,
    the text for O and S are stored in infotype 1000...so PA30 reads them from that table. So if you want to have the texts in the target system you need to send at least infotype 1000. Why don't you want to send it?.
    Regards,
    Ana

  • Needed SAP CRM Data model with Object, Entity and Attribute level details

    Hello all,
                 We are working on a huge IS-U / CRM implementation and we are still in the data gathering phase. The client has a whole load of legacy systems that will be replaced with IS-U and CRM. Right now we are in the process of developing data models using Excel first and then presenting them to the client to go forward from there. For this we need to have all the business objects, entities and their attributes.
    I know about the SD11 transaction, but we don't have a CRM system yet. My colleagues have access to a German ERP system and they were able to get models for HR, FI and Asset management. I tried for the Business partner / customer in there, but the models were not proper.
    So, once again, I need the specific data models out of SD 11 for  CRM business partner. If anybody has the information, please do pass it on to me as I need them urgently. It would be a great help if somebody can do so.
    Regards
    Rajesh

    I suggest the following:
    Please, check whether the system works if you activate the implementation BUPA_F4_AUGRP.
    In addition check the notes 559662, 674869 and 782927. Maybe the notes are already implemented but you can try then the implementation of the BADI (SE19). It should resolve your issue.
    I have implemented this Badi solution before, and after activation; the search help ; nor search result list did NOT show any Business partners anymore that had an authorization group I was not allowed to see.
    kind regards
    Davy Pelssers
    SAP CRM/Security consultant

  • Object ID and Object ID Version fields in Displaying Object Properties - XI

    Hi,
    In displaying Object Properties in XI we can see different fields like Type, Description, SCV, Object ID, Object ID Version, Status, Person Responsible, Changed On, Changed By, Display Language, Original Language.
    But when i refer to the SAP Library documentation for these fields, Object ID and Object ID Version are not included. Here is the link for the documentation
    http://help.sap.com/saphelp_nw04/helpdata/en/f0/fc9a3de2ec0753e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/f0/fc9a3de2ec0753e10000000a114084/frameset.htm
    With that said, i have no information on those two fields, only assumptions i've made that i would like to verify in this forum with the questions below
    1.
    Please correct me if i'm wrong, the Object ID is the unique identifier for the object and the Object ID Version is directly connected with the versioning concept for IR and ID, so the Object ID is generated when you create the object  (e.g. MM) and the Object ID Version changes every time that object is edited and change list activated for it. Is this correct?
    Or does the Object ID change every time the object is edited and change list activated for it?
    What is the behavior of these two fields when transported? e.g. dev to qa...  are they both retained on the target IB's?  (specifically for ID objects because the change list needs to be activated first on the target ID)
    2.
    Does any one know where the Object ID and Object ID Version gets stored?  (saved on a table in the ABAP stack or saved somewhere in the Java stack? e.g. can be viewed in Visual Admin or a URL)  I am thinking of extracting all the XI objects with their corresponding Object ID and Object ID Version (per system) in one step.  I know this is possible only if the Object ID & Object ID Version are stored in an ABAP table...
    Kindly give me some inputs.
    Please answer directly with the questions above. I will reward points for it.
    Thanks in advance.

    HI,
    >Please correct me if i'm wrong, the Object ID is the unique identifier for the object and the Object ID Version is directly connected with the versioning concept for IR and ID, so the Object ID is generated when you create the object (e.g. MM) and the Object ID Version changes every time that object is edited and change list activated for it. Is this correct?
    The Object Id is created the first time you create the object.
    Object Version Id is created the first time you save/activate a object.
    Now suppose if you modify the object a new Object Version Id will be created but the Object ID will remain the same.
    For IR Objects the Object Id & Object Version ID will remain the same across systems.
    For ID Objects the Object Id & Object Version ID is not the same across systems.
    Not sure about the table. Can you try in SE11 and check all tables with SXMS*. Could be also that tables might not be available from GUI i.e you might have to login to DB to find out.
    Regards,
    Sumit

  • Passing Array of java objects to and from oracle database-Complete Example

    Hi all ,
    I am posting a working example of Passing Array of java objects to and from oracle database . I have struggled a lot to get it working and since finally its working , postinmg it here so that it coudl be helpful to the rest of the folks.
    First thinsg first
    i) Create a Java Value Object which you want to pass .
    create or replace and compile java source named Person as
    import java.sql.*;
    import java.io.*;
    public class Person implements SQLData
    private String sql_type = "PERSON_T";
    public int person_id;
    public String person_name;
    public Person () {}
    public String getSQLTypeName() throws SQLException { return sql_type; }
    public void readSQL(SQLInput stream, String typeName) throws SQLException
    sql_type = typeName;
    person_id = stream.readInt();
    person_name = stream.readString();
    public void writeSQL(SQLOutput stream) throws SQLException
    stream.writeInt (person_id);
    stream.writeString (person_name);
    ii) Once you created a Java class compile this class in sql plus. Just Copy paste and run it in SQL .
    you should see a message called "Java created."
    iii) Now create your object Types
    CREATE TYPE person_t AS OBJECT
    EXTERNAL NAME 'Person' LANGUAGE JAVA
    USING SQLData (
    person_id NUMBER(9) EXTERNAL NAME 'person_id',
    person_name VARCHAR2(30) EXTERNAL NAME 'person_name'
    iv) Now create a table of Objects
    CREATE TYPE person_tab IS TABLE OF person_t;
    v) Now create your procedure . Ensure that you create dummy table called "person_test" for loggiing values.
    create or replace
    procedure give_me_an_array( p_array in person_tab,p_arrayout out person_tab)
    as
    l_person_id Number;
    l_person_name Varchar2(200);
    l_person person_t;
    l_p_arrayout person_tab;
    errm Varchar2(2000);
    begin
         l_p_arrayout := person_tab();
    for i in 1 .. p_array.count
    loop
         l_p_arrayout.extend;
         insert into person_test values(p_array(i).person_id, 'in Record '||p_array(i).person_name);
         l_person_id := p_array(i).person_id;
         l_person_name := p_array(i).person_name;
         l_person := person_t(null,null);
         l_person.person_id := l_person_id + 5;
         l_person.person_name := 'Out Record ' ||l_person_name ;
         l_p_arrayout(i) := l_person;
    end loop;
    p_arrayout := l_p_arrayout;
         l_person_id := p_arrayout.count;
    for i in 1 .. p_arrayout.count
    loop
    insert into person_test values(l_person_id, p_arrayout(i).person_name);
    end loop;
    commit;
    EXCEPTION WHEN OTHERS THEN
         errm := SQLERRM;
         insert into person_test values(-1, errm);
         commit;
    end;
    vi) Now finally create your java class which will invoke the pl/sql procedure and get the updated value array and then display it on your screen>Alternatively you can also check the "person_test" tbale
    import java.util.Date;
    import java.io.*;
    import java.sql.*;
    import oracle.sql.*;
    import oracle.jdbc.driver.*;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    public class ArrayDemo
    public static void passArray() throws SQLException
    Connection conn = getConnection();
    ArrayDemo a = new ArrayDemo();
    Person pn1 = new Person();
    pn1.person_id = 1;
    pn1.person_name = "SunilKumar";
    Person pn2 = new Person();
    pn2.person_id = 2;
    pn2.person_name = "Superb";
    Person pn3 = new Person();
    pn3.person_id = 31;
    pn3.person_name = "Outstanding";
    Person[] P_arr = {pn1, pn2, pn3};
    Person[] P_arr_out = new Person[3];
    ArrayDescriptor descriptor =
    ArrayDescriptor.createDescriptor( "PERSON_TAB", conn );
    ARRAY array_to_pass =
    new ARRAY( descriptor, conn, P_arr);
    OracleCallableStatement ps =
    (OracleCallableStatement )conn.prepareCall
    ( "begin give_me_an_array(?,?); end;" );
    ps.setARRAY( 1, array_to_pass );
         ps.registerOutParameter( 2, OracleTypes.ARRAY,"PERSON_TAB" );
         ps.execute();
         oracle.sql.ARRAY returnArray = (oracle.sql.ARRAY)ps.getArray(2);
    Object[] personDetails = (Object[]) returnArray.getArray();
    Person person_record = new Person();
    for (int i = 0; i < personDetails.length; i++) {
              person_record = (Person)personDetails;
              System.out.println( "row " + i + " = '" + person_record.person_name +"'" );
                        public static void main (String args[]){
         try
                             ArrayDemo tfc = new ArrayDemo();
                             tfc.passArray();
         catch(Exception e) {
                        e.printStackTrace();
              public static Connection getConnection() {
         try
                             Class.forName ("oracle.jdbc.OracleDriver");
                             return DriverManager.getConnection("jdbc:oracle:thin:@<<HostNanem>>:1523:VIS",
                             "username", "password");
         catch(Exception SQLe) {
                        System.out.println("IN EXCEPTION BLOCK ");
                        return null;
    and thats it. you are done.
    Hope it atleast helps people to get started. Comments are appreciated. I can be reached at ([email protected]) or [email protected]
    Thanks
    Sunil.s

    Hi Sunil,
    I've a similar situation where I'm trying to insert Java objects in db using bulk insert. My issue is with performance for which I've created a new thread.
    http://forum.java.sun.com/thread.jspa?threadID=5270260&tstart=30
    I ran into your code and looked into it. You've used the Person object array and directly passing it to the oracle.sql.ARRAY constructor. Just curios if this works, cos my understanding is that you need to create a oracle.sql.STRUCT out of ur java object collection and pass it to the ARRAY constructor. I tried ur way but got this runtime exception.
    java.sql.SQLException: Fail to convert to internal representation: JavaBulkInsertNew$Option@10bbf9e
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:239)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatumArray(OracleTypeADT.java:274)
                        at oracle.jdbc.oracore.OracleTypeUPT.toDatumArray(OracleTypeUPT.java:115)
                        at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1314)
                        at oracle.sql.ARRAY.<init>(ARRAY.java:152)
                        at JavaBulkInsertNew.main(JavaBulkInsertNew.java:76)
    Here's a code snippet I used :
    Object optionVal[] =   {optionArr[0]};   // optionArr[0] is an Option object which has three properties
    oracle.sql.ArrayDescriptor empArrayDescriptor = oracle.sql.ArrayDescriptor.createDescriptor("TT_EMP_TEST",conn);
    ARRAY empArray = new ARRAY(empArrayDescriptor,conn,optionVal);If you visit my thread, u'll see that I'm using STRUCT and then pass it to the ARRAY constructor, which works well, except for the performance issue.
    I'll appreciate if you can provide some information.
    Regards,
    Shamik

  • Regarding Integration Scenario and Communication Channel Template

    Dear All,
    1.What is the purpose of creating Integration Scenario in IR?Is it compulsary to create Integration Scenario in Every Case?(I mean Scenario not using BPM and Scenario using BPM).
    2.What is the purpose of creating Communication Channel Template in IR?
    3.If we create Communication Channel Template in IR?Do we need to utilize that Communication Channel Template for creating Communication Channel in ID?
    4.IF we have created Integration Scenario in IR,and we transfered that Scenario from IR to ID,then Do we need to create Sender Agreement,Receiver Agreement,Receiver Determination,Interface Determination?or will they automatically created?
    Please clarify my doubts.Thanks in Advance.
    Regards,
    Ramana.

    Hi Ramana,
    <i>1.What is the purpose of creating Integration Scenario in IR?Is it compulsary to create Integration Scenario in Every Case?(I mean Scenario not using BPM and Scenario using BPM).</i>
    >>> For graphical overview about the sceanrio.It is not compulsary to create Integration Sceanrio.
    <i>2.What is the purpose of creating Communication Channel Template in IR?</i>
    >>> In integration scenario while creating the connection between two actions u need to specify the communication channel templates for Sender and Receiver.
    <i>3.If we create Communication Channel Template in IR?Do we need to utilize that Communication Channel Template for creating Communication Channel in ID?</i>
    >>>You can utilize these templates in ID.After completion to creating the configuration sceanrio need to modify the parameters of the channels.
    <i>4.IF we have created Integration Scenario in IR,and we transfered that Scenario from IR to ID,then Do we need to create Sender Agreement,Receiver Agreement,Receiver Determination,Interface Determination?or will they automatically created?</i>
    >>> From Tools-->Transfer Integration sceanrio from Integration Repository, From input help choose the sceanrio,Continue and click on Finish ,with the same name the configuration scenaro will create in ID.You need to follow the Confiuration steps like <b>Assign services</b> , here need to choose u r source & target business systems and <b>Configure Connections</b> in this step you can cross check the interfaces,mapping,channel templates involved in this sceanrio and <b>Generate</b>. It would automatically generates Sender Agreement,Receiver Agreement,Receiver Determination,Interface Determination. It would shown to u Generation Log, here you can check what are the objects generated and if there are any errors it would shown Number of errors.
    By setting the appropriate channel parameters, activate all objects from change list.Now u can able to test the sceanrio.
    However in latest version it is not compulsoary to create Integration sceanrio in IR and to the above things.You can use Configuration Wizard to do all these things or you can do these mauvally.
    Hope it will helps to clear u r doubts.
    Cheers
    Veera
    >>>Reward points,if it is needful.

Maybe you are looking for