L'ABAP pour les francophones

TYALGR
12 rue des tamaris 27240 Buis sur Damville
Tel : 09 52 06 57 30 Fax : 01 34 29 60 47 Email : contact [at] tyalgr.com
Connexion
 

Zephyr

ABAP

Rechercher

ABAP: gestion de curseur Visualiser le sujet en mode plat

Lecture d'un table suivant des arguments différents.

exemple: vous souhhaitez récupérer les enregistrements d'une table. Les conditions de recherche d'informations s'opposent pour certaines enregistrements

1ère solution: faire 2 requetes distinctes, la deuxième utilisera la syntaxe APPENDING table.

2ème solution: utiliser les curseurs, et faire une lecture double, en fonction du résultat de la recherche des enregistements.

Une exemple de lecture par curseur.

DATA: C1 TYPE CURSOR, C2 TYPE CURSOR.

DATA: WA1 LIKE SPFLI,

WA2 LIKE SPFLI.

DATA: FLAG1, FLAG2.

OPEN CURSOR: C1 FOR SELECT * FROM SPFLI WHERE CARRID = 'LH',

C2 FOR SELECT * FROM SPFLI WHERE CARRID = 'AA'.

DO.

IF FLAG1 NE 'X'.

FETCH NEXT CURSOR C1 INTO WA1.

IF SY-SUBRC <> 0.

CLOSE CURSOR C1. FLAG1 = 'X'.

ELSE.

WRITE: / WA1-CARRID, WA1-CITYFROM, WA1-CITYTO.

ENDIF.

ENDIF.

IF FLAG2 NE 'X'.

FETCH NEXT CURSOR C2 INTO WA2.

IF SY-SUBRC <> 0.

CLOSE CURSOR C2. FLAG2 = 'X'.

ELSE.

WRITE: / WA2-CARRID, WA2-CITYFROM, WA2-CITYTO.

ENDIF.

ENDIF.

IF FLAG1 = 'X' AND FLAG2 = 'X'. EXIT. ENDIF.

ENDDO.

02 Juillet 2007 19:39:06 ECIR ECIR

Sujet Auteur Date
 
   ABAP: gestion de curseur
ECIR ECIR  2007-07-02 19:39:06 

© 2007 Ecir Consulting. Tous droits réservés.