CLOSE DATASET命令の使い方を1分で解説します。
CLOSE DATASET (ファイル名).
構文は非常に簡単ですが、前提となるOPEN DATASET命令などの知識も必要となる命令です。
処理の内容的には非常に簡単ですが、いくつか注意点もありますので、このページで一歩深い知識まで頭に入れておくようにしましょう。
ABAPerであれば知らないと恥ずかしい基本知識です。是非最後までご覧ください。
前提:OPEN DATASET命令
前提となる内容ですが、サーバー上に存在するファイルを読み込んだり書き込んだりするためには、あらかじめOPEN DATASET命令を用いてファイルを開いておく必要があります。
OPEN DATASET命令は、サーバー上のファイル操作を行う命令です。
OPEN DATASET (ファイル) FOR (アクセスタイプ) IN (格納タイプ).
OPEN DATASET FILE_PATH FOR INPUT IN TEXT MODE .
詳しい構文ルールや使い方は下記のページで解説しております。
今回解説するCLOSE DATASET命令は、OPEN DATASET命令でオープンしたファイルを閉じる処理を行います。したがって、基本的にはOPEN DATASET命令とセットで用いる必要があるという点に注意しましょう。
ここから、CLOSE DATASET命令の解説です。
CLOSE DATASET命令
CLOSE DATASET (ファイル名).
CLOSE DATASET命令は、開かれているサーバ上のファイルを閉じます。
尚、ファイルが既に閉じられている場合やファイルが存在しない場合、本命令は無視されます。その際、SY-SUBRCの値は「0」がリターンされます。
サーバ上のファイルオープンから、ファイルの読み込み、ファイルクローズまでの一連のサンプルコードがこちらです。
file = '/usr/sap/sample.txt'. * ファイルオープン「sample.txt」 OPEN DATASET file. * ファイルの内容を内部テーブルに格納 WHILE SY-SUBRC = 0. READ DATASET file INTO LS_file LENGTH LEN. " 読み込んだレコードが0件の場合は処理を抜ける IF LEN = 0. EXIT. ENDIF. IF SY-SUBRC = 0. APPEND LS_FILE TO LT_FILE. CLEAR LS_FILE. ELSE. EXIT. ENDIF. ENDDO. * ファイルを閉じる CLOSE DATASET file. IF SY-SUBRC <> 0. ASSERT 1 = 2. ENDIF.
ちなみに、CLOSE DATASET命令を用いてファイルを閉じなくても、プログラム終了時にファイルは自動的に閉じられます。
したがって、サンプルコード最後の4行を記述しなくてもエラーが発生する確率は高くありません。が、ABAPのお作法の1つとしてCLOSE DATASET命令は必ず明示するようにしましょう。
READ DATASET (ファイル名) INTO (変数).
READ DATASET命令は、(ファイル名)に指定したファイルからレコードを1行読み込み、(変数)にその内容を代入します。
詳細を以下の記事で解説しておりますので、合わせて学習しておきましょう。
SAP / ABAPを1から学習したい方は
初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!