前のページ|次のページ

MPRINTシステムオプション

マクロの実行により生成されるSASステートメントをデバッグ用にトレースするかどうかを指定します。

該当要素: 構成ファイル、OPTIONSウィンドウ、OPTIONSステートメント、SAS起動時
カテゴリ: マクロ
PROC OPTIONS GROUP= MACRO
LOGCONTROL
種類: システムオプション
デフォルト: NOMPRINT
参照項目: MFILEシステムオプション および The SAS Log (SAS言語リファレンス: 解説編)

構文

MPRINT | NOMPRINT

必須引数

MPRINT

マクロの実行により生成されるSASステートメントを表示します。マクロをデバッグする際には、SASステートメントを表示すると便利です。

NOMPRINT

マクロの実行により生成されるSASステートメントを表示しません。

詳細

MPRINTオプションは、マクロの実行により生成されるテキストを表示します。各ステートメントの先頭には改行が付けられます。MPRINT出力の各行には、プレフィックスとしてMPRINT(macro-name):が出力されるため、各ステートメントを生成したマクロを特定できます。複数の空白で区切られているトークンは、単一の空白で区切られた状態で出力されます。
MPRINT出力を外部ファイルに送るには、MPRINTオプションとMFILEオプションの両方を指定した上で、その外部ファイルにファイル参照名MPRINTを割り当てます。詳細については、MFILEシステムオプションを参照してください。

例1: SASステートメントの生成をトレースする

次の例では、MPRINTオプションを使用することで、マクロMKTITLEおよびRUNPLOTの実行時に生成されるSASステートメントをトレースしています。
%macro mktitle(proc,data);
    title "%upcase(&proc) of %upcase(&data)";
%mend mktitle;
%macro runplot(ds);
   %if %sysprod(graph)=1 %then
      %do;
         %mktitle (gplot,&ds)
         proc gplot data=&ds;
            plot style*price
                / haxis=0 to 150000 by 50000;
         run;
         quit;
      %end;
   %else
      %do;
         %mktitle (plot,&ds)
         proc plot data=&ds;
            plot style*price;
         run;
         quit;
      %end;
%mend runplot;
options mprint;
%runplot(Sasuser.Houses)
このプログラムを実行すると、次のようなMPRINT出力がSASログに書き込まれます。
MPRINT(MKTITLE):   TITLE "GPLOT of SASUSER.HOUSES"; MPRINT(RUNPLOT):   PROC GPLOT DATA=SASUSER.HOUSES; MPRINT(RUNPLOT):   PLOT STYLE*PRICE / HAXIS=0 TO 150000 BY 50000; MPRINT(RUNPLOT):   RUN; MPRINT(RUNPLOT):   QUIT;

例2: 外部ファイルにMPRINT出力を送る

先のプログラムにおけるマクロ呼び出しの前に次に示すステートメントを追加すると、SASセッションの終了時に、MPRINT出力がファイルDEBUGMACに送られます。
options mfile mprint;
filename mprint 'debugmac';
前のページ|次のページ|ページの先頭へ