cancel
Showing results for 
Search instead for 
Did you mean: 

Filtro de transações reconciliadas

fbio_bilicki
Active Contributor
0 Kudos

Boa tarde pessoal,

alguém sabe um select fácil pra eu filtrar transações reconciliadas e não reconciliadas no lançamento contábil manual?

Eu quero fazer um select na tabela OJDT (Cabeçalho) e JDT1 (Detalhe dos lançamentos), filtrando conciliados ou não, igual ao filtro que tem no SAP.

Abraço

Fabio

SAP 8.82 PL16 / SAP 9.0 PL13

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Fabio

Dentro do Gerenciador de Consultar existe uma pasta chamada sistema onde existem várias consultas prontas relacionadas a Reconciliação, de uma olhada talvez elas possam te ajudar.

Abçs

Eduardo Gama

fbio_bilicki
Active Contributor
0 Kudos

Eduardo, pesquisei as consultas, nem lembrava delas, e descobri onde procurar, a informação, toda reconciliação está na tabela ITR1.

Aqui acontece as vezes cancelamento de reconciliação, como exemplo abaixo, cancelei 4x uma reconciliação.

Descobri a tabela na consulta do sistema/Reconciliação interna por nro de transação, onde apresentou os dados da ITR1

Pra filtrar, fiz um esquema de soma de valores do campo ReconSum, eu somei esse campo, se o valor for diferente de zero, foi reconciliado.


select

CASE WHEN (select sum(TA0.ReconSum) from ITR1 TA0 WHERE TA0.TransId = T0.TransId) <> 0

  THEN 'Reconciliado'

END as StatusReconciliacao,

t0.TransId,

t0.RefDate,

t0.Memo,

t1.Account,

t1.Debit,

t1.Credit

from ojdt t0

inner join jdt1 t1 on t1.TransId = t0.TransId

where t0.refdate > '01/08/2014' T0.TransId >= 46460

Abraço,

Fabio.

fbio_bilicki
Active Contributor
0 Kudos

Bom dia pessoal,

Complementando minha resposta, ficou muito difícil usar esse SQL que publiquei, então resolvi descobrir como o SAP faz, utilizando a ferramenta SQL Server Profile, que meu grande mestre SAP Cesar Sastre me ensino a usar.

Descobri que o SAP pra saber se está conciliado ou não, testa dois campos da tabela JDT1, o campo BalDueCred e o campo BalDueDeb, se esses campos estiverem zerados, o lançamento foi conciliado.

Segue abaixo nova SQL que fiz para mostrar se está ou não conciliado.


-- Cheques recebidos.

select

CASE

   WHEN abs(T1.BalDueCred)+abs(T1.BalDueDeb) = 0

   THEN 'Reconciliado nº ' + (SELECT CONVERT(VARCHAR(MAX), MAX(TA0.[ReconNum])) FROM  [dbo].[ITR1] TA0 WHERE TA0.[TransId] = t0.TransId)

END as StatusReconciliacao,

t0.TransId,

t0.RefDate,

t0.Memo,

t1.Account,

t1.Debit,

t1.Credit,

T1.BalDueCred,

T1.BalDueDeb

from ojdt t0

inner join jdt1 t1 on t1.TransId = t0.TransId

where t1.Account like '1.1.2.7%'  -- Minha conta de cheques recebidos.

Abraço

Fabio.

Answers (1)

Answers (1)

rodrigofeula
Active Contributor
0 Kudos

Boa tarde Fábio, tenho utilizado bastante a JDT1 para relatórios diversos (consultas).

Já observei que quando realizamos uma reconciliação interna de PN o sistema preenche:

JDT1.MthDate com a data em que foi realizada a reconciliação interna.

Sugiro que você realize testes com esta coluna, onde a princípio: caso a coluna esteja vazia equivale a linha não reconciliada, estando com data preenchida equivale a linha conciliada. Obs.: Nos casos em que utilizei regra parecida estava olhando para as linhas de JDT1 onde Account era a conta controle de C/R.

Espero ter colaborado.

Bons testes para você!

Depois dê um feedback aqui, comentando se deu certo.

Att,

Rodrigo da Costa Feula

fbio_bilicki
Active Contributor
0 Kudos

Boa tarde Rodrigo,

no primeiro momento funcionou o campo, mas infelizmente quando há cancelamento de reconciliação, ele mantém a data neste campo.

Por exemplo, fiz 4 operações pra testar, ele manteve o valor.

Mas descobri com a dica do Eduardo como pegar a informação,, segue na próxima resposta,,

abraço.


Fabio