Your SAS programs, embedded in web apps and elsewhere

Assinging dynamic libname in the stored procedure

Reply
New Contributor
Posts: 3

Assinging dynamic libname in the stored procedure

I have a programe which run both on EG and as a stored procedure. when I ran in EG in prod or Dev enviroment the libname automatically select the enviroment and ran the code, But when it is run as stored Procedure, it need to be change as manually for each enviroment.

I tried all option but not able to make the libname dynamic for Stored procedrue. Pls help me to suggest how to make dynamic code for libname in stored.

Super User
Posts: 7,762

Re: Assinging dynamic libname in the stored procedure

Posted in reply to sasquestion

I would not change the library reference in the program.

Instead define the libraries in metadata with the same libref, but different paths. Then assign one definition to the prod stored process server and the other to the dev stored process server.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
New Contributor
Posts: 3

Re: Assinging dynamic libname in the stored procedure

Posted in reply to KurtBremser

Hi KurtBremser,

 

Could you please explain the it more.

 

Thanks

Super User
Posts: 7,762

Re: Assinging dynamic libname in the stored procedure

Posted in reply to sasquestion

Assume you have two directories:

/sasdata/xxxprod

/sasdata/xxxdev

In SAS Management Console (Plug-Ins), open the Data Library Manager

Right-Click Libraries, select New Library

Name it XXX-Prod, on the next tab, assign it to the production server, in Options, give it the libref XXX, and set the path to /sasdata/xxxprod

Once you have finished, repeat the same, but name it XXX-Dev, assign it to the development server, and set the path to /sasdata/xxxdev

 

You now have a libref XXX in both production and development, which points to different paths, depending on the server context.

 

 

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
New Contributor
Posts: 3

Re: Assinging dynamic libname in the stored procedure

Posted in reply to KurtBremser

Thank you,

 

Is it possible to have in the programme of stored procedure.

Super User
Posts: 7,762

Re: Assinging dynamic libname in the stored procedure

Posted in reply to sasquestion

The SAS program will not need to do any changes to the library. But you will need separate stored process definitions for the prod and dev server, both pointing to the same physical SAS program file.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Posts: 5,424

Re: Assinging dynamic libname in the stored procedure

Posted in reply to sasquestion
Agree with @KurtBremser but I would even sugest that the stp SAS file should be separated between your different SAS environments. This will let you develop / change your logic in a controlled environment without disturbing the live report in the production environment.
Data never sleeps
Ask a Question
Discussion stats
  • 6 replies
  • 335 views
  • 0 likes
  • 3 in conversation