Extração e delta · leitura de 9 minutos

Delta via CDC em ABAP CDS: automático ou mapeado?

Entenda CDC para ABAP CDS, mapeamento das chaves e validação de carga delta em consumidores compatíveis.

Em projetos analíticos, a carga inicial estabelece a fotografia dos dados; o delta procura refletir mudanças posteriores. O mecanismo de Change Data Capture (CDC) para extração de ABAP CDS pode registrar alterações das tabelas físicas subjacentes e disponibilizá-las aos consumidores compatíveis. Mas não basta acrescentar uma anotação: o desenho da view precisa permitir o mapeamento das chaves.

1. CDC automático em uma seleção simples

O modo automático é voltado a cenários simples, em que a relação entre a CDS e a tabela monitorada pode ser inferida. Exemplo didático de projeção de uma tabela de cabeçalho, sujeito à disponibilidade do recurso no backend:

@EndUserText.label: 'Extrator de pedidos - exemplo'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@Analytics.dataExtraction.enabled: true
@Analytics.dataExtraction.delta.changeDataCapture.automatic: true

define view entity ZI_DEMO_SO_CDC
  as select from vbak as H
{
  key H.vbeln as SalesDocument,
      H.auart as SalesDocumentType,
      H.erdat as CreatedOn
}

Este é um modelo de estudo, não uma promessa de suporte universal. Verifique release, requisitos do extrator e se o consumidor utiliza o mecanismo correspondente. A existência da anotação não prova que o cenário esteja operacional.

2. E quando a CDS tem JOIN?

Em uma CDS que une tabelas, pode ser necessário declarar @Analytics.dataExtraction.delta.changeDataCapture.mapping com o papel de cada tabela e os campos-chave correspondentes. O mapeamento precisa refletir a chave física e a cardinalidade real. Atribuir automatic: true a um modelo com vários joins ou agregações não transforma, por si só, esse modelo em um extrator CDC válido.

Para modelagens complexas, avalie uma CDS extratora mais simples, com dados enriquecidos posteriormente em camadas analíticas. Um projeto fiscal com Basic, Composite, Fact e Consumption deve passar por avaliação própria de extração e delta.

3. Procedimento de validação

  1. Verifique a disponibilidade do mecanismo CDC e as dependências do produto/release.
  2. Confirme as chaves físicas e o mapeamento da entidade.
  3. Inicialize a carga com um consumidor compatível e confirme a posição de delta.
  4. Insira ou altere um registro em ambiente de testes autorizado.
  5. Verifique se a atualização aparece no monitoramento e na tabela de destino.
  6. Teste exclusões quando aplicável, cuidando da semântica no consumidor.

4. Problemas frequentes

Delta vazio: pode indicar ausência de inicialização válida, consumidor incorreto, alterações fora do escopo ou problema no CDC. Registros duplicados: investigue joins e chaves antes de alterar a configuração de extração. Falha de ativação: confirme suporte ao tipo de CDS e à anotação naquele release.

Leitura complementar: a documentação SAP sobre replicação a partir de ABAP CDS diferencia CDC automático e mapeamento explícito.
RL
Robson Leão

Consultor SAP com atuação em dados, analytics, planejamento e transformação digital. Conheça o autor.