09-22-2017 04:49 AM - edited 09-22-2017 04:55 AM
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!
09-22-2017 05:25 AM
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.
09-22-2017 05:30 AM
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.
04-12-2018 10:48 AM
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.
Need further help from the community? Please ask a new question.