I have been attempting to create a view of all of the licensed products for a SAS environment across all machines.
So far I have attempted two ideas but both appear to have limitations:
1. Run a proc metadata to list all licenses which are associated with the SAS environment:
proc metadata in= "<GetMetadataObjects> <Reposid>$METAREPOSITORY</Reposid> <Type>TextStore</Type> <NS>SAS</NS> <Flags>2441</Flags> <Options> <XMLSelect search=""*[@Name ? 'setinit']""/> </Options> </GetMetadataObjects>" out=setinit; run;
Issue: This produces output which details all of the licenses within the environment but only contains the product numbers. Is there somewhere in metadata to view the products relating to the product numbers in question?
2. A proc setinit displays the details concerning the compute server which you ran the code on and gives all of the required information, but misses any further licenses which would also need to be displayed. This code would need to be run independently on each machine adding a lot of complexity to the code.
3. I know the licenses are stored under SASHome on each of the machines, so on Windows in theory we should be able to pick this up using a UNC path. Is there any way of querying metadata for the SASHome location of each machine in the SAS environment?
How many licences do you buy from SAS? I'd expect that number to be extremely small, and which machine gets what licence to be somewhat obvious.
Hi Chris,
There are potentially up to three licenses per SAS Environment, so it is quite a manual process at present to identify this.
Many Thanks, Carrie
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.