Publié le :
Macro CREATION_INTERNE

Macro SYSLPUT pour créer une variable macro distante

Ce code est également disponible en : Français
Cette macro facilite la communication entre sessions SAS© en environnement distribué (SAS©/CONNECT). Elle prend en entrée le nom de la variable macro à créer, sa valeur, et optionnellement l'identifiant de la session distante. Elle encapsule une commande `RSUBMIT` qui exécute un `DATA _NULL_` avec `CALL SYMPUT` sur l'hôte distant pour assigner la valeur à la variable macro spécifiée. Les options `nosource` et `nonotes` sont utilisées pour minimiser les informations dans le log durant l'exécution.
Analyse des données

Type : CREATION_INTERNE


La macro ne traite pas de jeu de données. Elle utilise les valeurs passées en paramètres ('mv' et 'val') pour créer une variable macro dans l'environnement distant.

1 Bloc de code
MACRO
Explication :
Ce bloc définit la macro '%syslput' qui prend trois paramètres : 'mv' pour le nom de la variable macro, 'val' pour sa valeur, et 'remote' pour l'identifiant de la session distante. La macro construit une chaîne de caractères contenant un bloc de code SAS à soumettre à distance via `RSUBMIT`. Ce bloc distant utilise un `DATA _NULL_` et l'instruction `CALL SYMPUT` pour créer la variable macro sur le serveur distant. Enfin, la macro exécute cette chaîne de caractères pour déclencher l'envoi et l'exécution du code sur la session distante.
Copié !
1%macro syslput(mv,val,remote=);
2 
3 /****************************************************************/
4 /* SYSLPUT is the opposite of SYSRPUT. SYSLPUT creates a macro*/
5 /* variable in the remote environment. The user must specify */
6 /* the macro variable and its value. Optionally, the user */
7 /* may specify the remote session id; the default session is */
8 /* the current session. */
9 /****************************************************************/
10 
11 %global mvar value thost;
12 
13 %let mvar=&mv;
14 %let value=&val;
15 %let thost=&remote;
16 
17 options nosource;
18 options nonotes;
19 %let str=%str(rsubmit &thost;
20 options nosource;
21 options nonotes;
22 DATA _null_;
23 call symput("&mvar","&value");
24 RUN;
25 options notes SOURCE;
26 endrsubmit;
27 options notes SOURCE;);
28 &str;
29%mend syslput;
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.
Informations de Copyright : S A S S A M P L E L I B R A R Y, SUPPORT: ECL, UPDATE: 01APR94