O intuito deste post é demonstrar opções funcionais de filtros com foco nas tabelas replicadas para o SAP TDF. Porém as mesmas ideias de filtros server a qualquer projeto side car HANA.
Isso é especialmente importante para ambientes DEV e QAS onde costuma-se ter hardware menor, ou seja, apesar do grande poder de compactação do
HANA ainda assim precisa-se deixar os 50% (regra geral) de memória livre para a materialização temporária das consultas.
Todas as tabelas do SAP TDF que precisam ser replicadas podem ser encontradas na SAP Note 2190963 TDF Tables needed in SLT replication
Mandante
* A primeira restrição a se avaliar é referente ao mandante. Analisar se todos os mandantes do ERP serão realmente necessários no destino.
* Dependendo das tabelas o campo de mandante pode ser MANDT, CLIENT, MANDANT e RCLNT
Notas fiscais
A tabela central é a J_1BNFDOC e sua chave é o MANDT e o DOCNUM. Como neste exemplo restringimos apenas 1 mandante podemos pegar a data desejada e encontrar o menor DOCNUM e o valor encontrado para restringir todas as tabelas relacionadas a notas fiscais.
Para SAP TDF a data a ser utilizada está no campo ITMF_REPDAT (alimentada pelo report ITMF_REPDAT_FILL)
Como na SE16 não é o melhor lugar para encontrar o menor número de documento, pode ser necessário novas consultas restringindo os números que for encontrando:
Até encontrar o que seja o menor para utilizar nos filtros.
Dica: Se você tem acesso ao banco de dados fonte então melhor fazer um SQL direto
SELECT MIN(DOCNUM) FROM sapxxx.J_1BNFDOC WHERE ITMF_REPDAT >= '20140101'
Abaixo as tabelas em que o DOCNUM faz parte da chave:
J_1BNFDOC, J_1BNFE_ACTIVE, J_1BNFLIN, J_1BNFSTX, J_1BNFNAD, J_1BNFFTX, J_1BNFPHARMACEUT, J_1BNFIMPORT_DI, J_1BNFREFPROC, J_1BNFVEHICLE, ITMF_D_NF_TEXT e J_1BNFTRANSVOL
* Se for utilizar mais de um mandante precisará adaptar os filtros pois o DOCNUM é numerado individualmente por mandante
* O campo ITMF_REPDAT é recente e após sua criação, deve-se rodar programa ITMF_REPDAT_FILL para seu preenchimento. Pode-se até utilizar o campo PSTDAT mas após todo preenchimento isto irá ser retransferido como alteração
Financeiros / Movimentação Material
As tabelas de FI são de fáceis de restringir por período pois o ano faz parte da chave, então só filtrar o campo GJAHR nas tabelas BKPF, BSEG, BSEC, WITH_ITEM, COBK, COSB e COEP.
Da mesma forma as de movimentação de material pelo campo MJAHR, filtre as tabelas MKPF e MSEG.
Financeiros / Movimentação Material
As tabelas de estoque da mesma forma podem ter filtros por ano (LJAHR), deve-se avaliar funcionalmente com cuidado.
Tabelas de estoque:
MBEW, QBEW, EBEW, MSBL, MSKU, MKOL
E seus históricos:
MBEWH, QBEWH, EBEQH, MSBLH, MSKUH, MKOLH.
Funcionalmente o ECC só grava registro para ANO/MÊS onde tenha ocorrido movimentação, então uma material que movimentou a última vez em dezembro de 2010, só encontraremos o registro na tabela de histórico (MBEWH) referente a 2010/12. Se apenas estiver replicando dados após, exemplo, 2015. As informações presentes no bloco H e K estarão incorretas.
Atualização 04/Novembro/2016: Evitar filtros nas tabelas de estoque devido ao comportamento ECC.
Change document
Atualização 26/Junho/2017: Após notas abaixo ou SP10 não é mais necessário replicar tabelas CDPOS e CDHDR
2491925 [TDF SP09] Note 066: TOM - Job scheduling correction
2487581 [TDF SP09] Note 067: CTR - Delivery of Report for SAP Note 2486953
2486953 [TDF SP09] Note 068: CTR - Delivery of HANA Objects for SAP Note 2492713
2492713 [TDF SP09] Note 069: GEN - Enhancements for Rectification Process
Demais tabelas & outros filtros
Para as demais tabelas, à princípio não tinham movimento que precisasse serem filtrados ou então que não seja simples os filtros (ex.: Dados mestres, customizing e tabelas com poucos dados).
Além de mandante e período talvez empresa seja relevante para algum cenário de multinacional, acredito que pelo exposto deve ficar fácil para estender a outras necessidades. O ponto importante é garantir levar o dado necessário e
economizar recursos de rede, memória, backup, disco.... Se funcionalmente estiver em dúvida melhor que leve 100%
Comente se teve alguma situação nova, compartilhe com a comunidade o blog só ficará melhor.
Veja também
SLT e TDF - Ponto ideal de colocar os filtros
Implementando SAP TDF - Replicando os dados com SLT - Novo link adicionado
SAP Notes a observar
SAP Note 2114900 New field included in J_1BNFDOC
SAP Note 2179490 Correction on ITMF_REPDAT_FILL running via job