BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Ramya2
Calcite | Level 5
If it is before looper, it will create log for each subject. I dont want the log to be created for each subject.
PaigeMiller
Diamond | Level 26

@Ramya2 wrote:
If it is before looper, it will create log for each subject. I dont want the log to be created for each subject.

I think this is incorrect. There is nothing in the code that will cause a log for each subject to be generated.

--
Paige Miller
Astounding
PROC Star

With all suggested changes:

 

%macro caller();

%do j=1 %to &npts;

 

%if  %sysfunc(mod(&j,3))=1 %then

%do;

proc printto new log ='"/ctshared/cdr/dev/RAMYA/archive/logfile_&j..log";

run;

%let rc=%sysfunc(sleep(60,1));

%end;

%looper(subject=&&pt&j.);

%end;

%mend caller();

 

Should be OK.  Try it and see.  Careful programming might eliminate an unnecessary SLEEP.

Ramya2
Calcite | Level 5
Wow. It is working fine. Thanks a lot for your suggestion.
Astounding
PROC Star

So that's closer.  Now move the %LOOPER macro as @PaigeMiller suggested.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 19 replies
  • 3953 views
  • 0 likes
  • 4 in conversation