Fundamentos · leitura de 7 minutos

O que são ABAP CDS Views e quando usar?

Entenda ABAP CDS Views com um exemplo de view entity, vantagens, limitações e roteiro de validação no ADT.

Uma ABAP CDS View descreve uma visão estruturada de dados no repositório ABAP. Além de projetar campos e relacionamentos, CDS permite expressar semântica de negócio, regras de acesso e informações que podem ser aproveitadas por consumidores analíticos e serviços. Seu papel não é apenas reduzir linhas de SQL: é tornar o significado dos dados mais reutilizável.

1. Comece perguntando: o que representa cada linha?

Imagine um relatório de pedidos de venda. O cabeçalho do documento e seus itens possuem granularidades diferentes. Em VBAK, uma linha representa o documento; em VBAP, representa um item. Se você combinar tabelas sem definir a granularidade de saída, pode duplicar valores, errar totais e provocar análises incorretas.

Antes de escrever a CDS, defina a chave lógica de cada linha, os filtros necessários, o uso pretendido e quais campos serão dimensões ou medidas. Esse contrato simples evita retrabalho.

2. Sua primeira CDS view entity

Em um sistema SAP S/4HANA que permita acesso à tabela clássica, o exemplo a seguir projeta dados de cabeçalho. É didático e deve ser adaptado às políticas de acesso e à versão do seu ambiente.

@EndUserText.label: 'Pedidos de venda - exemplo'
@AccessControl.authorizationCheck: #NOT_REQUIRED

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

O termo key declara a identidade lógica da entidade, mas não garante sozinho que qualquer join futuro preserve unicidade. A anotação de autorização foi simplificada somente para laboratório: não use #NOT_REQUIRED como decisão automática de segurança em produção.

3. View entity ou CDS clássica?

O desenvolvimento novo costuma preferir define view entity quando o release suporta. Projetos mais antigos podem conter define view, que possui requisitos e artefatos distintos. Uma view entity não usa @AbapCatalog.sqlViewName. Não converta objetos legados sem avaliar dependências, extração, autorizações e transportes.

4. Valide antes de compartilhar

  1. Crie uma Data Definition no ADT/Eclipse.
  2. Execute a verificação de sintaxe e ative a entidade.
  3. Abra o Data Preview e selecione pedidos de teste conhecidos.
  4. Compare os valores e a quantidade de linhas com o objeto-fonte.
  5. Documente quais consumidores poderão usar a entidade.
Ponto-chave: CDS não corrige um relacionamento incorreto. A qualidade do modelo depende de escolher a granularidade e preservar o significado de cada campo.

5. Próximos passos

Depois de dominar a projeção, estude anotações semânticas, associações, segurança e extração. A integração com SAP Datasphere requer requisitos adicionais; ativar uma CDS não implica automaticamente habilitar ODP, OData ou delta.

RL
Robson Leão

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