Publié le :

Exécution dynamique avec CALL EXECUTE

Ce code est également disponible en : Deutsch English Español
Ce programme montre deux méthodes pour utiliser la routine `CALL EXECUTE` dans une étape DATA `_NULL_`. La première méthode stocke le code SAS© (un `PROC PRINT` sur `SASHELP.CLASS`) dans une variable avant l'exécution. La seconde méthode passe directement la chaîne de caractères contenant le code à la routine. Les deux approches génèrent et exécutent le code SAS© immédiatement après la compilation de l'étape DATA.
Analyse des données

Type : SASHELP


Les données proviennent de la table système SASHELP.CLASS.

1 Bloc de code
DATA STEP
Explication :
Définit une variable `myvar` contenant la chaîne de caractères du code SAS à exécuter, puis appelle `CALL EXECUTE` pour empiler ce code dans le flux d'exécution.
Copié !
1DATA _null_;
2 myvar='proc print data=sashelp.class; run;';
3 call execute(myvar);
4RUN;
2 Bloc de code
DATA STEP
Explication :
Appelle directement `CALL EXECUTE` avec une chaîne littérale contenant le code SAS (ici, une procédure PRINT).
Copié !
1 
2DATA _null_;
3call execute('
4proc print
5data=sashelp.class;
6 
7run;
8');
9RUN;
10 
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.