![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
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. |
![]() |
| Thread Tools | |
| Display Modes | |
| |