Type : CREATION_INTERNE
Les données sont générées dynamiquement en interrogeant les métadonnées du serveur SAS à l'aide des fonctions spécifiques `metadata_resolve`, `metadata_getnobj`, `metadata_getattr` et `metadata_getnasn`. Le script ne lit aucune donnée externe ou de SASHELP.
| 1 | options |
| 2 | metaserver="<hostname>" |
| 3 | metaport=8561 |
| 4 | metauser="sasadm @saspw" |
| 5 | metapass="<password>" |
| 6 | metarepository=Foundation |
| 7 | metaprotocol=bridge; |
| 1 | DATA work.libinfo; |
| 2 | |
| 3 | /*declare and initialize variables */ |
| 4 | LENGTH |
| 5 | type user schema $ 20 |
| 6 | lib_uri lib_name app_uri app_name schema_uri login_uri dom_uri |
| 7 | dbms_uri dbms_name conn_uri prop_uri datasrc authdomain $ 50 |
| 8 | id $ 17; |
| 9 | keep lib_name app_name user schema dbms_name datasrc authdomain; |
| 10 | call missing(of _character_); |
| 11 | |
| 12 | obj="omsobj:SASLibrary? @IsDBMSLibname = '1'"; |
| 13 | |
| 14 | /* Search Metadata for libraries */ |
| 15 | |
| 16 | libcount=metadata_resolve(obj,type,id); |
| 17 | put "INFO: Found " libcount "database libraries."; |
| 18 | /* for each library found, extract name and associated properties */ |
| 19 | /* |
| 20 | default login, |
| 21 | first associated application server, |
| 22 | schema, |
| 23 | database server |
| 24 | */ |
| 25 | IF libcount > 0 THEN DO n=1 to libcount; |
| 26 | |
| 27 | rc=metadata_getnobj(obj,n,lib_uri); |
| 28 | rc=metadata_getattr(lib_uri,"Name",lib_name); |
| 29 | rc=metadata_getnasn(lib_uri,"DefaultLogin",1,login_uri); |
| 30 | rc=metadata_getattr(login_uri,"UserID",user); |
| 31 | rc=metadata_getnasn(lib_uri,"DeployedComponents",1,app_uri); |
| 32 | rc=metadata_getattr(app_uri,"Name",app_name); |
| 33 | rc=metadata_getnasn(lib_uri,"UsingPackages",1,schema_uri); |
| 34 | rc=metadata_getattr(schema_uri,"SchemaName",schema); |
| 35 | rc=metadata_getnasn(schema_uri,"DeployedComponents",1,dbms_uri); |
| 36 | rc=metadata_getattr(dbms_uri,"Name",dbms_name); |
| 37 | rc=metadata_getnasn(dbms_uri,"SourceConnections",1,conn_uri); |
| 38 | rc=metadata_getnasn(conn_uri,"Properties",1,prop_uri); |
| 39 | rc=metadata_getattr(prop_uri,"DefaultValue",datasrc); |
| 40 | rc=metadata_getnasn(conn_uri,"Domain",1,dom_uri); |
| 41 | rc=metadata_getattr(dom_uri,"Name",authdomain); |
| 42 | OUTPUT; /* Push results to table */ |
| 43 | |
| 44 | END; |
| 45 | ELSE put "INFO: No libraries to resolve."; |
| 46 | RUN; |