前のページ|次のページ

MLOGICシステムオプション

マクロプロセッサがデバッグ用にマクロの実行をトレースするかどうかを指定します。

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

構文

MLOGIC | NOMLOGIC

必須引数

MLOGIC

マクロプロセッサがマクロの実行をトレースし、そのトレース情報をSASログに書き込むようにします。このオプションはデバッグを行う場合に使うと便利です。

NOMLOGIC

マクロの実行をトレースしません。マクロのデバッグを行わない場合は、このオプションを使用します。

詳細

マクロをデバッグする場合、MLOGICオプションを使用します。MLOGICオプションにより生成される各行には、プレフィックスとしてMLOGIC(macro-name):が出力されます。MLOGICオプションが有効である場合にマクロプロセッサがマクロ呼び出しを検出すると、マクロプロセッサは次のものを特定するメッセージを表示します。
  • マクロ実行の開始
  • 呼び出し時のマクロパラメータの値
  • 各マクロプログラムステートメントの実行
  • 各%IF条件のtrueまたはfalse
  • マクロ実行の終了
注: MLOGICオプションを指定すると、大量の出力が生成されます。
マクロのデバッグの詳細については、マクロ機能のエラーメッセージとデバッグを参照してください。

例: マクロの実行のトレース

次の例では、MLOGICオプションを使用することにより、マクロMKTITLEおよびRUNPLOTの実行をトレースしています。
%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 mlogic;
%runplot(Sasuser.Houses)
このプログラムを実行すると、次のようなMLOGIC出力がSASログに書き込まれます。
MLOGIC(RUNPLOT):Beginning execution.MLOGIC(RUNPLOT):Parameter DS has value sasuser.houses MLOGIC(RUNPLOT):%IF condition %sysprod(graph)=1 is TRUE MLOGIC(MKTITLE):Beginning execution.MLOGIC(MKTITLE):Parameter PROC has value gplot MLOGIC(MKTITLE):Parameter DATA has value sasuser.houses MLOGIC(MKTITLE):Ending execution.MLOGIC(RUNPLOT):Ending execution.
前のページ|次のページ|ページの先頭へ