Définitions de vue dans ABAP Core Data Services (ABAP CDS)
ABAP Core Data Services, ou ABAP CDS en abrégé, est une infrastructure permettant de définir et d'utiliser des modèles de données sémantiquement riches dans ABAP. Ils utilisent un DDL CDS pour définir des entités CDS qui implémentent un modèle de données sémantique. Les entités de modélisation CDS les plus importantes sont les entités de vue CDS.

La définition de vue CDS contient une logique SQL réutilisable, parfois aussi simple qu'une projection de zones de table et parfois plus sophistiquée avec des calculs, des agrégations, des jointures, des unions, etc.
Une définition de vue CDS peut contenir des associations pour refléter les relations du modèle de données. Les utilisateurs de la vue peuvent utiliser les associations pour récupérer les données liées.
Enfin, les annotations sont utilisées pour enrichir sémantiquement la définition de vue. Ces métadonnées sont évaluées par des frameworks qui reposent sur des définitions de vues CDS. L'une de ces structures est le modèle de programmation d'applications ABAP RESTful, pour lequel nous aborderons un exemple plus loin dans ce cours.
Regardons des exemples de définitions de vues CDS.

Les définitions de vues CDS sont contenues dans les objets du référentiel de type Définition de données. Examinons maintenant le code source de la définition de données /DMO/I_CONNECTION.
La partie principale est l'instruction DEFINE VIEW ENTITY. Il contient le nom de l'entité Vue CDS et, après le mot-clé FROM, la source de données. Dans notre exemple, le nom de l'entité de vue est /DMO/I_Connection et la source de données est la table de base de données /dmo/connection. Ajout facultatif AS, définit un nom d'alias Connexion pour adresser la source de données dans la définition de vue.
Remarque
Une paire d'accolades contient la liste des éléments de vue. Dans notre exemple, les éléments de vue sont des zones de la table de base de données /dmo/connection. Mot-clé Clé devant les deux premiers éléments les définit comme zones clés de l'entité Vue CDS. L'option AS définit un nom d'alias pour chaque élément de vue.

L'ajout association définit une relation avec une autre entité de vue CDS. Dans notre exemple, la vue liée est l'entité de vue CDS /DMO/I_Carrier et le nom de l'association est _Airline.
Cette association devient disponible pour les consommateurs de la vue en l'ajoutant à la liste des éléments. On parle alors d'exposition de l'association.

Les annotations commencent par le signe @ et sont utilisées pour enrichir sémantiquement la définition de vue pour les consommateurs. Les annotations antérieures à la définition de vue sont appelées annotations d'entité. Les annotations d'entité sont utilisées pour définir des métadonnées pour l'entité de vue dans son ensemble. Les annotations entre accolades sont appelées annotations d'élément. Les annotations d'élément sont utilisées pour définir des métadonnées pour les différents éléments de la vue.

Vous avez déjà appris à utiliser l'outil Aperçu des données pour afficher et analyser le contenu d'une table de base de données. Cet outil est également disponible pour les entités de vue CDS.
Pour ouvrir l' aperçu des données pour une entité CDS donnée, cliquez avec le bouton droit de la souris n'importe où dans la définition de données et sélectionnez Ouvrir avec→l'aperçu des données. Vous pouvez également placer le curseur n'importe où dans la définition des données et appuyer sur F8.
L'outil affiche les données renvoyées par l'entité CDS. Les mêmes fonctions sont disponibles pour trier ou filtrer les données et ajuster l'affichage.
Si la définition de vue contient une ou plusieurs associations, vous pouvez les utiliser pour afficher les données liées. Pour ce faire, procédez comme suit :
- Cliquez avec le bouton droit de la souris sur une ligne dans l'affichage.
- Dans le menu contextuel, sélectionnez Suivre association.
- Dans la liste des associations disponibles, sélectionnez celle qui vous intéresse.

Si vous voulez rechercher toutes les vues CDS avec une certaine table de base de données comme source, vous pouvez utiliser l'outil Cas d'emploi d'ADT. Pour utiliser cet outil, procédez comme suit :
- Ouvrez la définition de la table de base de données.
- Cliquez avec le bouton droit de la souris n'importe où dans le code source et sélectionnez Obtenir les cas d'emploi dans le menu contextuel. Vous pouvez également appuyer sur Ctrl + Maj + G ou cliquer sur le bouton de la barre d'outils avec le même symbole.
- La vue Recherche affiche une liste de tous les objets de développement qui utilisent directement la table de base de données.

Vous pouvez appliquer des filtres au cas d'emploi si, par exemple, vous êtes uniquement intéressé par des objets de certains packages ou objets du type d'objet spécifique. L'exemple illustre comment filtrer les vues CDS qui utilisent la table.
