| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.oracle -> PL/SQL Object Question
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),
create or replace type body ct_calc_sp_ut is member function displayVals return varchar2 is
...
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 Sat Apr 16 2005 - 02:47:14 CDT
![]() |
![]() |