Problemas en llamada a funcion

tema enviado por Carlos en ORACLE
tema iniciado el 08/11/2006
Hola amigos DJK, Tengo el siguiente procedure CREATE OR REPLACE PROCEDURE TRANS_CAT AS auxDummy VARCHAR2(10); CURSOR Cur_Reg_Nuevos_Cat IS SELECT R.COD_CAT, R.COD_CAT_PADRE, R.DESCAT, R.CAT_NIVEL, R.CAT_TIPO, R.ID_CADENA FROM CAR_CATPROD R LEFT JOIN CATPROD C ON R.COD_CAT = C.ID_CATPROD AND R.ID_CADENA = C.ID_CADENA WHERE C.ID_CATPADRE IS NULL; CURSOR Cur_Reg_Actualiz_Cat IS SELECT R.COD_CAT, R.COD_CAT_PADRE, R.DESCAT, R.CAT_NIVEL, R.CAT_TIPO, R.ID_CADENA FROM CAR_CATPROD R LEFT JOIN CATPROD C ON R.COD_CAT = C.ID_CATPROD AND R.ID_CADENA = C.ID_CADENA WHERE R.COD_CAT_PADRE <> C.ID_CATPADRE AND R.DESCAT <> C.DESCAT; reg_nuevos Cur_Reg_Nuevos_Cat%ROWTYPE; reg_actualiz Cur_Reg_Actualiz_Cat%ROWTYPE; BEGIN for reg_nuevos in cur_reg_nuevos_cat loop DBMS_OUTPUT.PUT_LINE(TO_CHAR(REG_NUEVOS.COD_CAT) || ' ' || TO_CHAR(REG_NUEVOS.COD_CAT_PADRE) || ' ' || TO_CHAR(REG_NUEVOS.DESCAT) || ' ' || TO_CHAR(REG_NUEVOS.CAT_NIVEL) || ' ' || TO_CHAR(REG_NUEVOS.CAT_TIPO) || ' ' || TO_CHAR(REG_NUEVOS.ID_CADENA)); auxDummy := INSCAT(REG_NUEVOS.COD_CAT,REG_NUEVOS.COD_CAT_PADRE,REG_NUEVOS.DESCAT,REG_NUEVOS.CAT_NIVEL,REG_NUEVOS.CAT_TIPO,REG_NUEVOS.ID_CADENA); COMMIT; END LOOP; DBMS_OUTPUT.PUT_LINE('Done Inserting'); for reg_actualiz in cur_reg_actualiz_cat loop DBMS_OUTPUT.PUT_LINE(TO_CHAR(REG_ACTUALIZ.COD_CAT) || ' ' || TO_CHAR(REG_ACTUALIZ.COD_CAT_PADRE) || ' ' || TO_CHAR(REG_ACTUALIZ.DESCAT) || ' ' || TO_CHAR(REG_ACTUALIZ.CAT_NIVEL) || ' ' || TO_CHAR(REG_ACTUALIZ.CAT_TIPO) || ' ' || TO_CHAR(REG_ACTUALIZ.ID_CADENA)); auxDummy := UPDCAT(REG_ACTUALIZ.COD_CAT,REG_ACTUALIZ.COD_CAT_PADRE,REG_ACTUALIZ.DESCAT,REG_ACTUALIZ.CAT_NIVEL,REG_ACTUALIZ.CAT_TIPO,REG_ACTUALIZ.ID_CADENA); COMMIT; END LOOP; DBMS_OUTPUT.PUT_LINE('Done Updating'); END TRANS_CAT; / y cada vez que llamo a la funcion INSCAT (que retorna '0' <-- con las comillas para que sea del tipo varchar2) me arroja el siguiente error: ORA-06502: PL/SQL: error : error de conversion de caracter a numero numerico o de valor ORA-06512: en "WSTEIN.TRANS_CAT", linea 27 ORA-06512: en linea 1 entonces mi pregunta es que estoy haciendo mal :S