Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Oracle error PLS-00905 invalid object
I don't understand because I continue to receive this errors where is
it wrong?
Thanks.
PS: I use Oracle 9i.
CREATE OR REPLACE TYPE TP_DBG_ART_SPEC AS OBJECT (
ID RO_ATTR_ART_SPEC.ID%TYPE, COD_SPEC RO_ATTR_ART_SPEC.COD_SPEC%TYPE, DESCR RO_TB_ATTREZ_SPEC.DESCRIZIONE%TYPE, ID_FIELD RO_ATTR_ART_SPEC.ID_FIELD%TYPE, SPEC_DESCR RO_ATTR_FIELD.DESCR%TYPE, VALORE RO_STO_ART_SPEC.VALORE%TYPE, F_TIPO RO_STO_ART_SPEC.F_TIPO%TYPE, SEQ_PRESENTAZ RO_STO_ART_SPEC.SEQ_PRESENTAZ%TYPE);
CREATE OR REPLACE TYPE TP_TBL_ART_SPEC AS TABLE OF TP_DBG_ART_SPEC;
/
CREATE OR REPLACE PACKAGE DBGES AS
TYPE RC IS REF CURSOR;
PROCEDURE RO_P_GET_ART_MACCH_SPEC( p_date IN NUMBER, p_dbgart IN CHAR, p_f_bicol IN CHAR, p_f_conf IN CHAR, p_mcosc IN CHAR, p_cod_macch IN CHAR, p_Rset IN OUT RC);
-- -- CREATE OR REPLACE PACKAGE BODY DBGES AS -- ------------------------------------------------------ -- DEFINIZIONE PUBLICA DELLE VARIABILI -- ------------------------------------------------------ --VARIABILI -- ========================================================================= -- ========================================================================= PROCEDURE RO_P_GET_ART_MACCH_SPEC( p_date IN NUMBER, p_dbgart IN CHAR, p_f_bicol IN CHAR, p_f_conf IN CHAR, p_mcosc IN CHAR, p_cod_macch IN CHAR, p_Rset IN OUT RC) AS v_Rset TP_TBL_ART_SPEC := TP_TBL_ART_SPEC() ; v_id RO_ATTR_ART_SPEC.ID%TYPE; v_cod_spec RO_ATTR_ART_SPEC.COD_SPEC%TYPE; v_descrizione RO_TB_ATTREZ_SPEC.DESCRIZIONE%TYPE; v_id_field RO_ATTR_ART_SPEC.ID_FIELD%TYPE; v_descr RO_ATTR_FIELD.DESCR%TYPE; v_cnt NUMBER; v_valore RO_STO_ART_SPEC.VALORE%TYPE; v_f_tipo RO_STO_ART_SPEC.F_TIPO%TYPE; v_seq_presentaz RO_STO_ART_SPEC.SEQ_PRESENTAZ%TYPE; --CURSORI CURSOR c_attr_art IS SELECT A.ID, A.COD_SPEC, B.DESCRIZIONE, A.ID_FIELD, C.DESCR FROM RO_ATTR_ART_SPEC A, RO_TB_ATTREZ_SPEC B, RO_ATTR_FIELD C WHERE C.ID = A.ID_FIELD AND C.SOCIETA = A.SOCIETA AND B.COD_SPEC = A.COD_SPEC AND B.SOCIETA = A.SOCIETA AND A.DBGART = p_DbgArt AND A.F_CONF = P_f_conf AND A.F_BICOL = p_f_bicol AND A.COD_MACCH = p_Cod_Macch AND A.SOCIETA = p_mcosc ORDER BY A.COD_SPEC, A.ID_FIELD; CURSOR c_valore (p_id NUMBER) IS SELECT A.VALORE, A.F_TIPO, A.SEQ_PRESENTAZ FROM RO_STO_ART_SPEC A, RO_STO_T B WHERE B.ID = A.ID_TESTATA AND A.ID_ART_SPEC = P_id AND A.F_COSA <> 'D' AND B.DATA_DEC <= p_date ORDER BY B.ID DESC; BEGIN OPEN c_attr_art; v_cnt:= 0; LOOP FETCH c_attr_art INTO v_id, v_cod_spec, v_descrizione, v_id_field, v_descr; EXIT WHEN c_attr_art%NOTFOUND; -- Recupero il valore corretto per il giorno assegnato v_valore := ' '; v_f_tipo := 1; v_seq_presentaz := 99; OPEN c_valore ( v_id ); FETCH c_valore INTO v_valore, v_f_tipo, v_seq_presentaz; CLOSE c_valore; -- Inserisco il nuovo record v_cnt := v_cnt + 1; v_rset(v_cnt) := TP_DBG_ART_SPEC(v_ID, v_COD_SPEC, v_descrizione, v_ID_FIELD, v_DESCR, v_valore, v_f_tipo, v_seq_presentaz ); END LOOP; CLOSE c_ATTR_art; IF v_cnt > 0 THEN OPEN p_rset for select * from the ( select cast (v_rset as TP_TBL_ART_SPEC) from dual); END IF; EXCEPTION WHEN OTHERS THEN ROLLBACK; END; END DBGES;Received on Thu May 27 2004 - 04:22:30 CDT
/