OPEN CURSOR

1- Définition

définition du curseur :

DATA: gv_cursor TYPE cursor.

ouverture du curseur:

OPEN CURSOR WITH HOLD @gv_cursor FOR

SELECT champ1, champ2,...

FROM table

WHERE Condition

Boucle sur le curseur par paquet de gc_max

DO.FETCH NEXT CURSOR gv_cursor APPENDING CORRESPONDING FIELDS OF TABLE lt_table

/ FETCH NEXT CURSOR gv_cursor INTO CORRESPONDING FIELDS OF ls_struc.

PACKAGE SIZE gc_max.

Pour sortir de la boucle. IF sy-subrc NE 0.

CLOSE CURSOR gv_cursor. EXIT. ENDIF.

Faire son traitement.

Fin de boucle.

ENDDO.

2- A quoi ça sert...

L'instruction Open SQL OPEN CURSOR ouvre un curseur de base de données pour l'ensemble de résultats de la requête principale définie après FOR et lie une variable de curseur dbcur à ce curseur de base de données. L'ensemble de résultats de la requête principale peut être lu avec l'instruction FETCH.

Généralement on crée un OPEN CURSOR pour une lecture énorme de donnée, l'idée est de faire la lecture par paquet.

un exemple...

Le code source à copier coller

exemple utilisation

Steeven

Vous allez entrer dans un monde que vous n'auriez jamais cru possible de créer.

© 2021 | MultimediaLearn