Bom dia, precisava saber como funciona o SQL do relatório da tela rpt_tit_acr_em_aberto. estou tentando buscar carteira de meses passados mas pela tabela tit_acr não funciona por conta do saldo já vir zerado em titulos liquidados, e pela movto_tit_acr não estou conseguindo chegar no valor correto.
SQL do rpt_tit_acr_em_aberto — como pegar carteira de meses passados gabriel bdz, o motivo de não bater é que você está buscando saldo no lugar errado pra uma data passada: a tabela tit_acr guarda só o estado atual do título (`val_sdo_tit_acr` zera assim que ele é liquidado, independente de quando isso aconteceu) — ela não tem histórico por data. Quem tem o histórico é a movto_tit_acr: cada linha é um movimento (emissão, liquidação parcial, baixa, etc.) na data em que aconteceu, e ela também carrega o campo `val_sdo_tit_acr` — só que ali ele representa o saldo do título naquele momento específico, não o saldo atual. Ou seja, pra saber "quanto esse título ainda tinha de saldo em tal mês passado", a lógica é: pegar o último movimento da tit_acr até a data de corte desejada, e usar o `val_sdo_tit_acr` desse movimento — não o da tit_acr: Código: SELECT m.val_sdo_tit_acr FROM movto_tit_acr m WHERE m.cod_estab = ? AND m.cod_espec_docto = ? AND m.cod_ser_docto = ? AND m.cod_tit_acr = ? AND m.cod_parcela = ? AND m.dat_transacao <= :data_corte ORDER BY m.dat_transacao DESC, m.num_id_movto_tit_acr DESC FETCH FIRST 1 ROW ONLY (ajusta a chave exata conforme os campos que você já está usando pra casar tit_acr com movto_tit_acr — a ideia central é: filtra por `dat_transacao <= data_corte`, ordena decrescente, pega a primeira linha.) Isso deve fechar a carteira retroativa certinha, porque agora você está lendo o saldo histórico do movimento, não o saldo corrente do título.