Queria saber como faço para rodar esta funçao e pegar o caso de não ter registro para o parametro que eu passo.
Ela está compilando sem problemas porém quando testo dá o erro
SQL Error: ORA-20001: An error was encountered - 100 -ERROR- ORA-01403: dados não encontrados
ORA-06512: em "LOGIX.CGS_CADASTRA_CARTAS_COBRANCA", line 29
Testei colocar nvl() mas mesmo assim não está dando certo.
create or replace FUNCTION "CGS_CADASTRA_CARTAS_COBRANCA"
(
p_docum IN char
)
RETURN NUMBER IS
vQtdReg number;
vTipCart number;
vData date;
BEGIN
SELECT nvl(ROWNUM,0) INTO vQtdReg FROM cgs_controle_cartas_cobranca WHERE trim(docum) = p_docum;
IF (vQtdReg = 0) THEN
INSERT INTO cgs_controle_cartas_cobranca (docum, data_envio, tipo_carta) VALUES(p_docum, SYSDATE,'1');
vTipCart := 1;
END IF;
IF (vQtdReg = 1) THEN
SELECT data_envio INTO vData FROM cgs_controle_cartas_cobranca WHERE trim(docum) = p_docum;
IF (SYSDATE - vdata > 7 ) THEN
INSERT INTO cgs_controle_cartas_cobranca (docum, data_envio, tipo_carta) VALUES(p_docum, SYSDATE,'2');
vTipCart := 2;
END IF;
END IF;
COMMIT;
RETURN vTipCart;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;