PL/SQL Oracle Object Question

Giganews Newsgroups
Subject: PL/SQL Oracle Object Question
Posted by:  daviscomp20 (bmarini@bryan-marini-dot-com.no-spam.invalid)
Date: Tue, 15 Nov 2005

Hi

I've created the following SuperType object in Oracle

CREATE OR REPLACE TYPE CT_CALC_UT as object
      ct_plant_nm varchar2(50),
      ct_value        number
      MEMBER function get_PlantNm return varchar2,
      MEMBER procedure set_CT_Val(pi_ct_val in number)
) not final

and the following Type Body

create or replace type body ct_calc_ut i

member function get_PlantNm return varchar2 i
    v_plant_nm varchar2(50)
begin
        v_plant_nm := self.ct_plant_nm
      return v_plant_nm
end get_PlantNm

member procedure set_ct_val(pi_ct_val in number) i
begin
      ct_value := pi_ct_val;
end set_ct_val

end

Also, I've created the following subtype with it's own type body

CREATE OR REPLACE TYPE CT_CALC_SP_UT UNDER CT_CALC_U

      Sed_Basins_in_service number(2)
      Sed_Raw_flow_rate number(7,3)
      Sed_flocc_free_cl number(7,3)
      Sed_settled_free_cl number(7,3)
      App_ph number(7,3)
      Fltrs_free_cl number(7,3)
      Fltrs_flow_rate number(7,3)
      Fltrs_temp number(7,3)
      Fltrs_ph number(7,3),
      MEMBER function displayVals return varchar
)

create or replace type body ct_calc_sp_ut i
member function displayVals return varchar2 i
...
..
..
..
..
v_ct_value := v_tot_LGiardia_Rmvl_Cred / v_log_giardia_removal_const

self.set_ct_val(v_ct_value); !!!! Error Message is Coming here !!!!!

...
...
end displayVals

I keep getting an error message, Compilation errors for TYPE BOD
BMARINI.CT_CALC_SP_U

Error: PLS-00363: expression 'SELF' cannot be used as an assignmen
targe
Line: 13
Text: self.set_ct_val(v_ct_value)

Error: PL/SQL: Statement ignore
Line: 13
Text: self.set_ct_val(v_ct_value)

I'm not sure what is going on with this....I have seen plenty o
examples where an object type is being modified from within
procedure...and I'm prety stumped as to what is going on.  If anyon
has any help...or ideas, please let me know

Thanks

Replies