Skip to Content
Author's profile photo Rodolfo Celante

TDF – EFD-Reinf: BAdI para Sincronização de Eventos

Olá,

Você já se perguntou como uma BAdI poderia lhe auxiliar na sincronização de eventos do EFD-Reinf? Para contextualizar, a ideia por trás de uma Business Add-Ins (BAdI) é sempre tornar uma parte do sistema mais flexível. Logo, dependendo das necessidades de cada cenário, mais regras de validação poderão ser adicionadas nesse ponto do código.

Continue lendo este blog post para encontrar mais detalhes sobre a BAdI criada para estender o uso da solução do relatório EFD-Reinf.

  • Qual é o objetivo e como faço para encontrar mais detalhes sobre a BAdI?

A BAdI for External Acknowledgement (/TMF/MF_EXT_ACKN_SENT) sincroniza os status dos eventos entre Messaging Framework e os seguintes relatórios: EFD-Reinf (/TMF/REINF), EFD-Reinf – Administrative / Legal Proceedings  Table (/TMF/REINF_TABPROC)  e EFD-Reinf – Taxpayer Information (/TMF/REINF_TABCONTR).

Para encontrar mais detalhes dessa BAdI, acesse a transação SE18 e informe /TMF/MF_EXT_ACKN_SENT no campo Nome BAdI.

Ao implementar essa BAdI, você deve levar em consideração o seguinte exemplo para que haja a sincronização dos status dos eventos do EFD-Reinf: Example Class – Calling Reinf App (/TMF/CL_MF_EXT_ACKN_APP_REINF), conforme a imagem abaixo:

  • Há algum exemplo do que acontece quando a BAdI está implementada?

Vamos supor que um evento R-2060 foi criado no relatório EFD-Reinf, conforme a imagem abaixo:

Ao acessar o Messaging Framework, você poderá visualizar esse novo evento (veja a imagem abaixo).

Digamos que você cancele esse evento (vale lembrar que a sincronização ocorre para qualquer alteração de status que um evento possa receber), conforme a imagem a seguir:

Ao cancelar o evento no Messaging Framework, o status desse evento será atualizado no relatório EFD-Reinf (transação /TMF/REINF):

  • Há algum exemplo do que acontece quando a BAdI não está implementada?

Vamos supor que um evento R-2060 foi criado no relatório EFD-Reinf, conforme a imagem abaixo:

Ao acessar o Messaging Framework, você poderá visualizar esse novo evento (veja a imagem abaixo).

Digamos que você cancele esse evento, conforme a imagem abaixo:

Se olharmos o status desse evento no relatório EFD-Reinf, vemos que o evento não sofreu nenhum tipo de atualização:

  • Há alguma forma de sincronizar o status de eventos antes de implementar a BAdI?

Caso você encontre algum evento em que seu status não esteja sincronizado, você pode executar a função Reinf Integration with MF – Event backend update (/TMF/REINF_INT_MF_EVENT_UPD) informando o ID do evento, conforme a imagem abaixo:

Ao executar essa função, o status do evento será atualizado no relatório EFD-Reinf (transação /TMF/REINF).

Gostaríamos muito de saber o seu feedback. Deixe seu comentário abaixo caso tenha alguma dúvida ou sugestão para um próximo post. E não esqueça de seguir a tag SAP Tax Declaration Framework for Brazil aqui na SAP Community para ficar ligado nas últimas notícias sobre o Tax Declaration Framework (TDF).

 

Até a próxima!

 

Rodolfo Felipe Celante

Time de desenvolvimento do TDF

Assigned Tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo lucas ernesto nery
      lucas ernesto nery

      Fizemos a implementação como descrito e mesmo assim os status dos eventos continuam sem ser atualizados. Estamos utilizando comunicação com o governo utilizando PO (single stack) com os cenários referente a versão 1.4.

      É necessário alguma outra configuração?

      Obrigado

      Author's profile photo Rodolfo Felipe Celante
      Rodolfo Felipe Celante

      Boa tarde Lucas,

      para entender melhor o seu cenário, foi implementado a BAdI ou você chama o Function Module diretamente?

      Author's profile photo lucas ernesto nery
      lucas ernesto nery

      oi Rodolfo,

      Foi implementado a Badi mesmo. Seguimos o modelo /TMF/CL_MF_EXT_ACKN_APP_REINF.

      Author's profile photo Rodolfo Felipe Celante
      Rodolfo Felipe Celante

      Lucas,

      verifique se a implementação da BAdI chama o módulo de função “/TMF/REINF_INT_MF_EVENT_UPD”. Esse módulo de função fica responsável por pegar o status do evento no Messaging Framework e sincroniza os status com o EFD-REINF.

      Caso você atenda esses critérios e mesmo assim os eventos não estejam sincronizados, favor abrir um incidente na SAP para o componente FIN-TMF-BR-ESO.

      Atenciosamente,

      Rodolfo Felipe Celante

      Author's profile photo Erico Mattos
      Erico Mattos

      Boa tarde Rodolfo Celante .

      Por favor,
      Como faço para apagar um evento criado indevidamente na /TMF/REINF_TABCONTR - EFD-Reinf de forma standard?

      Já foi cancelado o evento no Messaging Framework.

       

      Muito Obrigado.

      Author's profile photo Rodolfo Felipe Celante
      Rodolfo Felipe Celante

      Olá Ericco.

      Quando você seleciona uma validade e usa a opção Excluir, o evento já é automaticamente excluído na base do governo.

      As telas de envio dos eventos R-1000 e R-1070 após o envio da exclusão, irão sugerir que o próximo evento seja um evento de inclusão (Operation Type = I).

      Não existe a necessidade de deletar o evento da base de dados.

      Complementando Erico, para que essa atualização de status seja feita de forma automatizada, você deve implementar a BAdI "/TMF/MF_EXT_ACKN_SENT", e verifique se a implementação da mesma está criada e ativa e se a mesma chama o módulo de função "/TMF/REINF_INT_MF_EVENT_UPD"

      Atenciosamente,

      Rodolfo Felipe Celante