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
- Crie uma Data Definition no ADT/Eclipse.
- Execute a verificação de sintaxe e ative a entidade.
- Abra o Data Preview e selecione pedidos de teste conhecidos.
- Compare os valores e a quantidade de linhas com o objeto-fonte.
- Documente quais consumidores poderão usar a entidade.
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.