Hi
My organisation is in the process of migrating onto SAS 9.4 and hence Enterprise Guide. A lot of the scripts that I used regularly involve importing data from excel spreadsheets, which previously wasn't an issue as SAS sat locally on the machine. Whereas now using Enterprise Guide, everything executes on a server outside of our existing network.
I am aware of the Copy Files task which allows files to be copied to the SAS server before running a proc import for example, and this works fine, unless the task is run as part of a process flow...
If I run just the Copy Files task on its own everything works fine, but when run as part of the process flow it just gets skipped over, meaning the program which follows errors straight away.
This is the log which shows for the Copy Files task when run as part of a process flow:
Uploading files from machine "<removed>" to SAS session on "<removed">.
Using these settings:
Source file specification: &local_path\Reference\*
Destination path: &server_path/
Overwrite existing files: Yes
Resolve macro references in file paths: Yes
Convert line endings for text files: No
NOTE: Resolving macro expressions in file paths. SAS log:
What can I do to solve this?
Thanks for your help!
I think you might have to raise this one with SAS Tech Support - there's just not enough information to go on from the log.
I don't think that task ever writes much to the log because unlike other tasks it doesn't generate SAS statements - it uses "behind-the-scenes" APIs to effect the transfer. Could you tell us what errors you are getting on the next steps as we might be able to infer something from that.
Normally when this task runs it says copied xxx bytes from x files to <location on server>. The following statement which errors is a proc import, which shoudl import the excel file that has just uploaded. But since the task didn't run the file doesnt exist. WHen I explicity run the task itself as opposed to the whole process flow it works fine.
I think you might have to raise this one with SAS Tech Support - there's just not enough information to go on from the log.
I ran into the same issue.
Apparently, if the Copy Files task is set to import just one file it runs fine when I run the process flow it is in.
But when using wildcards to import several files, it skips... except when the Copy Files task is the only object in the process flow. Then, it runs just fine.
So, I found a workaround.
First, place your Copy Files in a new dedicated process flow.
Second, be aware that when you choose to run the project, it follows the order by which process flows appear in the Project Tree. And you can drag the process flows up and down in the project tree.
So, adjust the order of the process flows in the Project Tree so that the process flow with the Copy Files task runs in the right moment.
If you need to run stuff before AND after the Copy Files task, you may have to split a process flow into two flows.
I reckon this isn't a perfect workaround, but it may be enough for the challenges you're facing.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Select SAS Training centers are offering in-person courses. View upcoming courses for: