Skip to Content

Olá pessoal,

 

A partir do Support Package 03 do TDF, alguns registros receberam tabelas temporárias. A principal função dessas tabelas temporárias é melhorar a performance de registros críticos, relativos a dados mestres.

Podemos identificar as tabelas temporárias através da classe de entrega “L” e também por só conterem os seguintes campos: mandante, ID da rodada do relatório, chave do registro a que se destina e eventuais informações adicionais necessárias para o processamento de registros do Bloco 0.

A partir dessa modificação, não há mais como executar os registros do Bloco 0 individualmente, nem no relatório, nem via comandos SQL. Isso acontece devido ao fato desses registros precisarem que outro registro seja executado previamente para inserir nas tabelas temporárias os itens de dados mestres a serem reportados.

Segue abaixo a lista de tabelas temporárias utilizadas nos SPEDs e os registros que as consomem:

Tabela temporária SPED EFD ICMS/IPI SPED EFD-Contribuições
/TMF/D_CNPJ_T

sap.glo.tmflocbr.pco/PCO_A010

sap.glo.tmflocbr.pco/PCO_C010

sap.glo.tmflocbr.pco/PCO_D010

sap.glo.tmflocbr.pco/PCO_F010

sap.glo.tmflocbr.pco/PCO_I010

sap.glo.tmflocbr.pco/PCO_P010

/TMF/D_COD_CCUS sap.glo.tmflocbr.pco/PCO_0600
/TMF/D_COD_CTA sap.glo.tmflocbr.pco/PCO_0500
/TMF/D_COD_ITEM sap.glo.tmflocbr.efd/EFD_0200 sap.glo.tmflocbr.pco/PCO_0200
/TMF/D_COD_OBS_T sap.glo.tmflocbr.efd/EFD_0460
/TMF/D_COD_PART sap.glo.tmflocbr.efd/EFD_0150 sap.glo.tmflocbr.pco/PCO_0150
/TMF/D_COD_UNID sap.glo.tmflocbr.efd/EFD_0190 sap.glo.tmflocbr.pco/PCO_0190
/TMF/D_CONV_FACT sap.glo.tmflocbr.efd/EFD_0220
/TMF/D_NUM_PROC

sap.glo.tmflocbr.pco/PCO_1010

sap.glo.tmflocbr.pco/PCO_1020

 

Vale ainda salientar que os registros que consomem os registros listados acima também dependem do preenchimento dessas tabelas temporárias e, portanto, também não é possível executá-los individualmente.

Abaixo você encontrará um exemplo detalhado, a partir da tabela /TMF/D_COD_CCUS. A sua estrutura contém os seguintes campos: Client (MANDT), Run ID (RUN_ID) e o Cost Center (COD_CCUS). Veja a imagem a seguir:

Essa tabela é preenchida pela classe /TMF/CL_SPED_REG. Durante a execução do SPED, e após a execução de cada registro, o seguinte método é chamado:

Neste momento, o relatório valida se o campo Centro de Custo (COD_CCUS) existe na saída do registro executado. Se existe, as linhas do registro são inseridas na tabela com as seguintes informações:

  • Mandante (MANDT): Mandante da linha reportada no registro executado;
  • Run ID (RUN_ID): ID da rodada cadastrado no Tax Obligation Monitor (transação /TMF/TOM02);
  • Código do Centro de Custo (COD_CCUS): Código do centro de custo reportado no registro executado.

Vale mencionar que os registros de dados mestres possuem uma prioridade inferior aos registros que fornecem dados para eles. A prioridade dos registros pode ser consultada na tabela /TMF/D_REG_PRIO. No caso do registro 0600 do SPED EFD-Contribuições, sua prioridade 4 faz com que ele seja executado após os registros que possuem o campo Código do Centro de Custo (COD_CCUS) na sua saída, que possuem prioridade 0. Veja a imagem abaixo:

Ao executar o registro 0600 após os demais registros, a tabela temporária já estará preenchida com os centros de custos a serem reportados naquela execução. Abaixo, segue o exemplo da modelagem do registro 0600 do SPED EFD-Contribuições, que consome diretamente a tabela /TMF/D_COD_CCUS para identificar os centros de custo a serem reportados:

 

Em caso de dúvidas, deixe um comentário abaixo.

 

Até a próxima!

 

Thiago Nunes

Time de desenvolvimento do TDF

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

    1. Juliano Bellini

      Olá César,

       

      Se você quer dizer que alterar a prioridade de um registro é a ordem que ele executa, você pode fazer isso utilizando a tabela /TMF/D_REG_PRIO. Quanto menor o a prio, primeiro ele executa..

      Porém, não aconselhamos mudar a prioridade dos SPED entregues pela SAP.

       

      Att,

      Juliano Bellini

      (0) 

Leave a Reply