Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Accessing components of an object within a varray...

Re: Accessing components of an object within a varray...

From: will <william_hulse_at_hotmail.com>
Date: 9 Sep 2003 07:08:58 -0700
Message-ID: <283ad5ec.0309090608.301c0ca8@posting.google.com>


Harald Maier <maierh_at_myself.com> wrote in message news:<m3wucpnbiz.fsf_at_ate.maierh>...
> william_hulse_at_hotmail.com (will) writes:
>
> > Hope you can help with the following...
> >
> > I have the following type declaration
> >
> > CREATE OR REPLACE TYPE mytype IS OBJECT (
> > STATUS VARCHAR2(1000),
> > SET_OF_BOOKS_ID NUMBER,
> > ACCOUNTING_DATE DATE,
> > CURRENCY_CODE VARCHAR2(1000),
> > DATE_CREATED DATE,
> > CREATED_BY NUMBER,
> >
> > );
> >
> > CREATE OR REPLACE TYPE mytype_Arr IS VARRAY(1000) OF mytype;
> >
> > What i need to know is how to assign values to specific components of
> > the object within the varray ?
> >
> > For example set the status component of the 5th varray element to
> > 'hello'
> >
> > I have tried the following
> >
> > mytype_Arr(i).status := 'hello';
>
> I don't quite understand but it looks that you don't have a variable
> instance of your type array 'mytype_Arr'. Try the following:
>
> ,----
> | declare
> | abc mytype_Arr;
> | begin
> | ... -- fill here the array
> | abc(i).status := 'hello';
> | end;
> | /
> `----
>
> Harald

Harald thanks fro you response

sorry probably wasnt that clear but here is more of the code i used, including a variable instance

admittedly the code is a bit "rough" at the moment but i'm trying to get that first bit of syntax correct...

PROCEDURE sub_FTE_FEED_KS_V1(
AP_GL_ITEM IN OAI.APPS11I_AP_GL_ITEMS_KS_V1_Arr) AS
dummy NUMBER;
ac_date date := sysdate;

BEGIN
-- fill code here
dummy:= 0;
IF AP_GL_ITEM.EXISTS(1) THEN   --populate accounting date column with sysdate   FOR i IN 1..AP_GL_ITEM.COUNT

      LOOP
        AP_GL_ITEM(i).ACCOUNTING_DATE := ac_date;
      END LOOP;  

  insert into AP_GL_ITEM
 END IF;
-- Insert into gl_interface table
IGKGLS00.APPLY_MSG( AP_GL_ITEM);
END sub_FTE_FEED_KS_V1;
/

The code is basically taking in the array, i'll loop round it and set the accounting date to sysdate within the object...

any more clues.. ? Received on Tue Sep 09 2003 - 09:08:58 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US