User Tools

Site Tools


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 :)
abap/opensql.1371048300.txt.gz · Last modified: 2013/06/12 16:45 by ginko