Hi,
I'm migrating a batch job to a new server, and have a weird problem where a PROC REPORT step is throwing the Unable to open SASUSER.PROFILE note:
NOTE: Multiple concurrent threads will be used to summarize data. NOTE: Unable to open SASUSER.PROFILE. WORK.PROFILE will be opened instead. NOTE: All profile changes will be lost at the end of the session. NOTE: There were 4 observations read from the data set WORK.FOO. NOTE: PROCEDURE REPORT used (Total process time): real time 0.02 seconds cpu time 0.03 seconds
I'm used to seeing that note at the top of a log if I start a SAS session while I have another SAS session running (and don't have -RSASUSER set). But I've never before seen it in the middle of a log.
I did see the note about multiple concurrent threads, is it possibly relevant, i.e. could each thread be trying to open the profile for some reason?).
Code is running on SAS 9.4M6 on a linux server. It's running as a scheduled DI job (batch job), under an admin user account. I checked the full log, I do NOT see the note at the top of the log.
When I run it myself (in EG) I don't get the note.
I know I could ignore the note, but I'm curious enough to ask whether anyone has seen this note in the middle of a log before.
Thanks,
--Q.
I can only assume that you are using a PROC REPORT setting that would normally be stored in SASUSER.PROFILE. Perhaps checking the contents of WORK.PROFILE will give you some clues. You could also post your REPORT code.
We have the SASUSER library set to read-only on all our SAS sessions but I've never seen that note on our REPORT steps.
Interesting. I don't think there's anything special in the PROC REPORT code, essentially:
ods listing close;
ods html file="/saswork/.../__joblogreport.htm" style=journal options(pagebreak="No");
ods text="4 DI Jobs were run in the past 24 hours.";
proc report data=__joblog(where=(Type="DI Job")) nowd split='~';
column Fail Program Rundate Mode Comment BadLogMsgCount Log;
define Fail/display noprint;
define Program/display ;
define Rundate/display;
define Mode/display;
define Comment/display;
define BadLogMsgCount/display;
define Log/display;
compute Log;
if Fail=1 then do;
call define(_ROW_,'style','style=[background=YELLOW]');
end;
endcomp;
run;
ods html close;
ods listing;
Agree, SASUSER makes sense, I should probably just ask the admin to turn it on.
I can't see anything special there. Try PROC CATALOG on WORK.PROFILE - is it creating a report profile like the PROC REPORT PROFILE = option does?
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.