VIEW_RFC030ANALITICO — View
VIEW_RFC030ANALITICO (Stored Procedure)
Chamada
SELECT O_DS_DIAS, O_DS_VENCIDA, O_CD_EMPRESA, O_NR_DOCUMENTO, O_NR_PARCELA,
O_CD_PESSOA, O_NM_PESSOA, O_DT_VENCIMENTO, O_VL_SALDO, O_VL_DOCUMENTO
FROM VIEW_RFC030ANALITICO(
'WHERE CONTAS.ST_CONTAS IN (''T'', ''P'') AND CONTAS.CD_EMPRESA = 2 AND TIPOCONTA.TP_TIPOCONTA IN (''CR'', ''AF'', ''HR'', ''PR'', ''CT'') ',
'A',
CURRENT_DATE)
WHERE O_VL_SALDO > 0
Parametros de Entrada
- I_DS_WHERE (VARCHAR(5000)): clausula WHERE como string (mesmo formato de VIEW_RFC030)
- I_TP_RELATORIO (CHAR(1)): tipo de relatorio — 'A' (Analitico com aging) ou 'T' (Tabela completa com dados cadastrais)
- I_DT_POSICAO (DATE): data de referencia para calculo de aging e saldo historico
Colunas de Saida Principais
- O_DS_DIAS (VARCHAR(40)): descritivo de faixas
- O_DS_VENCIDA (VARCHAR(40)): "Vencidos" ou "A Vencer"
- O_DS_ORDEM (VARCHAR(10)): codigo de ordenacao (11-14 para vencidos, 21-27 para a vencer)
- O_CD_EMPRESA, O_NR_DOCUMENTO, O_NR_PARCELA: identificacao do titulo
- O_CD_PESSOA, O_NM_PESSOA: pessoa (cliente/fornecedor)
- O_DT_VENCIMENTO: data de vencimento
- O_VL_SALDO (NUMERIC(15,2)): saldo pendente na data de posicao (calculado com baixas parciais)
- O_VL_DOCUMENTO (NUMERIC(15,2)): valor original do documento
- O_VL_VENCIDAS (NUMERIC(15,2)): total de vencidas (apenas tipo 'A')
- O_VL_AVENCER (NUMERIC(15,2)): total a vencer (apenas tipo 'A')
- O_VL_RECEBIDO (NUMERIC(15,2)): valor ja recebido do titulo
- O_VL_MEDIAATRASO (NUMERIC(15,2)): media ponderada de atraso (dias * valor)
- O_VL_ANTECIPADO (NUMERIC(15,2)): valor de pagamentos antecipados
Quando Usar
- "Detalhamento da inadimplencia por faixa de atraso"
- "Quais titulos estao vencidos ha mais de 90 dias?" (com aging)
- "Duplicatas vencidas ha mais de N dias" (filtrar por O_DT_VENCIMENTO)
- "Aging de recebiveis" / "Aging report"
- Qualquer pergunta que peca DETALHE por titulo com classificacao por faixa de dias
Filtros no SELECT Externo (CRITICO)
Para perguntas "vencidas ha mais de N dias", usar O_DT_VENCIMENTO com aritmetica de data. NUNCA filtrar O_DS_DIAS por string literal — os valores sao internos da procedure e nao devem ser usados como filtro de corte temporal.
-- CORRETO: "duplicatas vencidas ha mais de 30 dias"
WHERE RFC.O_VL_SALDO > 0
AND RFC.O_DT_VENCIMENTO < CURRENT_DATE - 30
-- CORRETO: "duplicatas vencidas ha mais de 90 dias"
WHERE RFC.O_VL_SALDO > 0
AND RFC.O_DT_VENCIMENTO < CURRENT_DATE - 90
-- ERRADO: filtrar por string de faixa (valores nao documentados, captura apenas 1 faixa)
WHERE RFC.O_DS_DIAS = '31-60 Dias' -- NAO FAZER ISTO
Para perguntas de "aging report" ou "por faixa de atraso", usar O_DS_DIAS e O_DS_VENCIDA no SELECT e GROUP BY para agrupar, mas NAO como filtro de corte temporal.
Quando NAO Usar
- Resumo mensal de inadimplencia — usar VIEW_RFC030
- Listagem simples de vencidos (sem aging) — usar query direta em CONTAS