Testando os Eventos R-4000 do REINF no DRC

Publicado por:Renan Correa Thu, 31 August 2023
Compartilhe:
31 de August de 2023

Testando os Eventos R-4000 do REINF no DRC

Neste momento ainda estou testando a solução para a geração dos eventos R-4000 e tal, mas já passei por alguns perrengues e quero compartilhar o que já vi pois até o momento não tem muita informação (ou documentação sobre o DRC) e a solução saiu MUITO depois da do TDF.

1- Notas

O sistema que tenho de exemplo é um S4CORE104 (1909) on-premise. Então o primeiro passo foi implementar aquele montão de notas normal de tudo que é projeto. Nesse caso implementou-se todas as notas de [DRC Brazil Statutory Reporting] até a 136.

Além disso mais umas notas que não fazem parte da sequência numerada, em especial as três abaixo:

3367797 -Statutory Reporting – Improvements in handling wait status for Electronic Submis

3354710 – [DRC Brazil Statutory Reporting] EFD-Reinf Layouts v2.1.1 and V2.1.2 Report Defi

3353618 – [DRC Brazil Statutory Reporting] EFD-Reinf: Correction of Conflicts of SAP Note

Isso criou os novos reports, as views, as definições de eventos bem como todo os ddics e classes/métodos necessários. Supomos que está OK, por enquanto.

Base pronta teoricamente.

2 – Definições e configurações

Olhando por exemplo a definição da categoria de relatório BR_REI_PER (Eventos periódicos) já dá para ver que há novas definições incluindo pré-processamento, INSS 2.1.2 e Outras retenções 2.1.2 (e 2.1.1 também):

Ein Bild, das Text, Screenshot, Zahl, Schrift enthält.

Automatisch generierte Beschreibung

Então, com toda a base técnica configurada então a próxima atividade que sugiro é ir na view cluster SRFVC_RPG_ENT e configurar as novas atividades *212* para os respectivos Report ID’s e Reporting Entities da empresa (a SAP entrega um BC-set com o template, bastaria copiar para a sua Reporting Entiry a definição e ajustar as datas).

OK. Reports teoricamente habilitados para as empresas, então acho que é hora de fazer a configuração funcional das visões abaixo para gerar os dados no pré-processmamento e para gerar os eventos:

/TMF/D_WH_TAXGRP

/TMF/D_WH_TX_CPL

/TMF/D_WHTX_TYPE

/TMF/D_R_NATREND

/TMF/D_R_FILTER

Tem algumas boas explicações sobre as configurações funcionais no post da SAP sobre TDF (a lógica funcional parece ser bem similar entre DRC e TDF, apesar da parte técnica ser diferente ). Recomendo esse blog daqui: https://blogs.sap.com/2023/03/16/tdf-efd-reinf-2.1.1-analysis-of-scenario/

Para DRC ainda não tem nenhum blog post da SAP que eu tenha visto, seria bom. Assim como seria bom ter mais informações no help do produto, implementar fazendo engenharia reversa é bem mais complicado ;D

3- Testando o pré-processamento e a geração dos eventos:

Vi que temos uma nova atividade dentro dos eventos periódicos, que é executar o pré-processamento. Esse pré-processamento entendi que preenche a tabela /TMF/D_LCTORENRT que é usada para geração dos eventos R-4***.

Ein Bild, das Text, Screenshot, Schrift, Zahl enthält.

Automatisch generierte Beschreibung

A minha primeira execução do pré-processamento ficou pendurada, aguardei vários minutos e nunca mudou o status. Testei mais algumas vezes e continuou ficando em processamento semore.

Tive que debugar o sistema e encontrei uma mensagem de erro SRF146 por causa do parametro “ReportingClient” faltando na tabela SRF_SYS_FIELD. Na minha versão SCORE104 tem um erro no processamento e essa mensagem não disparou exception e não alterou o estado do programa de “in process” para failed.

Abaixo tem o ponto do código onde achei esse problema:

Então, não achei nenhuma nota que criasse esse parâmetro nessa tabela, então adicionei manualmente o “ReportingClient” via SE16 no DEV e fiz um novo teste.

Dessa vez o programa executou com sucesso, eu acho, e gerou os dados. Abaixo tem um exemplo do app mostrando o preview do pré-processamento e o que foi gravado na shadow.

Ein Bild, das Text, Screenshot, Schrift, Zahl enthält.

Automatisch generierte Beschreibung

Após esse momento entendi que o próximo passo é executar a atividade para gerar os eventos R-4***. Na imagem abaixo isso seria a atividade Incoming Withholding Taxes Version 2.1.2.

Ein Bild, das Text, Screenshot, Schrift, Zahl enthält.

Automatisch generierte Beschreibung

Rodei e não gerou nada, mas não cheguei ainda ao ponto de analisar essa funcionalidade e ver porque não gerou os eventos. Vai ficar pra outro dia.

4- Desenvolvimentos e debugging

Um ponto que achei interessante de destacar é que existe uma badi BADI_FIBRREI_WHT com o método Change_wht onde é possível alterar os valores determinados pelo pré-processamento e também incluir uma lógica para preencher os cenários não suportados pelo standard da SAP.

Ein Bild, das Text, Screenshot, Software, Schrift enthält.

Automatisch generierte Beschreibung

E, por último, de brinde, a lógica do pré-processamento está em boa parte nessa classe CL_FIBRREI_WHT_MAIN que eu acabei debugando e já deixo documentada aqui:

Ein Bild, das Text, Elektronik, Screenshot, Zahl enthält.

Automatisch generierte Beschreibung

Enfim, ainda estou testando e aprendendo (na marra) como funciona então o post não tem o objetivo de discutir tudo que existe mas apenas oferecer alguma luz para quem está na luta da implementação dos eventos R-4000 para atender esse requisito legal.

Se tiver alguma contribuição para ajudar sinta-se livre de deixar aí nos comentários e eu adiciono no texto também depois.

Um agradecimento especial ao Cleumar Gomes e a Priscila Lima, que também estão analisando a solução no DRC e trocando umas figurinhas comigo nessa jornada.

Valeu Gurizada,

Renan Correa

Quer ficar ligado nas novidades de localização? Entra no grupo da S4CN no Telegram e segue a gente no canal do Youtube

Mais infos sobre a localização Brasil no ERP, direto da sap, vocês podem conferir no SAP community na tag de S/4HANA logistics for Brazil

Outros posts sobre Localização você pode conferir filtrando pela categoria NFE/CTE ou Localização BR Geral.

Outros posts sobre TDF você pode conferir filtrando pela categoria TDF/DRR.

Subscribe
Notify of
guest
4 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
Ver Todos Comentarios
Cleumar Goems
Cleumar Goems
8 meses atrás

Muito e infelizmente como foi comentado não tem blog e estamos tendo que fazer a engenharia, debug para entender como a mesma funciona, não esta nada fácil com DRC Brasil para o Reinf, com prazo apertado.

Alencar Rodrigues
Alencar Rodrigues
7 meses atrás

Bom dia Renan,
Muito bom o seu post!
Por aqui estou tentando utilizar o Método Change_wht. Vi que o método recebe todo o conteúdo da shadow /TMF/D_LCTORENRT e que podemos alterar aí o código da natureza de rendimento.

Um problema que estou enfrentando é que por mais que coloque break-points no método ao executar o pré-processamento o break-point não surte efeito e o processamento não é interrompido.
Vejo o efeito do método na tabela /TMF/D_LCTORENRT após o processamento.

Pretendo ‘sofisticar’ a lógica de determinação do 1NATREND’ mas preciso do debug para isso!

Espero que tenha alguma dica para me ajudar nisso!

Obrigado,

Alencar

Renan Correa
Renan Correa
7 meses atrás
Responder Para  Alencar Rodrigues

Oi Alencar,
Para debugar o pré-processamento é necessário um Breakpoint externo no código. Ainda vou escrever umas dicas de como debugar e analisar o DRC, como a solução do BR ficou metade em Classes ABAP e a outra metade em calculation views o troubleshooting é muito ruim e limitado.
att,
Renan Correa

Alencar Rodrigues
Alencar Rodrigues
7 meses atrás
Responder Para  Renan Correa

Opa Renan,
Já consegui interromper o processo de transmissão do REINF com Break Points no S4HANA mas foi em outro sandbox.
Para o pré-processamento não estou conseguindo… estou vendo o efeito da BADI na tabela /TMF/D_LCTORENRT.
Criei uma tabela Parceiro/Cod LC116/Natureza Rendimento e vou utilizar para os casos em que o mapeamento baseado na standard /TMF/D_R_NATREND não nos atende.
Vou pedir uma ajuda ao lider de desenvelvedores para me ajudar nisso!!
Obrigado pelo suporte!
Alencar

4
0
Deixa tua opinião aí!x