04-03-2014 01:15 PM
In sas eg 5.1 the how libname works is change a lot from eg 4.1, so i had some problem to have i solve this problem, i am a mainframe i work at the mainfram z/os.
i had made a program that i can run from eg 5.1 to get all of the files that the user have acces to , there are maybe150-200 libname , but i can put them in groups
like tas tas.year13 tas.year12 tas.year11 lis lis.year13 lis.year12 lis.year11 payment payment.year13 and so on. the first word can be a system
i would like to give the user a choice to mark which system an year he would like to make a libname to,
today we had hardcode the libname in the start of a connect, but then we should remember to make a new libanem when some new year arrive or a new system come to.
the program list all the files that have a specail qualifer from the mainfram and made a sas tabel and a print of all of the files that sort in groups.
Is there a idea to how i can put this together
04-03-2014 03:12 PM
Doing an inventory:
- as you are using EG 5.1 you have prompts with that. You could use an autoexec flow.
Do you have a metadataserver? In that case there are possible other options.
- You are mentioning a Connect
What kind of connect? SAS/connect from Windows/Unix or a direct connect to Workspaceserver on the mainframe?
- Since version 9 you can read SAS tables/datasets in SAS-macros.
A you have a SAS table containing the datasets you could add the group/year or other selection field to that dataset.
Maybe it is better to have that dataset semi-permanent at a central location (metadata like). Only being updated when those datasets are updated (added deleted)
- In that case you can build a SAS-macro that does the section on the needed datasets out of that metadata-dataset and generating the libnames
SAS(R) 9.3 Functions and CALL Routines: Reference (open fetch close)
04-04-2014 06:25 AM
The choice that i would like my customer to have is a multiple choice on all the dataset names they want a libname to, or
Can man in a Process Flow make some boxes that could contain the code for the libnames and then the click on that box and
the code would be executed .
I have a metadataserver , but the end user only has sas eg.
We connect direct to a workspaceserver on the mainframe.
Can man in a Process Flow make some boxes that could contain the code for the libnames
here i had made a sas data TOTAL the contains all the dataset that the customer had on the mainframe
04-04-2014 09:24 AM
I am seeing a Scandinavian language being used, something like Dutch as some words are similar.
Just Eguide available, that is the switch knife, capable to do most off all you could think off.
As you are using a metadata-server and EGuide …..
- The approach SAS is promoting is define a different appserver context for each different user group.
Thad define the needed allocations for each user-group (fixed) to each user group.
- Do you want to use a program to allocate data/libraries that is still possible.
- With Eguide can define running code from a EGP project. The code can be central on a server.
I am seeing a pointer at your “get sas liste fra mf” code so you are doing this already.
- you can define a Stored-process to be executed on a workspaceserver, this is new since 9.3.
There are parameters to them https://support.sas.com/documentation/cdl/en/stpug/62758/HTML/default/viewer.htm#n1ffjd8bu6we10n1nea...
This is given you the options to have the prompt and code more defined centrally.
In your resulting dataset “total” I am seeing”:
- SYS: A logical system name
- Aar: I think this is the year connection ready for selection
- DSN: the physical z/OS name (not hfs style) many duplicates for some reason.
I am missing a DDN DD-NAME name indication. The one that should be unique and the name your users will use (max length 8).
Within the "to be build allocation program" you can define and execute SAS-macro-s that are doing those libname definitions.
Are you comfortable developing within SAS-macros and Stored processes? :smileyconfused:
05-20-2014 05:57 AM
I have found another way to solve this problem, i had made a REXX that can hadle the most of this,
the rexx list all my dataset on the mainfram then i build the libname and put the file in unix and include it for the speciel customer,
so the customer get all there libname allmost like it was in sas eg 4.1, and then we just need to run the batch job with the rexx once
a year to get the new year dataset.
I stiil want to see if there is a way in SAS EG to build som code/libname and put them in some boxes and then
this boxes should be running the code or what in the boxes,