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.

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

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
  • 2787 views
  • 0 likes
  • 4 in conversation