Données et services

Virtual Data Model (VDM)

Le virtual data model (VDM) est l'ensemble structuré en niveaux de vues ABAP CDS de SAP dans SAP S/4HANA, qui transforme les tables de la base de données en entités orientées métier : des basic et composite interface views pour la réutilisation, et des consumption views pour des applications et requêtes précises. Le virtual data model est le socle de données commun des applications SAP Fiori, de l'analytique embarquée et des API.

L'essentiel

Type
Modèle de données en niveaux composé de vues ABAP CDS
Couche
Logique métier et modèle de données
Types de vues
Basic et composite interface views, consumption views, restricted reuse views
Nommage
I_ (interface), C_ (consumption), R_ (restricted reuse), A_ (remote API)
Explorer avec
Application View Browser (F2170), ABAP Development Tools
Qui l'utilise
Développeurs ABAP et analytics, key users, architectes d'intégration
S'applique à
SAP S/4HANA (toutes options de déploiement)
Couche : Logique métier et modèle de donnéesOù se situe-t-il ? ▾
Où se situe-t-il ?: L5 · Logique métier et modèle de donnéesCouche : Logique métier et modèle de données.L1L2L3L4L5L6BTP

Couche : Logique métier et modèle de données

Ouvrir la carte d'architecture →

Comment le virtual data model est-il structuré ?

Le virtual data model empile des vues CDS au-dessus des tables de la base de données, et chaque niveau ne peut lire que le niveau inférieur :

  1. Les basic interface views reposent directement sur les tables et sont les seules vues VDM à les lire. Elles renomment les champs de table cryptiques en termes métier et ajoutent des annotations et des associations. Annotation : @VDM.viewType: #BASIC.
  2. Les composite interface views combinent des basic views ou d'autres composite views en nouvelles entités sémantiques, par exemple un cube pour l'analytique. Annotation : @VDM.viewType: #COMPOSITE.
  3. Les consumption views servent une seule finalité, comme une application transactionnelle ou analytique précise. Ce sont les seules vues VDM qui peuvent faire office de requête analytique. Annotation : @VDM.viewType: #CONSUMPTION.

Les basic et composite views forment le niveau de réutilisation ; une vue de réutilisation représente généralement un nœud de business object, comme I_SalesOrder. Les restricted reuse views leur ressemblent mais sont réservées à la réutilisation par SAP. Le virtual data model est donc un contrat entre niveaux, et pas simplement une collection de vues.

Comment reconnaître les vues VDM à leur nom ?

La convention de nommage de SAP place le type de vue dans un préfixe, suivi d'un nom sémantique et de suffixes facultatifs :

PréfixeType de vue
I_Basic ou composite interface view
C_Consumption view
R_Restricted reuse view
P_Vue privée
A_Vue d'API distante
X_ / E_Vue d'extend / vue d'extension include

Les suffixes précisent la finalité : Query pour les requêtes analytiques, Cube pour les vues cube, TP pour les vues de traitement transactionnel et Text pour les vues de textes. Un numéro de version tel que _2 signale une vue qui succède à une autre.

Un piège : dans le guide de nommage de SAP pour le développement RAP spécifique, R_ désigne la view entity de base d'un business object, alors que dans le virtual data model de SAP S/4HANA, R_ désigne les restricted reuse views. Le préfixe d'une vue VDM indique son rôle prévu avant même de l'ouvrir.

Sur quelles vues VDM les clients peuvent-ils s'appuyer ?

Visibilité ne vaut pas permission. Seules les vues que SAP a libérées au titre du contrat de stabilité C1 peuvent être réutilisées en toute sécurité, et SAP ne les libère que pour certains types de vues :

  • Libérables pour les clients : basic et composite interface views, consumption views de type requête analytique, et derivation functions.
  • Généralement internes à SAP : restricted reuse views, vues d'API distante, vues privées et abstract entities.

La libération peut viser l'extensibilité key user, utilisée dans des applications comme Custom CDS Views, ou le développement cloud en ABAP Cloud. Les vues non libérées peuvent changer lors de n'importe quelle mise à niveau. Pour vérifier une vue, ouvrez-la dans l'application View Browser ou consultez son API state dans ABAP Development Tools. Dans le virtual data model, c'est le statut de libération, et non l'existence, qui détermine ce dont une extension spécifique peut dépendre.

À quoi sert le virtual data model ?

  • Applications SAP Fiori : les vues de traitement transactionnel forment des business objects RAP, et les consumption views alimentent les applications SAP Fiori elements via des services OData.
  • Analytique embarquée : des composite views structurées en cubes et dimensions, coiffées de consumption views de type requête analytique, pilotent les applications analytiques sans réplication de données.
  • API : les vues d'API distante constituent la base des API externes publiées sur le SAP Business Accelerator Hub.
  • Extensions : les key users construisent des vues CDS spécifiques sur des interface views libérées, par exemple une vue des commandes d'achat ouvertes par fournisseur pour Alder Manufacturing, au lieu de lire les tables.
  • Extraction de données : l'annotation Analytics.dataExtraction.enabled signale les vues adaptées à la réplication de données, par exemple vers SAP BW/4HANA.

Le virtual data model offre aux applications, à l'analytique et aux intégrations un vocabulaire métier commun au lieu de lecteurs de tables distincts.

Quelles sont les erreurs fréquentes avec le virtual data model ?

  1. S'appuyer sur une vue non libérée. Cela fonctionne jusqu'à ce que la mise à niveau suivante la modifie. Vérifiez d'abord le statut de libération.
  2. Réutiliser des consumption views comme briques. Les consumption views servent une seule application ; appuyez-vous plutôt sur les interface views.
  3. Lire les tables à côté du VDM. Le code spécifique qui contourne les basic views perd les noms de champs métier, les associations et les contrôles d'accès.
  4. Mal interpréter R_. Les restricted reuse views ne sont pas destinées à la réutilisation par les clients, quoi qu'en dise une convention de nommage spécifique.

La plupart des problèmes liés au virtual data model proviennent du non-respect des règles de niveaux et de libération qui assurent la stabilité du modèle.

Virtual data model ou vues ABAP CDS : quelle différence ?

Vues ABAP CDSVirtual data model
De quoi s'agit-ilUne technologie de modélisation de la plateforme ABAPL'ensemble organisé de vues CDS de SAP pour SAP S/4HANA
Qui le créeQuiconque développe en ABAPSAP, avec des vues clients construites sur les éléments libérés
StructureToute vue, avec toute source de donnéesNiveaux fixes : basic, composite, consumption
RèglesRègles du langage CDSNiveaux, préfixes de nommage et contrats de libération

Les vues ABAP CDS sont la technologie ; le virtual data model est l'usage encadré que SAP fait de cette technologie pour SAP S/4HANA.

Questions fréquentes

Que signifient les préfixes I_ et C_ dans les vues CDS SAP ?

Dans le virtual data model de SAP S/4HANA, I_ désigne les interface views, qui sont des vues de réutilisation basic ou composite, et C_ désigne les consumption views construites pour une application ou une requête analytique précise. Parmi les autres préfixes figurent R_ pour les restricted reuse views et A_ pour les vues d'API distante.

Puis-je utiliser n'importe quelle vue VDM dans mes propres développements ?

Non. Seules les vues libérées par SAP au titre du contrat de stabilité C1 permettent de construire en toute sécurité, que ce soit pour l'extensibilité key user ou pour le développement cloud. Les vues non libérées sont visibles dans le système mais peuvent changer sans préavis lors de n'importe quelle mise à niveau.

Le virtual data model est-il disponible dans SAP ECC ?

Non. Le virtual data model fait partie de SAP S/4HANA et est documenté pour ses éditions cloud et on-premise, pas pour SAP ERP (ECC). Des vues CDS spécifiques peuvent être techniquement possibles sur ECC, mais elles ne lui apportent pas les niveaux VDM de SAP.

Comment trouver la bonne vue VDM pour un business object ?

Recherchez le nom du business object dans l'application View Browser ou dans ABAP Development Tools, privilégiez les vues I_ libérées pour la réutilisation, et vérifiez les annotations et le statut de libération de la vue. Les interface views suivent généralement le nom des business objects, comme I_SalesOrder.

Sources

S'applique à
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition
Dernière relecture

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP et les autres produits et services SAP mentionnés sont des marques commerciales ou des marques déposées de SAP SE (ou d'une société affiliée à SAP) en Allemagne et dans d'autres pays. Ce guide est indépendant ; il n'est ni affilié à SAP SE, ni sponsorisé, ni approuvé par SAP SE.