CLOSE DATASET命令の使い方を1分で解説します。書き方は簡単で以下のようにコーディングするだけ。
DELETE DATASET (ファイル名).
構文や処理内容自体は非常に簡単なので、このページではDELETE DATASET命令のサンプルコードや使いどころを中心に解説します。
ABAPerであれば、知っておいて損はない基本知識の1つです。是非最後までご覧ください。
DELETE DATASET命令
DELETE DATASET (ファイル名).
DELETE DATASET命令は、指定したファイルを削除する命令です。
サーバー上に存在するファイルのみが削除できます。
ユーザのローカルに存在するようなファイルを削除するような処理ではありませんので注意が必要です。
file = '/usr/sap/sample.txt'. DELETE DATASET file.
ファイルは開いていても閉じていても削除可能
CLOSE DATASET命令やREAD DATASET命令の場合、ファイル操作を行う場合には必ずOPEN DATASET命令を用いてファイルを開いておく必要がありましたが、DELETE DATASET命令の場合はその必要がありません。
今開いているファイルでも、閉じられているファイルでも削除することが可能です。
file1 = '/usr/sap/sample1.txt'. DELETE DATASET file1. WRITE SY-SUBRC. ⇒ 0
file2 = '/usr/sap/sample2.txt'. * ファイルオープン「sample2.txt」 OPEN DATASET file. DELETE DATASET file1. WRITE SY-SUBRC. ⇒ 0
OPEN DATASET命令は、サーバー上のファイルを開く(オープンする / 掴む)命令です。
ABAPでファイルにレコードを書き込んだり読み取りを行う場合は、必ず最初にファイルオープンが必要です。
OPEN DATASET (ファイル) FOR (アクセスタイプ) IN (格納タイプ).
OPEN DATASET FILE_PATH FOR INPUT IN TEXT MODE .
詳しい構文ルールや使い方は下記のページで解説しております。
リターンコード(SY-SUBRC)
DELETE DATASET命令で返されるSY-SUBRCの値は0か4のどちらかです。
例えば、指定したファイルが存在しない、ファイルを削除する権限が存在しない、などの場合にSY-SUBRCが4となります。
DELETE DATASET命令の難点の1つですが、仮にファイル削除に失敗したとしてもその理由を知るすべがないという点に注意しましょう。
SY-SUBRCが4で返ってきたとしても、ファイルがなかったから削除できなかったのか?それとも、それ以外の理由で削除できなかったのか?という点をDELETE DATASET命令単独では知る術がありません。
そのため、ファイルの削除等は外部コマンドの仕組みを活用する方が件名な場合がありますので、よく検討するようにしましょう。
外部コマンドとは、その名の通りSAP上からOSコマンド(LinuxやAIXなど)やバッチやシェルを動かすときに利用する機能です。
サーバー上に配置されているファイル名称を取得したい!(Linuxのlsコマンド)場合や、ABAPからFTP連携できる仕組みを実現したい!といった場合に外部コマンドが活躍します。
SAP / ABAPを1から学習したい方は
初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!