Type : CREATION_INTERNE
Il s'agit d'une macro de traitement de chaînes de caractères qui ne consomme pas de tables de données, mais agit sur les paramètres fournis lors de l'appel.
| 1 | %macro AHGindex(full,sub,dlm=%str( ),case=0,lastone=0); |
| 2 | %local index i; |
| 3 | %IF not &case %THEN |
| 4 | %DO; |
| 5 | %let full=%upcase(&full); |
| 6 | %let sub=%upcase(&sub); |
| 7 | %END; |
| 8 | %let index=0; |
| 9 | %DO i=1 %to %AHGcount(&full,dlm=&dlm); |
| 10 | %IF %scan(&full,&i,&dlm)=&sub %THEN |
| 11 | %DO; |
| 12 | %let index=&i; |
| 13 | %IF not &lastone %THEN %goto indexExit; |
| 14 | %END; |
| 15 | %END; |
| 16 | %indexExit: |
| 17 | &index |
| 18 | %mend; |