Dans le langage de programmation ABAP / 4, deux types de SQL sont utilisés.
- SQL NATIF
- OUVRIR SQL.
Le SQL natif vous permet d'utiliser des instructions SQL spécifiques à une base de données dans un programme ABAP / 4. Cela signifie que vous pouvez utiliser des tables de base de données qui ne sont pas administrées par le dictionnaire ABAP, et donc intégrer des données qui ne font pas partie du système R / 3.
Open SQL se compose d'un ensemble d'instructions ABAP qui effectuent des opérations sur la base de données centrale du système R / 3. Les résultats des opérations et les éventuels messages d'erreur sont indépendants du système de base de données utilisé. Open SQL fournit ainsi une syntaxe et une sémantique uniformes pour tous les systèmes de base de données pris en charge par SAP. Les programmes ABAP qui n'utilisent que des instructions Open SQL fonctionneront dans n'importe quel système R / 3, quel que soit le système de base de données utilisé. Les instructions Open SQL ne peuvent fonctionner qu'avec des tables de base de données qui ont été créées dans le dictionnaire ABAP.
Commandes Open SQL de base
- SÉLECTIONNER
- INSÉRER
- METTRE À JOUR
- MODIFIER
- EFFACER
- OUVRIR LE CURSEUR,? FETCH,? FERMER LE CURSEUR
TABLES SBOOK.CURSEUR DE TYPE DATA C,WA COMME SBOOK.OUVRIR LE CURSEUR C POUR SELECT * FROM SBOOK WHERE CARRID = 'LH'ET CONNID = '0400'ET FLDATE = '19950228'COMMANDEZ PAR CLÉ PRIMAIRE.FAIS.RECHERCHEZ LE CURSEUR SUIVANT C DANS WA.SI SY-SUBRC <> 0.FERMER LE CURSEUR C.SORTIR.FIN SI.ÉCRIRE: / WA-BOOKID, WA-CUSTOMID, WA-CUSTTYPE,WA-SMOKER, WA-LUGGWEIGHT, WA-WUNIT,WA-INVOICE.ENDDO.
Sortie de la liste des passagers du vol Lufthansa 0400 le 28-02.1995:
Ouvrir les codes de retour SQL
Toutes les instructions Open SQL remplissent les deux champs système suivants avec des codes de retour.SY-SUBRC
Après chaque instruction Open SQL, le champ système SY-SUBRC contient la valeur 0 si l'opération a réussi, une valeur différente de 0 dans le cas contraire.
SY-DBCNT
Après une instruction Open SQL, le champ système SY-DBCNT contient le nombre de lignes de base de données traitées.
SQL natif
Comme déjà mentionné, Native SQL vous permet d'utiliser des instructions SQL spécifiques à une base de données dans un programme ABAP.Pour utiliser l'instruction Native SQL, vous devez la précéder de l'instruction SQL EXEC et la suivre de l'instruction ENDEXEC.
Syntaxe
EXEC SQL [PERFORMING