My EG-flow opens 5 different datasources, make som filters and combine some of the datasets to create 4 new datasets. The 4 datasets are exported to Excel.
The flow was supposed to be scheduled to run every night, but when the flow is run in one take, it fails with the error:
"The open data operation failed. The following error occurred. The library "WORK" on server "SASAPP" was not found"
If I run the flow step by step the error does not occure.
What am I doing wrong? Is EG running in multiple WORK-directories at the same time - and is that what causes the error?
The flow without errors:
The flow with errors:
To make sure that you get the new tables you need for further processing at the right time, you might benefit from "conditional processing". You can read more about this in EG's Help in the section "working with conditional processing".
Another alternative is to use links so that you link all the bits of the flow together in one long process to avoid certain parts of the flow starting prematurely. You can read more about this in the section " Linking objects in a process flow"
I have linked all the object, and all datasets are available at the right time.
When I run the flow in one take I can see the dataset being created, and some seconds later when a query is goint to use the dataset, it is not available, saying "WORK does not excist". If I click on the dataset I can open it, so it does excist. It is like EG temporarily looses the connection to WORK.
The log from the Transpose node is below. Right after copying this log I tried to open the data work.periodisering and it opened without problems...
1 ;*';*";*/;quit;run; 2 OPTIONS PAGENO=MIN; 3 %put ERROR: Unable to get SAS code. Input data for task is not available. Error opening data "WORK.Periodisering".; ERROR: Unable to get SAS code. Input data for task is not available. Error opening data "WORK.Periodisering". 4 5 QUIT; RUN; 6
And the program "Ret . til 0" is this little one:
data QUERY_FOR_OKO_BUDGET; set QUERY_FOR_OKO_BUDGET_1; if oko_forbrug = . then oko_forbrug = 0; if oko_forbrug_pct = . then oko_forbrug_pct = 0; run;
After picking my memory, I think it has to do with some tasks having some STP macros enabled. Try to go through the tasks you have coded yourself, and check the settings. As far as I remember somewhere you can set whether it executes in a STP context. When you have found it, try to go through all your code-tasks and check if it is disabled.
Hope that will fix the problem.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.