TDF: Preparando filtros SLT
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
Fernando,
Considero este blog leitura obrigatória para todas empresas que estão em implantação de TDF.
No projeto que estou atuando enfrentamos este problema por dificuldade de definir os filtros para tabelas extensas como CDPOS , por exemplo.
Muito obrigada!!!!
Karen Rodrigues
Muito bom mesmo! Tinha mesmo pensado em atualizar o blog que tinha feito sobre o SLT... vou colocar lá a referencia para este blog!
Karen,
Você poderia compartilhar quais os filtros utilizados na tabela CDPOS?
Estamos com o mesmo problema na replicação desta tabela com alto consumo no Hana.
Obrigado,
Leonardo Parpal Roig
Ola Leonardo!
Para a CDPOS utlitilizamos como filtro o campo objectclass, no nosso caso:
OBJECTCLAS=MATERIAL ou OBJECTCLAS= ADRESSE.
Consta no item acima: Change document.
Consulte também a SAP notes: 2190963 - TDF Tables needed in SLT replication
Att.
Karen Rodrigues
Muito bom esse resumo, Fernando... vou passar para nossa equipe técnica implementar alguns filtros (principalmente nas tabelas de log de modificação)....
Excelente. Se tiver alguma tabela que aqui ficou como sem importância e no seu caso tiver grande volume vamos incrementar o post com filtros para ela.
Atenciosamente, Fernando Da Rós
Boa tarde Fernando, estamos tentado filtrar a COEP e COBK, porem o campo GJAHR nestas tabelas não aparece disponível no momento do filtro. Chegou a notar algo parecido?
Grato.
Bom dia Carlos,
As tabelas COBK e COEP não são necessárias mais ao TDF, veja SAP Note 2190963, então tu pode apenas criar a tabela vazia apenas para instalar o SAP TDF e chegar até o SP05/SP06.
Quanto a "não aparece disponível no momento do filtro"? De que momento você está falando? Onde você está filtrando?
Antes de responder, leia este outro blog:
SLT e TDF - Ponto ideal de colocar os filtros
Atenciosamente, Fernando Da Rós
Bom dia, os filtros estão sendo feitos na tcode ltrs.
Fernando,
Esse blog é “must” para uma implementação de filtros no SLT no cenário TDF, e serve de baseline para discussões em outros projetos onde existe o data provisioning ao SAP HANA.
Congrats e obrigado !
Reforço que é uma boa pratica revisitar este de tempos em tempos, pois tem tido atualizações importantes para a revisão dos filtros já existentes.
atenciosamente,
Edinaldo Junior
È isso aí Fernando.
Apenas complementando no caso das tabelas de posição de estoque somente seria necessário carregar as tabelas de histórico MBEWH, MKOLH, etc; para os cenários em que no ambiente do cliente estes materiais ficarem muito tempo sem movimentação.
Um workaround seria realizar uma movimentação fake no mês anterior e estornar este movimento no mês anterior (para que o saldo sejá nulo); desta forma você iria garantir que exstiria um dado histórico para o material. Essa ação demanda um serviço de análise de quais os materiais que precisariam dessa ação