abap:opensql
This is an old revision of the document!
Open SQL
Open SQL est un sous-langage de l'ABAP permettant d'intéragir avec la base de données. Il reprend la syntaxe SQL classique mais comprend quelques particularités :
SELECT ... FOR ALL ENTRIES
(Rappel : toujours vérifier que la table sur laquelle on boucle n'est pas vide sous peine de ramasser en jointure toutes les entrées de la table requêtée…)- L'instruction
MODIFY
doit être employée au sein d'une boucle sur la table interne correspondante à moins de spécifier explicitement l'index :* J'utilise le table header ici, mais ça marche pareil avec une work area explicite TABLES itab. LOOP AT itab. itab-k2 = val2. MODIFY itab. ENDLOOP. * Ou bien : READ TABLE itab into wa WITH KEY k1 = val1. wa-k2 = val2. MODIFY itab FROM wa INDEX sy-tabix. " Eh ouais, le READ TABLE set le sy-tabix :)
SELECT
INSERT
: Dump en cas de doublon.UPDATE
:MODIFY
: Insert les lignes nouvelles, update les lignes existantes (d'après les clés).
Optimizer
abap/opensql.1426611547.txt.gz · Last modified: 2015/03/17 17:59 by ginko