* Oracle version: 10g
* Operating system: Red Hat 4
Good afternoon!
I'm trying to do this procedure to return a value, but it gives an error when it runs. I did some tests and it seems to me that the error is in sys_refcursor. I researched, but I did not find something that could exclaim. I looked for an example on the net to set up this proxy. If anyone can help me, thank you.
SQL> execute nfiscal(334094);
begin nfiscal(334094); end;
ORA-06550: line 2, column 7:
PLS-00306: wrong number or types of arguments in call to 'NFISCAL'
ORA-06550: line 2, column 7:
PL/SQL: Statement ignored
CREATE OR REPLACE PROCEDURE NFISCAL (MOV IN NUMBER, OBS OUT SYS_REFCURSOR)
IS
BEGIN
OPEN OBS FOR SELECT (CASE WHEN(SELECT TMOV.CODTB5FLX
FROM TMOV
WHERE IDMOV=MOV
AND TMOV.CODFILIAL<=2)='01' AND (SELECT SUM(VALOR) FROM TTRBMOV
WHERE IDMOV=388670
AND CODTRB IN ('INSS','IRRF','ISS','ISSD'))=0 THEN
'LOCAÇÃO ISENTO DE IRRF E ISS'
WHEN (SELECT FCFO.RETENCAOISS
FROM TMOV,FCFO
WHERE TMOV.CODCFO=FCFO.CODCFO
AND TMOV.IDMOV=MOV
AND TMOV.CODTB5FLX <> 1
AND TMOV.CODFILIAL=6)=1 THEN
'Tomador do Serviço Responsável pelo Recolhimento de ISS, conforme Lei complementar nº 28 de 18/02/2003
- Art. 199 - Parágrafo Único - Inciso II - Item 7.09.'
WHEN (SELECT FCFO.RETENCAOISS
FROM TMOV,FCFO
WHERE TMOV.CODCFO=FCFO.CODCFO
AND TMOV.IDMOV=MOV
AND TMOV.CODTB5FLX <> 1
AND TMOV.CODFILIAL=5)=1 THEN
'Tomador do Serviço Responsável pelo Recolhimento de ISS, conforme Lei Municipal nº 2.528/2003 -
Art. 8º - Inciso II - Item 7.09.'
WHEN (SELECT FCFO.RETENCAOISS
FROM TMOV,FCFO
WHERE TMOV.CODCFO=FCFO.CODCFO
AND TMOV.IDMOV=MOV
AND TMOV.CODTB5FLX <> 1
AND TMOV.CODFILIAL=4)=1 THEN
'Tomador do Serviço Responsável pelo Recolhimento de ISS, conforme Lei Complementar nº 116/2003
- Art. 6º - Parágrafo 2º - Inciso II - Item 7.09.' END)
FROM DUAL;
END;