Olá pessoal,
Vocês sabiam que vocês podem utilizar uma plataforma fornecida pelo TDF (Reporting Framework) para facilitar a implementação de novos relatórios? Neste blog post, você encontrará mais informações sobre como você pode criar um relatório customizado a partir dessa solução.
É importante salientar que os passos abaixo são os requisitos mínimos para criar um relatório. Caso haja necessidades mais especificas, será necessário um estudo mais aprofundado nas classes herdadas e na sobrescrita de alguns métodos dessas classes.
Para começar, é importante entender o passo a passo para criar a estrutura de um report framework:
- Cadastros e Configurações
Como primeiro passo, é preciso cadastrar as informações do seu relatório. Para tanto, é preciso preencher as seguintes tabelas, que podem ser acessadas tanto pelo IMG (transação SPRO), quanto via transação SM30:
- Define Report Acronym (/TMF/D_REPORT)
- Maintain Master Data of Legal Reports (TMF/D_REP_FISC)
- Maintain Legal Reports and Versions (TMF/D_REP_VERS)
- Map View Version to Legal Report Version (/TMF/D_VIEW_VERS)
Para mais informações sobre como preencher cada uma dessas atividades de parametrização, acesse Accounting > Tax Declaration Framework for Brazil.
Seguem alguns exemplos de preenchimento e suas relações (de acordo com as cores):
* ZTMF_TREFD é a DDIC External View criada para sincronizar a HANA View com o ABAP. Encontre mais detalhes no tópico 4 abaixo.
Você ainda poderá preencher as seguintes parametrizações conforme a sua necessidade:
- Define Registers Priorities (/TMF/D_REG_PRIO): Preencha essa atividade caso você queira priorizar a execução de determinados registros. Essa configuração é útil para registros agregadores e para evitar dupla consulta ao banco de dados.
- Map SPED Register to Profile (/TMF/D_PROFI_REG): Preencha essa atividade caso você queira associar um registro a um determinado perfil e controlar a sua emissão. Essa configuração é utilizada apenas no contexto de relatóris SPED.
- Maintain General Information for SPED Reports (/TMF/D_REP_CUST): Preencha essa atividade caso você queira adicionar informações complementares à parametrização Maintain Master Data of Legal Reports (/TMF/D_REP_FISC). Essa configuração é relevante para especificar o comportamento do relatório.
- Maintain External Systems Mapping (/TMF/D_SYS_INF): Preencha essa atividade caso você queira definir qual MANDT utilizar para cada filial, como um mapeamento entre os dados vindos do ERP para o ambiente TDF. Vale relembrar que:
- TDF Client: define qual o MANDT que o TDF vai utilizar para buscar as informações no ERP.
- Original System Client: é utilizado para sincronizar dados mudando o MANDT, caso haja mais de um ERP para a mesma filial.
- RFC Client: é utilizado pelos serviços do TDF que acessam o ERP.
A validação do cadastro e das configurações pode ser feita através de inspeção no Tax Obligation Monitor (/TMF/TOM) ou via transação SE16 consultando a view /TMF/V_REG_REP.
- Classe de Relatório
Para criar uma classe de relatório a partir da classe /TMF/CL_SPED, você precisa acessar a transação SE24 e preencher os dados abaixo:
- Nome: <nome>_SPED
- Descrição: <nome>
- Pacote: <nomedopacote>
- Properties > Superclass: /TMF/CL_SPED
- Classe de Parâmetros
Para criar uma classe de parâmetros a partir da classe /TMF/CL_SPED_PARAMETERS, você precisa acessar a transação SE24 e seguir os passos abaixo:
- Preencha os dados abaixo:
- Nome: <nome>_SPED
- Descrição: <nome>
- Pacote: <nomedopacote>
- Properties > Superclass: /TMF/CL_SPED_PARAMETERS
- Redefina o método VALIDATE.
- Implemente um método CONSTRUCTOR:
- P_EMP TYPE /TMF/DE_EMPRESA
- PDAT TYPE /TMF/DE_DATA
Para entender melhor, há alguns elementos que compõem o CONSTRUCTOR, tais como:
- super->constructor( ).
- set_run_id( ).
- set_report_id( ‘...’ ).
- set_orgstr_key( ... ).
- set_erp_keys( ).
- set_where_clause ( ... ).
Há também alguns parâmetros básicos de tela:
- Empresa
- Data Inicial
- Data Final
- HANA View
O próximo passo é criar uma HANA View. Para isso, faz-se necessário distinguir Calculation View de External View, e como cada uma deve ser criada:
- Deve ser criada CROSS-CLIENT cuja validação é feita pelo TDF a partir da coluna MANDT.
- Os parâmetros são passados pelo TDF que une os parâmetros pelo nome:
- View Parameter: P_DT_INI.
- Classe de Parâmetros: GET_DT_INI ( ).
- Os campos REG e SORTER precisam ser preenchidos porque:
- Campo REG determina a fronteira entre os campos de controle (MANDT, EMPRESA, FILIAL, CNPJ) e as informações que serão parte do relatório, portanto tudo o que vem antes dele é omitido na saída do relatório;
- Campo SORTER é responsável por manter a estrutura do relatório. Deve, obrigatoriamente, ser o último da lista.
- É referenciada na parametrização Maintain Legal Reports and Versions (TMF/D_REP_VERS);
- Exerce o papel de intermediário entre as HANA views e o ABAP;
- Deve ser sincronizada caso haja alguma das seguintes mudanças no schema:
- Inclusão/Remoção de colunas;
- Mudanças nos tipos de dados;
- Alteração de nomes;
Veja a imagem abaixo como exemplificação:
- Programa para Execução
Após todos os passos acima, crie um programa para execução, preenchendo as informações a seguir:
- Nome: <NOME>_REPORT
- Título: Prog <nome>
- Tipo: Executable Program
- Status: Test Program
- Pacote: <nomedopacote>
Pronto! Agora você já sabe como utilizar o Reporting Framework para facilitar a implementação de novos relatórios.
A ideia desse blog post surgiu a partir da apresentação do time de desenvolvimento do TDF no Localization Summit 2018. Contamos com a presença de vocês nas próximas edições.
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!
Ailane Kuhn
Time de desenvolvimento do TDF