Le script ne manipule pas de données au sens de tables SAS ou de fichiers externes. Il se concentre sur la création et l'affectation de variables macro en mémoire dans une session SAS distante. Les valeurs sont passées directement comme paramètres de la macro.
1 Bloc de code
MACRO syslput612
Explication : Ce bloc définit la macro `%syslput612`. Il construit une chaîne de caractères (`%let str=`) qui encapsule une commande `rsubmit` vers la session distante spécifiée par `&remote` (ou la session par défaut). À l'intérieur du bloc `rsubmit`, les options `nosource` et `nonotes` sont temporairement activées pour limiter la verbosité du log distant. L'instruction clé `%nrstr(%let) %str(&macvar = &macval;)` utilise `%nrstr` pour protéger le `%let` et `%str` pour construire l'affectation de la variable, garantissant qu'elle est exécutée sur la session distante pour y créer la variable macro `&macvar` avec la valeur `&macval`. Les options `source` et `endrsubmit;` terminent le bloc distant. Finalement, `&str;` exécute la commande construite, et `options notes source;` restaure les paramètres de logging sur la session locale.
Copié !
%macro syslput612(macvar,macval,remote=);
/*--------------------------------------------------------------
*
* SAS TEST LIBRARY
*
* NAME: SYSLPUT
* TITLE: MACRO FOR CREATING REMOTE MACRO VARIABLES
* INPUT:
* OUTPUT:
* SPEC.REQ:
* SYSTEMS: ALL
* PRODUCT: SAS/CONNECT
* KEYS:
* REF:
* COMMENTS:
* SUPPORT: LANGSTON, B.
* UPDATE: 01mar95.
*
*--------------------------------------------------------------*/
/****************************************************************/
/* SYSLPUT is the opposite of SYSRPUT. SYSLPUT creates a macro*/
/* variable in the remote environment. The user must specify */
/* the macro variable and its value. Optionally, the user */
/* may specify the remote session id; the default session is */
/* the current session. */
/****************************************************************/
options nosource nonotes;
%let str=%str(rsubmit &remote;options nosource;)
%nrstr(%let) %str(&macvar = &macval;options source;endrsubmit;);
&str; options notes source;
/*----------------------------------------------------------------*
EXAMPLES:
(1) Macro variable to current (default) remote session:
%syslput(rc,&sysinfo)
(2) Macro variable to specified remote session:
%syslput(flag,1,remote=mvs)
*----------------------------------------------------------------*/
%mend syslput612;
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 : SAS TEST LIBRARY - NAME: SYSLPUT - TITLE: MACRO FOR CREATING REMOTE MACRO VARIABLES - SUPPORT: LANGSTON, B. - UPDATE: 01mar95.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.