Olá a todos,
O principal motivo por trás da escrita deste blog é baseado em uma experiência pessoal em que, ao estender a tabela BKPF e criar o documento contábil, os dados não puderam ser postados na tabela. Após uma investigação mais aprofundada, descobriu-se que algumas estruturas precisavam ser estendidas em alguns relatórios e esses relatórios precisavam ser regenerados.
Foi difícil encontrar informações completas sobre exatamente o que precisa ser feito de uma só vez. Portanto, gostaria de anotar todas as informações neste blog.
Muitas vezes, devido a requisitos do cliente, as tabelas do banco de dados precisam ser estendidas. Apenas estender a tabela do banco de dados não é suficiente, pois precisamos saber todas as tabelas dependentes e relatórios que precisam ser regenerados ou estendidos juntamente com a tabela base.
Em nosso caso, para estender a tabela BKPF, tivemos que regenerar muitos relatórios, estender estruturas e tabelas dependentes, etc. Deixe-me explicar todo o processo em detalhes.
Requisito: Estender a tabela BKPF com novos campos.
Os documentos contábeis compõem as finanças de sua organização. A tabela BKPF (Cabeçalho do Documento Contábil) é uma tabela padrão nos sistemas ERP SAP R/3 que armazena as linhas de cabeçalho para documentos contábeis e é composta por Código da Empresa, Nº do Documento, Ano Fiscal (como campos chave). Tivemos que estender a Tabela BKPF com 3 novos campos ZZ (ZZTRANTXT, ZZDECTXT, ZZAOACFO).
Com a introdução de novos campos, os critérios de seleção para criar o documento contábil foram expandidos da seguinte forma.
-
Data Efetiva
-
Tipo de Documento
-
Texto da Transação (ZZTRANTXT)
-
Texto da Descrição (ZZDECTXT)
-
Agência (ZZAOACFO)
Em nosso cenário, o seguinte teve que ser estendido/modificado.
Passo 1:
Tabela VBKPF (Tabela SAP padrão usada para armazenar informações do Cabeçalho do Documento para estacionamento de documentos). Esta está disponível nos sistemas SAP R/3 e precisa ser estendida com os novos campos ZZ.
Passo 2:
A estrutura ACCHD deve ser estendida, pois estávamos usando BAPI_ACC_DOCUMENT_POST
BAPI_ACC_DOCUMENT_CHECK. Esta BAPI (BAPI_ACC_DOCUMENT_POST
, BAPI_ACC_DOCUMENT_CHECK) possui uma tabela de extensão que é usada para mapear para a tabela BKPF.
Passo 3:
O Include LFACIF4S a seguir possui uma estrutura chamada P_ACC que precisa ter os novos campos ZZ adicionados. Para obter esses novos campos nesta estrutura, precisamos executar o seguinte relatório SAPFACCG para que a estrutura seja regenerada no include.
Estrutura P_acc:
Passo 4:
Quando postamos um documento usando
preliminary_posting_post_all
módulo de função, o include LF040Z02 precisa ser regenerado com os novos campos personalizados adicionados.
Passo 5:
Execute RFBIPGG0 para regenerar o Include LF040Z02. Este relatório é relevante quando postamos um documento usando FV50. Aqui precisamos aprimorar FV50 com novos campos personalizados. Outro cenário a ser considerado é se você estiver postando um documento usando a transação FBVB, então o include LF040Z02 acima se torna irrelevante.
Passo 6:
A estrutura INVFO precisa ser estendida com os novos campos personalizados adicionados.
Passo 7:
Quando finalmente postamos um documento usando o módulo de função PRELIMINARY_POSTING_POST_ALL, este FM usa internamente o BDC e posta o documento usando a transação FBVB.
Passo 8:
O BADI FI_HEADER_SUB_1300 pode ser usado para aprimoramento de tela. Você pode ter que criar um Ponto de Aprimoramento no programa SAPMF05A.
Nota: Novos campos Z podem ser adicionados ao FB03 apenas na forma de modificação rígida de tela e não são recomendados.
Para quaisquer dúvidas, entre em contato com os contatos mencionados abaixo.
*e-mails pessoais deletados*