Pular para o conteúdo principal

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