Dados e serviços

Virtual Data Model (VDM)

O virtual data model (VDM) é o conjunto em camadas de ABAP CDS views da SAP no SAP S/4HANA que transforma tabelas do banco de dados em entidades orientadas ao negócio: basic e composite interface views para reutilização, e consumption views para apps e queries específicos. O virtual data model é a base de dados comum para apps SAP Fiori, embedded analytics e APIs.

Resumo

Tipo
Modelo de dados em camadas de ABAP CDS views
Camada
Lógica de negócio e modelo de dados
Tipos de view
Basic e composite interface views, consumption views, restricted reuse views
Nomenclatura
I_ (interface), C_ (consumption), R_ (restricted reuse), A_ (API remota)
Explorar com
App View Browser (F2170), ABAP Development Tools
Quem trabalha com ele
Desenvolvedores ABAP e de analytics, key users, arquitetos de integração
Aplica-se a
SAP S/4HANA (todas as opções de implantação)
Camada: Lógica de negócio e modelo de dadosOnde se encaixa ▾
Onde se encaixa: L5 · Lógica de negócio e modelo de dadosCamada: Lógica de negócio e modelo de dados.L1L2L3L4L5L6BTP

Camada: Lógica de negócio e modelo de dados

Abrir o mapa de arquitetura →

Como o virtual data model é estruturado?

O virtual data model empilha CDS views sobre as tabelas do banco de dados, e cada camada só pode ler da camada abaixo:

  1. Basic interface views ficam diretamente sobre as tabelas e são as únicas views do VDM que as leem. Elas renomeiam campos de tabela crípticos para termos de negócio e acrescentam anotações e associações. Anotação: @VDM.viewType: #BASIC.
  2. Composite interface views combinam basic views ou outras composite views em novas entidades semânticas, por exemplo um cube para analytics. Anotação: @VDM.viewType: #COMPOSITE.
  3. Consumption views atendem a uma única finalidade, como um app transacional ou analítico específico. São o único tipo de view do VDM que pode atuar como query analítica. Anotação: @VDM.viewType: #CONSUMPTION.

As basic e composite views formam a camada de reutilização; uma reuse view normalmente representa um nó de business object, como I_SalesOrder. As restricted reuse views parecem semelhantes, mas se destinam apenas à reutilização interna da SAP. O virtual data model é, portanto, um contrato entre camadas, e não apenas uma coleção de views.

Como reconhecer as views do VDM pelo nome?

A convenção de nomenclatura da SAP coloca o tipo de view em um prefixo, seguido de um nome semântico e de sufixos opcionais:

PrefixoTipo de view
I_Basic ou composite interface view
C_Consumption view
R_Restricted reuse view
P_Private view
A_Remote API view
X_ / E_View extend / extension include view

Os sufixos refinam a finalidade: Query para queries analíticas, Cube para cube views, TP para views de processamento transacional e Text para text views. Um número de versão como _2 marca uma view sucessora.

Uma armadilha: no guia de nomenclatura da SAP para desenvolvimento RAP customizado, R_ marca a base view entity de um business object, enquanto no virtual data model do SAP S/4HANA R_ marca as restricted reuse views. O prefixo de uma view do VDM indica seu papel pretendido antes mesmo de você abri-la.

Sobre quais views do VDM os clientes podem construir?

Visibilidade não é permissão. Apenas as views que a SAP liberou sob o contrato de estabilidade C1 são seguras para reutilização, e a SAP só as libera para determinados tipos de view:

  • Podem ser liberadas para clientes: basic e composite interface views, consumption views do tipo query analítica e derivation functions.
  • Tipicamente internas da SAP: restricted reuse views, remote API views, private views e abstract entities.

A liberação pode ser para extensibilidade key user, usada em apps como o Custom CDS Views, ou para desenvolvimento cloud em ABAP Cloud. Views não liberadas podem mudar em qualquer upgrade. Para verificar uma view, abra-a no app View Browser ou consulte seu API state no ABAP Development Tools. No virtual data model, é o status de liberação, e não a existência, que decide do que uma extensão customizada pode depender.

Para que serve o virtual data model?

  • Apps SAP Fiori: views de processamento transacional formam RAP business objects, e consumption views alimentam apps SAP Fiori elements por meio de serviços OData.
  • Embedded analytics: composite views moldadas como cubes e dimensions, encimadas por consumption views de query analítica, alimentam apps analíticos sem replicar dados.
  • APIs: remote API views formam a base de APIs externas publicadas no SAP Business Accelerator Hub.
  • Extensões: key users constroem CDS views customizadas sobre interface views liberadas, por exemplo uma view de pedidos de compra em aberto por fornecedor para a Alder Manufacturing, em vez de ler tabelas.
  • Extração de dados: a anotação Analytics.dataExtraction.enabled marca views como adequadas para replicação de dados, por exemplo para o SAP BW/4HANA.

O virtual data model dá a apps, analytics e integrações um vocabulário de negócio comum, em vez de leitores de tabelas separados.

Quais são os erros comuns com o virtual data model?

  1. Construir sobre uma view não liberada. Funciona até que o próximo upgrade a altere. Verifique antes o status de liberação.
  2. Reutilizar consumption views como blocos de construção. As consumption views atendem a um único app; construa sobre interface views.
  3. Ler tabelas ao lado do VDM. Código customizado que contorna as basic views perde os nomes de campos de negócio, as associações e os controles de acesso.
  4. Interpretar R_ do jeito errado. As restricted reuse views não se destinam à reutilização pelo cliente, diga o que disser uma convenção de nomenclatura customizada.

A maioria dos problemas com o virtual data model vem de ignorar as regras de camadas e de liberação que mantêm o modelo estável.

Virtual data model vs. ABAP CDS views: qual é a diferença?

ABAP CDS viewsVirtual data model
O que éUma tecnologia de modelagem da plataforma ABAPO conjunto organizado de CDS views da SAP para o SAP S/4HANA
Quem criaQualquer pessoa que desenvolva em ABAPA SAP, com views de clientes construídas sobre partes liberadas
EstruturaQualquer view, com qualquer fonte de dadosCamadas fixas: basic, composite, consumption
RegrasRegras da linguagem CDSCamadas, prefixos de nomenclatura e contratos de liberação

As ABAP CDS views são a tecnologia; o virtual data model é o uso governado dessa tecnologia pela SAP para o SAP S/4HANA.

Perguntas frequentes

O que significam os prefixos I_ e C_ nas CDS views da SAP?

No virtual data model do SAP S/4HANA, I_ marca as interface views, que são reuse views basic ou composite, e C_ marca as consumption views construídas para um app ou query analítica específicos. Outros prefixos incluem R_ para restricted reuse views e A_ para remote API views.

Posso usar qualquer view do VDM no meu próprio desenvolvimento?

Não. Apenas as views liberadas pela SAP sob o contrato de estabilidade C1 são seguras como base, seja para extensibilidade key user, seja para desenvolvimento cloud. As views não liberadas são visíveis no sistema, mas podem mudar em qualquer upgrade sem aviso.

O virtual data model está disponível no SAP ECC?

Não. O virtual data model faz parte do SAP S/4HANA e é documentado para suas edições cloud e on-premise, não para o SAP ERP (ECC). CDS views customizadas podem ser tecnicamente possíveis no ECC, mas não lhe dão as camadas do VDM da SAP.

Como encontrar a view do VDM certa para um business object?

Pesquise pelo nome do business object no app View Browser ou no ABAP Development Tools, prefira as views I_ liberadas para reutilização e verifique as anotações e o status de liberação da view. As interface views normalmente seguem os nomes dos business objects, como I_SalesOrder.

Fontes

Aplica-se a
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition
Última revisão

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP e os demais produtos e serviços SAP mencionados são marcas comerciais ou marcas registradas da SAP SE (ou de uma empresa afiliada da SAP) na Alemanha e em outros países. Este guia é independente e não é afiliado, patrocinado nem endossado pela SAP SE.