Quando eu executo a minha View, ocorre o seguinte erro:
ORA-01722: número inválido
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
segue view:
SELECT
SA.IDEN_CONS_ANUAL_CCONTABIL,
SA.CD_EXERCICIO,
UO.CD_UNIDADE_ORCAMENTARIA CDUO,
UO.DS_UNIDADE_ORCAMENTARIA DSUO,
UO.DS_SIGLA SIGLA_UO,
UG.CD_UNIDADE_GESTORA CDUG,
UG.DS_UNIDADE_GESTORA DSUG,
O.CD_ORGAO,
(
case
when o.flg_tp_poder = 1 and tp.cd_tipo_poder = 1 then 5
when o.flg_tp_poder = 1 and tp.cd_tipo_poder = 2 then 4
else o.flg_tp_poder
end
) as cd_tipo_poder,
(
CASE FR.FLAG_EXERCICIO_ANTERIOR
WHEN 857 THEN FR.CD_FONTE_RECURSO
WHEN 856 THEN (
SELECT FR2.CD_FONTE_RECURSO
FROM FONTE_RECURSO FR2
WHERE FR2.ID_FRECURSO_EXERCICIO_ANT=FR.ID_FONTE_RECURSO
)
END
) CD_FTE_EXE,
(
CASE FR.FLAG_EXERCICIO_ANTERIOR
WHEN 857 THEN FR.DS_FONTE_RECURSO
WHEN 856 THEN (
SELECT FR2.DS_FONTE_RECURSO
FROM FONTE_RECURSO FR2
WHERE FR2.ID_FRECURSO_EXERCICIO_ANT=FR.ID_FONTE_RECURSO
)
END
) DS_FTE_EXE,
(
CASE FR.FLAG_EXERCICIO_ANTERIOR
WHEN 857 THEN (
SELECT FR2.CD_FONTE_RECURSO
FROM FONTE_RECURSO FR2
WHERE FR2.ID_FONTE_RECURSO=FR.ID_FRECURSO_EXERCICIO_ANT
)
WHEN 856 THEN FR.CD_FONTE_RECURSO
END
) CD_FTE_ANT,
(
CASE FR.FLAG_EXERCICIO_ANTERIOR
WHEN 857 THEN (
SELECT FR2.DS_FONTE_RECURSO
FROM FONTE_RECURSO FR2
WHERE FR2.ID_FONTE_RECURSO=FR.ID_FRECURSO_EXERCICIO_ANT
)
WHEN 856 THEN FR.DS_FONTE_RECURSO
END
) DS_FTE_ANT,
CBA.CODG_CONTA_BANCARIA CODG_CBA,
CBA.NOME_CONTA_BANCARIA NOME_CBA,
CBA.IDEN_CONTA_BANCARIA IDEN_CBA,
'LIBERADO' TIPO_SALDO,
CC.CODG_CONTA_CONTABIL,
SA.NUMR_CONTA_CORRENTE,
-SA.SALDO_ANUAL SALDO_ANUAL
FROM
ACWTB0090 SA,
ACWTB0032 CC,
ACWTB0044 CBA,
UNIDADE_GESTORA UG,
UNIDADE_ORCAMENTARIA UO,
FONTE_RECURSO FR,
ORGAO O,
TIPO_PODER TP
WHERE
SA.IDEN_CONTA_CONTABIL=CC.IDEN_CONTA_CONTABIL
AND SA.ID_UNIDADE_GESTORA=UG.ID_UNIDADE_GESTORA
AND UG.ID_UNIDADE_ORCAMENTARIA=UO.ID_UNIDADE_ORCAMENTARIA
AND UO.ID_ORGAO = O.ID_ORGAO
AND O.ID_TIPO_PODER = TP.ID_TIPO_PODER (+)
AND SUBSTR(SA.NUMR_CONTA_CORRENTE,1,3)=TO_CHAR(FR.CD_FONTE_RECURSO)
AND SA.CD_EXERCICIO=FR.CD_EXERCICIO
AND TO_NUMBER(SUBSTR(SA.NUMR_CONTA_CORRENTE,-5))=CBA.CODG_CONTA_BANCARIA
AND SA.CD_EXERCICIO=CBA.CD_EXERCICIO
--AQUI OCORRE O ERRO -------------------------------------
AND CC.CODG_CONTA_CONTABIL IN (
CASE
WHEN SA.CD_EXERCICIO <= 2021 THEN '7.9.2.0.0.00.00.77'
WHEN SA.CD_EXERCICIO <= 2021 THEN '7.9.2.0.0.00.00.78'
WHEN SA.CD_EXERCICIO <= 2021 THEN '7.9.2.0.0.00.00.79'
WHEN SA.CD_EXERCICIO >= 2022 THEN '7.9.9.4.1.07.00.00'
WHEN SA.CD_EXERCICIO >= 2022 THEN '7.9.9.4.1.08.00.00'
WHEN SA.CD_EXERCICIO >= 2022 THEN '7.9.9.4.1.09.00.00'
END
)
-----------------------------------------------------------------------
--AND CC.CODG_CONTA_CONTABIL IN('7.9.2.0.0.00.00.77','7.9.2.0.0.00.00.78','7.9.2.0.0.00.00.79')
AND UG.CD_UNIDADE_GESTORA<>0
AND UO.CD_UNIDADE_ORCAMENTARIA NOT IN(39901,99000)
AND UO.FLG_ATIVO=1
AND SA.SALDO_ANUAL<>