| 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
![]() |
![]() |