BookmarkSubscribeRSS Feed
carlos_jimenez
Fluorite | Level 6

I am getting a weird message on a code that used to run fine until few days ago.  Below if the code and error message.  I would appreciate any help understanding the meaning of the error and possible solutions.

 

filename _fixed url "https://s3.amazonaws.com/cfpb-hmda-public/prod/apor/YieldTableAdjustable.txt";

PROC IMPORT OUT= work.adjustable
DATAFILE= _fixed
DBMS=dlm REPLACE;
DELIMITER='|';
GETNAMES=YES;
RUN;

 

NOTE: Unable to open parameter catalog: SASUSER.PARMS.PARMS.SLIST in update mode. Temporary parameter values will be saved to
WORK.PARMS.PARMS.SLIST.
ERROR: Physical file does not exist, https://s3.amazonaws.com/cfpb-hmda-public/prod/apor/YieldTableAdjustable.txt.

 

6 REPLIES 6
ballardw
Super User

The NOTE that you see is often associated with opening a second SAS session and the first session has locked the SASUSER.Parms catalog which mostly holds SAS session parameters like window locations and such.

 

You might try ensuring all your SAS sessions are shut down, restart SAS and see if the code will run.

 

I was able to import that file using your code. It might have been temporarily unavailable on the website as busy, being created or some connection interruption.

Kurt_Bremser
Super User

If the problem persists, one more thing that came to my mind: a firewall might, for some reason, consider the file "dangerous" and block the download, although the website as such is permitted.

carlos_jimenez
Fluorite | Level 6

The problem still happening; I am with you thinking that it a firewall restriction.  Getting our SAS admin involved.

Tom
Super User Tom
Super User

This first note is a BUG in the IMPORT procedure (or something that it calls under the hood).  It does not impact how the proc runs so it shouldn't issue that note.

 

The second is also probably due to limitations of how PROC IMPORT works.  Try first copying the text from the URL to a physical file and pass that file to PROC IMPORT.  

filename _fixed url "https://s3.amazonaws.com/cfpb-hmda-public/prod/apor/YieldTableAdjustable.txt";
filename copy temp;
data _null_;
  infile _fixed;
  file copy;
  input;
  put _infile_;
run;
PROC IMPORT OUT= work.adjustable REPLACE
  DATAFILE= copy DBMS=dlm 
;
  DELIMITER='|';
  GETNAMES=YES;
RUN;

Or since it is just a text file skip the PROC IMPORT step altogether and just write your own data step to read from the fileref.  This also has the advantage that you can control how all of the variables are defined.

data work.adjustable ;
  infile _fixed dsd dlm='|' truncover firstobs=2;
  input .... ;
run;

 

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!

How to Concatenate Values

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 6 replies
  • 836 views
  • 2 likes
  • 4 in conversation