前のページ|次のページ

MCOVERAGEシステムオプション

カバレッジ分析データの生成を可能にします。

該当要素: 構成ファイル、OPTIONSウィンドウ、 OPTIONSステートメント、SAS起動時
カテゴリ: マクロ
PROC OPTIONS GROUP= MACRO
種類: システムオプション
デフォルト: NOMCOVERAGE
要件 MCOVERAGELOC=システムオプションを使用すること

構文

MCOVERAGE|NOMCOVERAGE

必須引数

MCOVERAGE

カバレッジ分析データの生成を可能にします。

NOMCOVERAGE

カバレッジ分析データの生成を行いません。

詳細

MCOVERAGEシステムオプションは、カバレッジ分析データの生成を制御します。同データは、SASソリューション製品がリリース前に適切なテストが行われていることを保証するために必要となります。
カバレッジ分析データのフォーマットは、空白で区切られたフラットなテキストファイルであり、3種類のレコードを含んでいます。各レコードは、数値レコード型で始まります。データ内の行番号は、マクロ定義に使用された%MACROキーワードを基準とする相対的な行番号になります。カバレッジ分析データファイルの保存場所を指定するには、MCOVERAGELOC=システムオプションを使用します。詳細については、MCOVERAGELOC=システムオプションを参照してください。
注: ネストされたマクロ定義は折り畳み改行を含むモデルテキストとして保存されるため、後で実行カバレッジの分析対象とする予定のマクロ定義では、ネストされたマクロ定義を使用しないことを推奨します。
3つのレコード型の説明を次に示します。
レコード型1:
1 n n macroname
1
レコード型
n
最初の行番号
n
最後の行番号
macroname
マクロ名
レコード型1は、マクロ実行の開始を表します。レコード型1は、マクロの実行ごとに一度だけ出力されます。
レコード型2:
2 n n macroname
2
レコード型
n
最初の行番号
n
最後の行番号
macroname
マクロ名
レコード型2は、実行されたマクロの行を表します。マクロの単一行により、複数のレコードが生成される場合があります。
レコード型3:
3 n n macroname
3
レコード型
n
最初の行番号
n
最後の行番号
macroname
マクロ名
レコード3は、マクロの行のうち、その行からはコードが生成されなかったために実行できなかった行を表します。これらの行は、コメント行であるか、またはマクロコードを生成しない行になります。
サンプルのプログラムのログを次に示します。
Sample Program Log:注:Copyright (c) 2002-2012 by SAS Institute Inc., Cary, NC, USA.注:SAS (r) Proprietary Software 9.4 (TS1B0) Licensed to SAS Institute Inc., Site 1.注:This session is executing on the W32_7PRO  platform.注:SAS initialization used: real time           0.45 seconds cpu time            0.20 seconds 1          options source source2; 2 3          options mcoverage mcoverageloc='./foo.dat'; 4 5          /*  1 */ %macro 6          /*  2 */ foo ( 7          /*  3 */ arg, 8          /*  4 */ 9          /*  5 */ 10         /*  6 */ arg2 11         /*  7 */ 12         /*  8 */ 13         /*  9 */ = 14         /* 10 */ 15         /* 11 */ This is the default value of arg2) 16         /* 12 */ ; 17         /* 13 */ /*  This is a number of lines of comments     */ 18         /* 14 */ /*  which presumably will help the maintainer */ 19         /* 15 */ /*  of this macro to know what to do to keep  */ 20         /* 16 */ /*  this silly piece of code current          */ 21         /* 17 */   %if &arg %then %do; 22         /* 18 */      data _null_; 23         /* 19 */      x=1; 24         /* 20 */   %end; 25         /* 21 */ %* this is a macro comment statement 26         /* 22 */    that also can be used to document features 27         /* 23 */    and other stuff about the macro; 28         /* 24 */   %else 29         /* 25 */   %do; 30         /* 26 */      DATA _NULL_; 31         /* 27 */      y=1; 32         /* 28 */   %end; 33         /* 29 */      run; 34         /* 30 */ 35         /* 31 */ 36         /* 32 */ 37         /* 33 */ 38         /* 34 */ 39         /* 35 */ %mend 40         /* 36 */ 41         /* 37 */ 42         /* 38 */ 43         /* 39 */ 44         /* 40 */ 45         /* 41 */ 46         /* 42 */ 47         /* 43 */ foo This is text which should generate a warning!; WARNING:Extraneous information on %MEND statement ignored for macro definition FOO.
前のページ|次のページ|ページの先頭へ