Hi everyone,
Anyone seen this type of behavior? :
SAS EG 5.1
I have created a fairly simple stored process that has 3 prompts (location, fault type, date range). Originally I had all three in the same query builder. Both the location and fault type were dynamic list prompts and have a lot of choices (968 for Location, 560 for fault type). I allow the user to select up to 10 locations and 5 fault types to filter against and a date range. Everything works great when I run the STP in EG, but when I try to run it from Excel, I get a generic message:
SAS Add-In for Microsoft Office has encountered a problem
We recommend that you save your work and restart SAS Add-in for MS Office.
Under Details:
Error creating window handle.
When I eliminated the prompt for fault type and hard coded that in, the problem went away and it worked fine from Excel. Is anyone aware of prompt limitations within the MS Add-in framework? Is there a work around?
Thanks,
Fred
You are talking about dynamic prompts with lists.
There is problem around that, not well known, not often hit. The behavior:
- the dynamic prompts are build before the real process is started.
- a SAS process must read the dynamic data using SAS metadata and accessing the data using a SAS process
- this prompt runtime building of that list is not executed in the same user-context / sas-session the real processing of the SP process is done.
That one are defined after the prompt values are known.
This effect can be seen having multiple appservers defined using the data and seeing the wrong appserver is opend at the moment of the prompt in EGuide.
This is a nasty design/implementation problem in the prompting framework possible having other erroneous effects. (difference WS/SP sas service)
There is no work around other than doing different coding avoiding that list.
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
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.