BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
BHull
Obsidian | Level 7

Hello,

I have a stored process with a dynamic prompt created from a file in LIB BG3X00.

Process works great in Enterprise Guide.

When deployed to the portal, however, I get an error message LIBREF not assigned. (see attachments)

I have the libname explicitly in my stored process but I think the prompts are executing BEFORE the libname statement.

If I'm right, how do I correct?

thanks!


Capture2.JPGCapture.JPG
1 ACCEPTED SOLUTION

Accepted Solutions
BHull
Obsidian | Level 7

A huge amount of gratitude is coming your way....this was the perfect solution and you saved a critical project which is due TODAY...thank you so much...

View solution in original post

8 REPLIES 8
Haikuo
Onyx | Level 15
You are right, Prompts, in base SAS term, are macro/macro variables. They get to execute long before the SAS code is compiled. The easiest way to tackle it is to 'pre-assign' those metadata libraries. Ask your SAS admin or check Docs if you have permission to do it.
BHull
Obsidian | Level 7

Thank you for your fast response.

The library is preassigned (See attachment)

We also tried to change the pre assignment type to by metadata engine...same result.

 

I would appreciate any other suggestions....

thanks!


Capture3.JPG
Timmy2383
Lapis Lazuli | Level 10

I had a similar problem for stored processes that are spawning using the Stored Process Server under the SAS General Servers account (instead of Workspace Servers under user's ID).  If I recall correctly, I had to 1) make sure the SAS General Servers account had permissions on the library and 2) restart Object Spawners.

Kurt_Bremser
Super User

To further elaborate on @Timmy2383:

The SAS General Servers is not a user account in SAS metadata, it is a group account. But it is connected to the operating system user account sassrv, which is used to run pooled servers (that includes the STP server).

So you have to make sure that SAS General Servers as a group has Authorization for the library in SAS metadata, and that sassrv as a user has the necessary operating system permissions (read and execute) on the directory and its contents.

BHull
Obsidian | Level 7

A huge amount of gratitude is coming your way....this was the perfect solution and you saved a critical project which is due TODAY...thank you so much...

Timmy2383
Lapis Lazuli | Level 10
Our pleasure! Thanks to @Kurt_Bremser for giving proper clarification and elaboration of my hasty reply.
bartman
Fluorite | Level 6

Hi! I suspect I'm having the same issue. What are the permissions required for the SAS General Servers group on the library and members?

 

I gave that group ReadMetadata and Read to both library and member, restarted the object spawner (on SASApp WS Server) and nothing changed.

 

Are things different for an DBMS library?

bartman
Fluorite | Level 6

Just dawned on me that the SAS General Servers group was not a member of the group with the Oracle account defined...

 

I even removed the explicit permissions to the library and table in metadata and it works after restarting the ObjectSpawner.

 

Thanks for the help here!

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 8 replies
  • 4217 views
  • 7 likes
  • 5 in conversation