BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Hi,
My company has just moved from SAS v.8 on Windows to Enterprise Guide on a Unix server.
On the old version and platform I used to run code to create directories on a file server using PIPE, however, since moving to the new version and platform I get the following error messages when I run the code:

ERROR: Insufficient authorization to access PIPE.
ERROR: Error in the FILENAME statement.
ERROR: No logical assign for filename FILEREF.

My code (simplified) is :

filename fileref PIPE 'mkdir "\\AUNSW0170020\DATA\A\B\C"';
data _null_;
infile fileref;
Input;
put _infile_;
run;

Is this a permissions issue or something else ? Are there any work-arounds ?

Thanks
Tim
5 REPLIES 5
Olivier
Pyrite | Level 9
Silly question : has the user used thru Enterprise Guide to connect to the server ability to create directories ?
ChrisHemedinger
Community Manager
Hi,

PIPE, SYSTASK and XCMD are among the features disabled by default when running a SAS server configured with SAS Integration Technologies. These features can present a risk to use on a central server that is accessed by lots of users with Enterprise Guide.

By default, the Object Spawner starts the SAS session with the -NOXCMD option which does not allow SYSTASK commands to be run.

I'd suggest opening a track with tech support and explaining your situation; they can advise you as to the best workaround for what you're trying to do.

Chris
Learn from the Experts! Check out the huge catalog of free sessions in the Ask the Expert webinar series.
Andrew_F
Calcite | Level 5
Although NOXCMD is in effect, SAS can still make use of the operating system. This works for EG running a workspace server on MS Server2003:

data _null_ ;
NewDir = dcreate('AnotherNewDir','c:\temp') ;
run ;
deleted_user
Not applicable
Thanks, everyone for your replies.

The last bit of code works a treat !

Thanks again and best regards

Tim
Babloo
Rhodochrosite | Level 12

Apologies for opening a track from old thread. But my issue looks similar. When i run the below code, i got the error as mentioned in subject. I applied workarnd suggested by AndrewF, but still couldn't succeed.

I'm running this code in SAS EG 5.1.

%global month tdcut infle inpth inpth2 cnt cnt2;

%let month  = 201411              ;*** current monthly processing date;

%let tdcut  = 31oct2014           ;*** the cut off date for daily csv trigger dates, matches the last

                                  date in the current application fi;

%let clint  = resfcu           ;*** client;

%let fi     = ResourcesFCU ;*** fi name;

*filename indat1 pipe 'ls -d /data_PPM/ResourcesFCU/Shopper/daily_files/*'  ;

*filename indat2 pipe 'ls -d /data_PPM/ResourcesFCU/Shopper/daily_files2/*' ;

data null ;

   NewDir1 = dcreate('indat1','ls -d /data_PPM/ResourcesFCU/Shopper/daily_files/*') ;

run ;

data null ;

   NewDir2 = dcreate('indat2','ls -d /data_PPM/ResourcesFCU/Shopper/daily_files2/*') ;

run ;

data file_list1 ;

length fname $250              ;

infile indat1 truncover        ; /* infile statement for file names */

input fname $250.              ; /* read the file names from the directory */

call symput ('num_files1',_n_) ; /* store the record number in a macro variable */

If scan(fname,-1,'.') = 'txt' then delete   ;

If scan(fname,-1,'/') = 'dupes' then delete ;

run ;

error messages from my log

47         data file_list1 ;

48         length fname $250              ;

49         infile indat1 truncover        ; /* infile statement for file names */

50         input fname $250.              ; /* read the file names from the directory */

51         call symput ('num_files1',_n_) ; /* store the record number in a macro variable */

52         If scan(fname,-1,'.') = 'txt' then delete   ;

53         If scan(fname,-1,'/') = 'dupes' then delete ;

54         run ;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).

      51:27  

ERROR: No logical assign for filename INDAT1.

NOTE: The SAS System stopped processing this step because of errors.

WARNING: The data set WORK.FILE_LIST1 may be incomplete.  When this step was stopped there were 0 observations and 1 variables.

NOTE: DATA statement used (Total process time):

      real time           0.00 seconds

      cpu time            0.01 seconds

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

SAS Enterprise Guide vs. SAS Studio

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 5 replies
  • 2263 views
  • 0 likes
  • 5 in conversation