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

Aller à   
Rechercher
Auteur
Message Vue en arbre
ECIR ECIR
Posté le: 02 Juillet 2007 19:39:06
Sujet de la contribution: ABAP: gestion de curseur

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.



Haut 
Aller à   
Rechercher
© 2007 Ecir Consulting. Tous droits réservés.