J’aimerai savoir s’il est possible de faire s’arrêter le programme et annuler les éventuelles instructions suivant l’appel du MP (un sorte de break ), si une certaine condition est vérifiée.
%if &Nberr=0 %then %do; « arrêter tout » %end ;
Si c’est possible comment faire ?
Avec les versions de SAS antérieures à la 9, on ne peut traiter le problème qu’à « l’ancienne » avec un %GOTO vers un autre point du programme (après lequel on ne fera plus rien).
%macro MP1 ; %if condition %then %do; %goto exit; %end;
%exit: %mend MP1;
Avec la version 9 apparaissent deux instructions %ABORT et %RETURN qui permettent d’arrêter l’exécution du macro-programme. %ABORT arrête le MP avec un message d’erreur tandis que %RETURN arrête le MP sans erreur.