Structured Query Language (SQL)

Tous les systèmes de base de données relationnelle utilisent une variante de Structured Query Language (SQL) pour vous permettre de les utiliser. Le SQL standard se compose de trois composants principaux :
- Langage de manipulation de données (LMD)
- DML comprend les instructions dont vous avez besoin pour utiliser les informations dans les tables de base de données. Il s'agit de INSERT, pour ajouter de nouveaux enregistrements, SELECT, pour lire des données, UPDATE, pour modifier des enregistrements existants et DELETE, pour supprimer des contenus de table. Ces instructions sont reflétées dans ABAP sous la forme d'ABAP SQL.
- Langage de définition de données (LDD)
- Data Definition Language vous fournit des commandes qui vous permettent de créer et de supprimer des tables de base de données et d'autres artefacts de base de données tels que des schémas, des index de table et des vues. Dans un système SAP, vous exécutez ces tâches à l'aide d'éditeurs dédiés d'ADT, et non à l'aide de programmes ABAP. L'éditeur de définitions de table de base de données que nous avons vu précédemment en est un exemple.
- Langage de contrôle de données (LCD)
- Le langage de contrôle des données est utilisé dans SQL pour restreindre l'accès aux données de la base de données pour un utilisateur particulier. Il n'est pas utilisé dans sa forme classique dans ABAP, car les utilisateurs au niveau de la base de données ne correspondent pas un à un avec les utilisateurs finaux. Par conséquent, ABAP a son propre concept des autorisations.
Architecture ABAP SQL

Dans le passé, les systèmes SAP devaient prendre en charge une série de plateformes de base de données et chaque plate-forme avait une implémentation légèrement différente de la norme SQL. Cela signifiait que chaque plate-forme avait besoin de commandes légèrement différentes pour réaliser une tâche particulière. Pour éviter que le code ABAP ne soit spécifique à la base de données, SAP a inventé ABAP SQL - ou Open SQL tel qu'il a été appelé à l'origine.
Remarque
ABAP SQL est un ensemble abstrait de commandes SQL implémentées au niveau ABAP et intégrées au langage ABAP. Au moment de l'exécution, ABAP SQL est traduit en une variante de SQL comprise par la base de données. Cette variante est appelée Native SQL pour la distinguer de ABAP SQL, la variante SQL intégrée à ABAP. La traduction d'ABAP SQL en Native SQL a lieu dans l'interface de base de données, un composant du système ABAP qui se compose d'une partie générale et d'une bibliothèque spécifique à la base de données.
Même si les versions ABAP plus récentes prennent uniquement en charge SAP HANA comme SGBD, SAP a toujours conservé le concept d'ABAP SQL et l'interface de base de données. Cela est dû aux raisons suivantes :
- Compatibilité de l'architecture
- ABAP SQL et l'interface de base de données font partie intégrante de l'architecture du système.
- Compatibilité de code
- Le codage ABAP SQL des produits SAP précédents (y compris le développement client) doit s'exécuter sans effets secondaires dans les environnements ABAP modernes uniquement SAP HANA.
- Tâches de l'interface de base de données
- L'interface de base de données ne se contente pas de traduire des instructions, elle est également responsable de tâches spécifiques ABAP telles que la gestion automatique des mandants.




