前のページ|次のページ

%ABORTステートメント

現在のDATAステップ、SASジョブ、またはSASセッションで実行されているマクロを停止します。

種類: マクロステートメント
制限事項: マクロ定義でのみ使用可能

構文

%ABORT <ABEND | CANCEL | <FILE> | RETURN | <n>>;

必須引数

ABEND

現在のマクロおよびSASジョブ(またはSASセッション)を異常終了させます。結果は動作モードや動作環境により異なります。

  • バッチモードおよび非対話モードの場合
    • 処理を即座に停止します。
    • %ABORTマクロステートメントのABENDオプションにより実行が停止されたことを知らせるエラーメッセージをSASログに送信します。
    • 後続のステートメントや構文チェックは実行しません。
    • 動作環境に制御を戻します。これ以降の処理は、お使いの動作環境による異常終了ジョブの取り扱い方法に基づいて実施されます。
  • ウィンドウ環境および対話型ラインモードの場合
    • マクロ、ウィンドウ環境、対話型ラインモードによる処理を即座に停止し、動作環境に制御を戻します。

CANCEL <FILE>

現在サブミットされているステートメントを取り消します。結果は動作モードや動作環境により異なります。

バッチモードや非対話型モードの場合、CANCELオプションを指定すると次のことが起こります。
  • SASプログラム全体およびSASシステム全体が停止されます。
  • エラーメッセージがSASログに書き込まれます。
ウィンドウ環境や対話型ラインモードの場合、CANCELオプションを指定すると次のことが起こります。
  • 現在サブミットされているプログラムのみがクリアされます。
  • それ以外のサブミット済みのプログラムは影響を受けません。
  • エラーメッセージがSASログに書き込まれます。
ワークスペースサーバーやストアドプロセスサーバーの場合、CANCELオプションを指定すると次のことが起こります。
  • 現在サブミットされているプログラムのみがクリアされます。
  • それ以外のサブミット済みのプログラムは影響を受けません。
  • エラーメッセージがSASログに書き込まれます。
SAS IntrNetアプリケーションサーバーの場合、CANCELオプションを指定すると次のことが起こります。
  • 要求ごとに独立した実行が生成されます。この実行が要求コードをサブミットします。要求コード内にCANCELオプションが含まれていると、現在サブミットされているコードはクリアされますが、実行やSASセッションは停止されません。

FILE

autoexecファイルまたは%INCLUDEファイル内でCANCEL引数のオプションとして指定した場合、autoexecファイルまたは%INCLUDEファイルの内容だけが%ABORTステートメントによりクリアされます。サブミットされた他のソースステートメントは、autoexecファイルまたは%INCLUDEファイルの後に実行されます。

制限事項 CANCEL引数は、SAS/SHARESAS/CONNECTSAS/AFを使用ステートメントいる場合にはサブミットできません。
注意:
%ABORT CANCEL FILEオプションを%INCLUDEファイル内で実行すると、すべてのオープンされているマクロはクローズされ、プログラムの次のソース行が読み込まれた時点で実行が再開されます。

RETURN

現在のマクロおよびSASジョブ(またはSASセッション)を異常終了させます。結果は動作モードや動作環境により異なります。

  • バッチモードおよび非対話モードの場合
    • 処理を即座に停止します。
    • %ABORTマクロステートメントのRETURNオプションにより実行が停止されたことを知らせるエラーメッセージをSASログに送信します。
    • 後続のステートメントや構文チェックは実行しません。
    • エラーを示すコンディションコードと共に、動作環境に制御を戻します。
  • ウィンドウ環境および対話型ラインモードの場合
    • マクロ、ウィンドウ環境、対話型ラインモードによる処理を即座に停止し、動作環境に制御を戻します。

n

ユーザーによるコンディションコードの指定を可能にする整数です。

  • CANCELステートメントと共に使用すると、この値がSYSINFOマクロ変数に格納されます。
  • CANCELステートメントと共に使用しない場合、実行の停止時に、SASシステムはこの値を動作環境に返します。nの値の範囲は、動作環境により異なります。

詳細

引数を指定しない場合、%ABORTマクロステートメントは、動作モードや動作環境に応じて次の結果を生成します。
  • バッチモードおよび非対話モードの場合
    • 現在のマクロとDATAステップの処理を停止し、エラーメッセージをSASログに書き込みます。SASシステムが%ABORTマクロステートメントをいつ検出したかに応じて、データセットに不完全な数のオブザベーションが含まれるか、またはデータセットにオブザベーションが一切含まれないかのいずれかになります。
    • OBS=システムオプションの値を0に設定します。
    • SASジョブの残りの限定的な処理を続行します。これにはマクロステートメントの実行、システムオプションステートメントの実行、プログラムステートメントの構文チェックが含まれます。
  • ウィンドウ環境
    • 現在のマクロとDATAステップの処理を停止します。
    • %ABORTステートメントの検出前に処理されたオブザベーションを含むデータセットを作成します。
    • %ABORTマクロステートメントによりDATAステップが停止されたことを伝えるメッセージをSASログに書き込みます。
  • 対話型ラインモード
    • 現在のマクロとDATAステップの処理を停止します。それ以降のDATAステップやプロシジャは正常に実行されます。

比較

%ABORTマクロステートメントは、SASシステムによる現在のマクロとDATAステップの処理を停止します。それ以降のアクションは、次に示す条件により決定されます。
  • ユーザーがSASステートメントをサブミットするのに使用した方法
  • ユーザーが%ABORTステートメントに指定した引数
  • ユーザーの動作環境
%ABORTマクロステートメントは、通常、エラー状況が発生した場合に処理を停止するよう設計された%IF-%THENマクロステートメントの句として記述されます。
注: ERRORABENDシステムオプションが有効である場合、%ABORTマクロステートメントにより生成されるリターンコードはSASシステムにより無視されます。
注: %ABORTマクロステートメントをDATAステップで実行すると、SASシステムは、同じ名前の既存のデータセットを置き換える場合に、そのDATAステップで作成されたデータセットを使用しません。
前のページ|次のページ|ページの先頭へ