BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Selcuk
Calcite | Level 5

I have a subroutine and it uses "run_macro" expression to execute a macro. But after execution I can't see normal data step execution statistics in the log. Instead of normal log it produces a log like

"NOTE: DATA statement used (Total process time):

      real time           0.06 seconds

      cpu time            0.09 seconds"

however the macro has data steps more than one. It abriges the log. I need full log.

/*SUBROUTINE DEFINITION*/

  subroutine setProcessTime(app $,log $);

       %include 'E:\................................\set_process_time.sas';

        rc = run_macro('set_process_time', app, log);     

   endsub;

/*MACRO*/

%macro set_process_time_test;

  data messi;

  put "SSSSSSSSSSSSSSSSSSS";

  a="&log";

  b="&app";

  run;

  data kaka;

  a=sleep(3,1);

  run;

  data carlos;

  a=10;

  b=15;

  run;

%mend set_process_time_test;

best regards

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

Have you tried the symbolgen and mprint options before you submit the macro code?

options mprint symbolgen notes;

View solution in original post

3 REPLIES 3
Reeza
Super User

Have you tried the symbolgen and mprint options before you submit the macro code?

options mprint symbolgen notes;

Selcuk
Calcite | Level 5

I have tried , but it doesn't work. Log is here...

10310  options cmplib = (ud.user_defined);

10311  data _null_;

10312      call setProcessTime('D:\....\include_by_fcmp_sample.sas','D:\....\include_by_fcmp_sample_log.txt');

10313  run;

YYYYYYYYYYYYYYYYYYY

SYMBOLGEN:  Macro variable LOG resolves to 'D:\..........\include_by_fcmp_sample_log.txt'

'D:\.......\include_by_fcmp_sample_log.txt'

MPRINT(SET_PROCESS_TIME):   data sss;

MPRINT(SET_PROCESS_TIME):   put "SSSSSSSSSSSSSSSSSSS";

MPRINT(SET_PROCESS_TIME):   a=5;

MPRINT(SET_PROCESS_TIME):   run;

SSSSSSSSSSSSSSSSSSS

SYMBOLGEN:  Macro variable LOG resolves to 'D:\......\include_by_fcmp_sample_log.txt'

MPRINT(SET_PROCESS_TIME):   filename rlog "'D:\.....\include_by_fcmp_sample_log.txt'";

MPRINT(SET_PROCESS_TIME):   proc printto new log=rlog;

MPRINT(SET_PROCESS_TIME):   run;

SYMBOLGEN:  Macro variable START resolves to 1664269555.661

SYMBOLGEN:  Macro variable FINISH resolves to 1664269555.698

MPRINT(SET_PROCESS_TIME):   proc sql;

SYMBOLGEN:  Macro variable APP resolves to 'D:\.....\include_by_fcmp_sample.sas'

SYMBOLGEN:  Macro variable START resolves to 1664269555.661

SYMBOLGEN:  Macro variable FINISH resolves to 1664269555.698

SYMBOLGEN:  Macro variable PROCESS_TIME resolves to İşlem süresi 0.0369999409 milisaniye

MPRINT(SET_PROCESS_TIME):   insert into prcstime.construction_process_times values('D:\.....\include_by_fcmp_sample.sas',1664269555.661,1664269555.698,"İşlem süresi

0.0369999409 milisaniye");

MPRINT(SET_PROCESS_TIME):   run;

NOTE: DATA statement used (Total process time):

      real time           0.04 seconds

      cpu time            0.04 seconds

Selcuk
Calcite | Level 5

I have made a mistake , you were right , notes options has to be set : )

thanks...

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 764 views
  • 0 likes
  • 2 in conversation