Hi Diwakar,

From what I see in

http://desktop.msfc.nasa.gov/oracle8.../ch4d.htm#4838

You need not add 'BODY' in your alter statement.

Check this out and let me know.

Thanks,
-Shyami

Example
----------------------------------------
CREATE TYPE data_t AS OBJECT
( year NUMBER,
MEMBER FUNCTION prod(invent NUMBER) RETURN NUMBER
);

CREATE TYPE BODY data_t IS
MEMBER FUNCTION prod (invent NUMBER) RETURN NUMBER IS
BEGIN
RETURN (year + invent);
END;
END;

ALTER TYPE data_t REPLACE AS OBJECT
( year NUMBER,
MEMBER FUNCTION prod(invent NUMBER) RETURN NUMBER,
MEMBER FUNCTION qtr(der_qtr DATE) RETURN CHAR
);

CREATE OR REPLACE TYPE BODY data_t IS
MEMBER FUNCTION prod (invent NUMBER) RETURN NUMBER IS
MEMBER FUNCTION qtr(der_qtr DATE) RETURN CHAR IS
BEGIN
RETURN (year + invent);
END;
BEGIN
RETURN 'FIRST';
END;
END;
---------------------------------