Les données sont générées dynamiquement par interrogation du serveur de métadonnées via des fonctions SAS, sans lecture de fichiers plats ou tables externes.
1 Bloc de code
OPTIONS
Explication : Définition de la variable macro contenant le nom de la bibliothèque cible et configuration des options globales pour la connexion au serveur de métadonnées (authentification et localisation du serveur).
Explication : Étape DATA qui interroge le serveur de métadonnées pour localiser l'objet 'SASLibrary'. Si trouvé, elle boucle sur les extensions (attributs étendus) associées, extrait leurs noms et valeurs, et les écrit dans la table de sortie 'extend'.
Copié !
data extend;
length type id lib_uri ext_uri ext_name $ 50 ext_val $ 256;
call missing(of _CHARACTER_);
obj="omsobj:SASLibrary? @Name=&libname";
libcount=metadata_resolve(obj,type,id);
if libcount > 0 then do n=1 to libcount;
rc=metadata_getnobj(obj,n,lib_uri);
ext_count=metadata_getnasn(lib_uri,"Extensions",1,ext_uri);
if ext_count > 0 then do m=1 to ext_count;
rc=metadata_getnasn(lib_uri,"Extensions",m,ext_uri);
rc=metadata_getattr(ext_uri,"Name",ext_name);
rc=metadata_getattr(ext_uri,"Value",ext_val);
output;
end; else put "NOTE: No Extended Attributes found for library &libname";
end;
else put "NOTE: No library &libname found.";
keep ext_name ext_val;
run;
1
DATA extend;
2
LENGTH type id lib_uri ext_uri ext_name $ 50 ext_val $ 256;
END; ELSE put "NOTE: No Extended Attributes found for library &libname";
18
END;
19
ELSE put "NOTE: No library &libname found.";
20
21
keep ext_name ext_val;
22
RUN;
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.
« L'extraction des attributs étendus est une étape cruciale pour auditer ou migrer des environnements SAS 9.4 complexes, particulièrement pour les bibliothèques LASR où des paramètres critiques (comme les ports de serveur ou les options de démarrage) sont stockés sous forme de paires Nom/Valeur dans les métadonnées. L'utilisation des fonctions metadata_getnasn sur l'association "Extensions" permet de descendre dans la hiérarchie de l'objet SASLibrary pour récupérer ces métadonnées non standard. Une bonne pratique consiste à toujours vérifier le code retour (rc) de la fonction metadata_getattr pour s'assurer que l'attribut visé existe bien, évitant ainsi de corrompre votre table de sortie avec des valeurs résiduelles du vecteur de données (PDV). »
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.