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 ? ▾
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 :
- 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. - 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. - 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éfixe | Type 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 ?
- 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.
- Réutiliser des consumption views comme briques. Les consumption views servent une seule application ; appuyez-vous plutôt sur les interface views.
- 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.
- 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 CDS | Virtual data model | |
|---|---|---|
| De quoi s'agit-il | Une technologie de modélisation de la plateforme ABAP | L'ensemble organisé de vues CDS de SAP pour SAP S/4HANA |
| Qui le crée | Quiconque développe en ABAP | SAP, avec des vues clients construites sur les éléments libérés |
| Structure | Toute vue, avec toute source de données | Niveaux fixes : basic, composite, consumption |
| Règles | Règles du langage CDS | Niveaux, 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
- SAP Help Portal: VDM Layers and View Types (SAP S/4HANA)
- SAP Help Portal: Naming Conventions in the Virtual Data Model (SAP S/4HANA)
- SAP Help Portal: VDM.viewType annotation (ABAP CDS)
- SAP Help Portal: Naming Conventions for Development Objects (RAP)
- SAP Fiori Apps Reference Library: View Browser (F2170)
- S'applique à
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition
- Dernière relecture