• JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
Capturing generated code from macros PDF Print E-mail
SAS Tip #137

You can use the mfile option to capture SAS code generated by macro programs. This can be very useful when trying to debug complicated macros. The following 2 macros make this process a little easier by enabling you to begin capturing code and then to view the code captured. When run interactively under windows it will even display the code produced in SAS. This code can then be loaded into SAS and run to assist in debugging.

Capture_Mprint

%macro capture_mprint ;
  filename mprint 'c:\mprint.sas'  ;
  options mprint mfile ;
%mend capture_mprint ;

Close_Mprint

%macro close_mprint ;
  filename mprint ;
  dm 'fsList "c:\mprint.sas"' fsList  ;
%mend close_mprint ;

Test Code

%macro test(x) ;
  %if &x=1 %then 
    %do ;
      data _null_ ;
      run ;
    %end ;
  %else
    %do ;
      proc print data=sashelp.class ;
      run ;
    %end ;
%mend test ;
%capture_mprint ;
%test ;
%close_mprint ;

Tested under SAS 9.1.3 SP4 using Windows XP Professional
Wood Street Consultants Ltd. | tips AT woodstreet.org.uk | www.woodstreet.org.uk

Last Updated ( Thursday, 12 October 2006 )