「LINEとCOLUMNを判別できません。」

[OS] ALL
[リリース] SAS System 8以降
[キーワード] Base, macro, SPOOL option, error message

[質問]

マクロの実行時に、下記のようなエラーメッセージが出力されました。
どのように対処すればいいですか。


 LINE と COLUMN を判別できません。LINE と COLUMN を判別できません。
 NOTE: NOSPOOL がオンです。 OPTION SPOOL で再実行すれば、エラーが発生した LINE とCOLUMN を回復できます。

[回答]

上記のメッセージは、NOSPOOLシステムオプションが設定されているため、エラーが起きている行(LINE)とカラム(COLUMN)を出力できないことを表しています。

NOSPOOLシステムオプションは、プログラムソースの一時作業データセットへの保存を行なわないようにする指定です。
SAS 6.12以前ではデフォルト値はSPOOLでしたが、SAS System 8以降ではデフォルト値がNOSPOOLに変更されています。
エラーが発生している箇所を確認するには、OPTIONSステートメントでSPOOLオプションを指定して再度マクロを実行し、ログを参照してください。

さらに、その際にはMPRINTオプションも併せて指定するとよいと思われます。
MPRINTオプションは、マクロによって生成されたソースプログラムをログに出力するオプションで、デフォルト値はNOMPRINT(ソースプログラムを出力しない)です。


     options spool mprint; 

上記の指定を元に戻すには、下記のように指定します。


     options nospool nomprint;