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 -> PL/SQL Oracle Object Question

PL/SQL Oracle Object Question

From: daviscomp20 <bmarini_at_bryan-marini-dot-com.no-spam.invalid>
Date: Tue, 15 Nov 2005 02:11:18 -0600
Message-ID: <w72dncpGm4u7BeTeRVn_vA@giganews.com>


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 is

member function get_PlantNm return varchar2 is

        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) is 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_UT (

       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 varchar2
)

create or replace type body ct_calc_sp_ut is member function displayVals return varchar2 is
....
...
...
...
...

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 BODY BMARINI.CT_CALC_SP_UT Error: PLS-00363: expression 'SELF' cannot be used as an assignment target
Line: 138
Text: self.set_ct_val(v_ct_value);

Error: PL/SQL: Statement ignored
Line: 138
Text: self.set_ct_val(v_ct_value);

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

Thanks. Received on Tue Nov 15 2005 - 02:11:18 CST

Original text of this message

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