前のページ|次のページ

ABORTステートメント

現在のDATAステップ、SASジョブまたはSASセッションの実行を中止します。

該当要素: DATAステップ
カテゴリ: アクション
種類: 実行可能
参照項目: ABORTステートメントの説明: Windows版SASz/OS版SAS、および UNIX版SAS

構文

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

引数なし

引数を指定しない場合、ABORTステートメントは実行モードに応じて、次のような結果をもたらします。
バッチモードおよび非対話型モード
  • 現在のDATAステップを終了し、SASログにエラーメッセージを書き込みます。ABORTステートメントを実行するタイミングによって、データセットに一部または全部のオブザベーションが含まれない場合があります。
  • OBS=システムオプションを0に設定します。
  • SASジョブの残りの部分に関して、マクロステートメントの実行、システムオプションステートメントの実行、プログラムステートメントの構文チェックなどの限られた処理を続けます。
  • 後続のDATAステップおよびPROCステップには、オブザベーションを含まない出力データセットを作成します。
ウィンドウ環境
  • 現在処理中のDATAステップを終了します。
  • ABORTステートメントの実行前に処理されたオブザベーションを含むデータセットが作成されます。
  • ABORTステートメントによるDATAステップの終了を示すメッセージをログに書き込みます。
  • ABORTステートメントの後続のDATAステップまたはPROCステートメントの処理を続けます。
対話型ラインモード
現在処理中のDATAステップを終了します。後続のDATAステップまたはPROCステートメントは、通常と同様に処理されます。

引数

ABEND

現在実行中のSASジョブまたはSASセッションを異常終了させます。結果は実行モードによって異なります。

  • バッチモードおよび非対話型モード
    • 現在実行中の処理をすぐに終了します。
    • ABORTステートメントのABENDオプションにより実行が終了させられたことを示すエラーメッセージをSASログに送信します。
    • 後続のステートメントや構文チェックを実行しません。
    • 動作環境に制御を戻します。それ以降の動作は、動作環境と各サイトでの異常終了時のジョブの処理方法によって異なります。
  • ウィンドウ環境および対話型ラインモード
    • 現在実行中の処理をすぐに中止し、動作環境にユーザーを戻します。

CANCEL <FILE>

サブミットされたステートメントの実行をキャンセルします。結果は実行モードによって異なります。

  • バッチモードおよび非対話型モード
    • SASプログラム全体およびSAS Systemを終了します。
    • エラーメッセージがSASログに書き込まれます。
  • ウィンドウ環境および対話型ラインモード
    • サブミットされた現在のプログラムのみをクリアします。
    • それ以降にサブミットされたプログラムには影響しません。
    • エラーメッセージがSASログに書き込まれます。
  • Workspace ServerおよびStored Process Server
    • 現在サブミットされているプログラムのみをクリアします。
    • それ以降のサブミットコールには影響しません。
    • エラーメッセージがSASログに書き込まれます。
  • SAS IntrNet Application Server
    • リクエストごとに別々の実行を生成し、対応するリクエストコードをサブミットします。リクエストコード内にCANCEL引数が含まれている場合、現在サブミットされているコードはクリアされますが、実行やSASセッションは終了しません。

FILE

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

制限事項 CANCEL引数は、SAS/SHARESAS/CONNECTSAS/AFを使用する場合にはサブミットできません。
%INCLUDEファイル内でABORT CANCEL FILEオプションを実行すると、開いているマクロがすべて閉じられ、ソースコードの次の行から実行が再開されます。

RETURN

現在実行中のSASジョブまたはセッションをすぐに通常終了します。結果は実行モードによって異なります。

  • バッチモードおよび非対話型モード
    • 現在実行中の処理をすぐに終了します。
    • ABORTステートメントのRETURNオプションによる処理の終了を示すエラーメッセージをログに書き込みます。
    • 後続のステートメントや構文チェックは実行しません。
    • エラーを示す条件コードが表示され、動作環境に制御を戻します。
  • ウィンドウ環境
    • 現在実行中の処理をすぐに中止し、動作環境にユーザーを戻します。

n

条件コードを指定する整数値です。

  • CANCEL引数で使用する場合、この値はSYSINFO自動マクロ変数に置かれます。
  • CANCEL引数で使用しない場合、SASが返すエラーコードはERRORになります。ERRORの値は、ご使用のオペレーティングシステムによって異なります。条件コードnは、SAS Systemの最終終了コードとしてオペレーティングシステムに返されます。

NOLIST

すべての変数をSASログへ出力しないようにします。

要件 NOLISTはABORTステートメントの最後のオプションとして指定する必要があります。

詳細

ABORTステートメントは、現在のDATAステップの処理を終了させます。後続の処理は、次によって異なります。
  • SASステートメントをサブミットするために使用した方法
  • ABORTステートメントで使用した引数
  • 使用中の動作環境
通常、ABORTステートメントはIF-THENステートメントやSELECTステートメントの句の中で使用され、エラー条件が発生した場合に処理を終了させます。
注: システムオプションERRORABENDが適用されている場合、SASではABORTステートメントで生成されるリターンコードは無視されます。
注: DATAステップでABORTステートメントを実行する場合、このステップで作成されたDATAステップで同じ名前の既存のデータセットが置き換えられることはありません。
動作環境の情報: ABENDオプションとRETURNオプションには1つだけ違いがあります。ABENDオプションを使用した場合、それ以降の処理は、お使いの動作環境と各サイトでの異常終了ジョブの処理方法によって異なります。RETURNオプションを使用した場合、エラーを示す条件コードが返されます。

比較

  • SASウィンドウ環境または対話型ラインモードを使用する場合、ABORTステートメントとSTOPステートメントの両方とも処理を中止します。ABORTステートメントは自動変数_ERROR_を1に設定しますが、STOPステートメントは設定しません。
  • バッチモードまたは非対話型モードでは、ABORTステートメントとSTOPステートメントの動作が異なります。どちらのステートメントも処理を中止しますが、ABORTステートメントのみ自動変数_ERROR_を1に設定します。STOPステートメントを使用すると、現在実行中のDATAステップのみを中止し、次のステップから処理を続けます。

例: SASの実行中止

この例では、IF-THENステートメント内でABORTステートメントを使用し、ゼロ除算の条件が発生するデータ値が検出された場合にSASの処理を中止します。
if volume=0 then abort 255;
   density=mass/volume;
ABORTステートメントの実行時、n値に指定された条件コード255が動作環境に返されます。

関連項目:

ステートメント:
前のページ|次のページ|ページの先頭へ