Publié le :

Extraction des invites de Processus Stockés (Metadata API)

Ce code est également disponible en : Deutsch English Español
En attente de validation
Attention : Ce code nécessite des droits administrateur.
Ce programme utilise les fonctions d'interface de métadonnées SAS© (Metadata Interface Functions) pour lister tous les objets 'StoredProcess' enregistrés. Il navigue ensuite dans la structure XML des métadonnées pour identifier les groupes d'invites associés et extraire les noms des invites individuelles. Note importante : Ce code est conçu pour l'architecture SAS© 9 (utilisant un serveur de métadonnées). Sur SAS© Viya, il ne fonctionnera que s'il est configuré pour se connecter à un serveur de métadonnées SAS© 9 distant via le protocole BRIDGE, car Viya n'utilise plus de serveur de métadonnées pour son propre contenu.
Analyse des données

Type : EXTERNE


Interrogation du Serveur de Métadonnées SAS (Metadata Server) via les fonctions metadata_resolve, metadata_getnobj, etc.

1 Bloc de code
OPTIONS
Explication :
Configuration des options de connexion au serveur de métadonnées SAS 9. Les valeurs <hostname> et <password> doivent être remplacées.
Copié !
1options
2 metaserver="<hostname>"
3 metaport=8561
4 metauser="sasadm @saspw"
5 metapass="<password>"
6 metarepository=Foundation
7 metaprotocol=BRIDGE;
2 Bloc de code
DATA STEP Data
Explication :
Ce Data Step parcourt les objets métadonnées. Il résout d'abord la requête pour trouver les 'StoredProcess', puis boucle sur chaque processus pour récupérer son nom et suivre l'association 'Prompts' pour lister les paramètres d'entrée.
Copié !
1DATA work.prompts;
2 
3 /* define and initialize variables */
4 
5 LENGTH
6 type $ 13
7 id $ 17
8 stp_uri $ 39
9 stp_name $ 255
10 pge_uri $ 37
11 p_uri $ 50
12 p_name $ 50
13 ;
14 
15 call missing(type,id,stp_uri,stp_name,pge_uri,p_uri,p_name);
16 
17 /* Query definition: ClassifierMap of type "StoredProcess" */
18 
19 stp_obj="omsobj:ClassifierMap?ClassifierMap[ @PublicType='StoredProcess']";
20 
21 /* Count the number of stored processes defined in Metadata. */
22 
23 stp_count=metadata_resolve(stp_obj,type,id);
24 
25 put "Found " stp_count "Stored Processes.";
26 
27 IF stp_count > 0 THEN DO n=1 to stp_count;
28 
29 rc1=metadata_getnobj(stp_obj,n,stp_uri);
30 /* Get the name of the stored process. */
31 rc2=metadata_getattr(stp_uri,"Name",stp_name);
32 /* Get the stored process' associated embedded prompt group. */
33 rc3=metadata_getnasn(stp_uri,"Prompts",1,pge_uri);
34 /* Count the number of prompts in that prompt group. */
35 prompt_count=metadata_getnasn(pge_uri,"ReferencedPrompts",1,p_uri);
36 /* If any prompts are in the group, pull the name of them. */
37 IF prompt_count > 0 THEN DO m=1 to prompt_count;
38 rc4=metadata_getnasn(pge_uri,"ReferencedPrompts",m,p_uri);
39 rc5=metadata_getattr(p_uri,"Name",p_name);
40 OUTPUT;
41 END;
42 ELSE put "No prompts found, nothing to do.";
43 END;
44 ELSE put "No stored processes found, nothing to do.";
45 keep stp_name p_name;
46RUN;
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 : Author: Greg Wootton Date: 10JAN2017


Banner
Le Conseil de l'Expert
Expert
Simon
Expert SAS et fondateur.
« L'audit des invites de commandes (prompts) au sein des Stored Processes (STP) est une étape cruciale pour comprendre l'interactivité d'une plateforme SAS 9. Ce script exploite la puissance des fonctions d'interface de métadonnées pour naviguer dans l'arborescence complexe de l'Open Metadata Architecture (OMA), permettant de répertorier les paramètres d'entrée attendus par chaque traitement. »