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).
- Para mais informações sobre o relatório EFD-Reinf, acesse: https://help.sap.com/viewer/p/SAP_TAX_DECLARATION_FRAMEWORK_FOR_BRAZIL > Application Help > Messaging Framework > EFD-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
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
Boa tarde Lucas,
para entender melhor o seu cenário, foi implementado a BAdI ou você chama o Function Module diretamente?
oi Rodolfo,
Foi implementado a Badi mesmo. Seguimos o modelo /TMF/CL_MF_EXT_ACKN_APP_REINF.
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
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.
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