ファイル削除 (DLTF)
| 実行可能場所: すべての環境 (*ALL) スレッド・セーフ: 条件付き |
パラメーター 例 エラー・メッセージ |
ファイル削除(DLTF)コマンドは,システムから1つ以上のファイルを削除します。
データベース(物理または論理ファイル)が削除される場合には,ファイルに入っているすべてのメンバーも削除されます。物理ファイルを削除できるのは,論理ファイルがそれに対応していない場合だけです。システム間通信機能(ICF)ファイルが削除される場合には,そのファイルに含まれるすべてのプログラム装置項目も削除されます。削除中のファイルがプログラムによって使用されている(ファイルがオープンされている)場合には,そのファイルは削除されません。
総称名による削除操作は,削除に適格でその総称名をもつすべてのファイルを削除します。削除できないファイルについては,診断メッセージが送信されます。次の理由により,ファイルが削除に不適格となる場合があります。
- 論理ファイルは,その基礎となっている物理ファイルを削除する前に削除しなければなりません。
- SQLビューは,それらの基礎となっている物理ファイル,SQLテーブル,またはSQLビューを削除する前に削除しなければなりません。
制約事項:
- ファイルのオブジェクト存在(*OBJEXIST)およびオブジェクト操作(*OBJOPR)権限が必要です。また,ファイルが入っているライブラリーに対する実行(*EXECUTE)権限も必要です。
- 物理ファイルを削除する場合で,論理ファイルがその物理ファイル中のデータを使用している場合には,最初に論理ファイルを削除しなければなりません。
- SQL具体化照会テーブルの選択リストに物理ファイルまたはSQLビューが参照されている場合には,DLTFは許可されません。最初に具体化照会テーブルが削除されなければなりません。
- デバッグ中にDLTFコマンドを入力する場合に,デバッグ開始(STRDBG)コマンドまたはデバッグ変更(CHGDBG)コマンドにUPDPROD(*NO)が指定されている場合には,データを含んでいてプロダクション・ライブラリーの中にある物理ファイルは削除することはできません。
- このコマンドは条件付きのスレッド・セーフです。マルチスレッド・ジョブではこのコマンドは分散ファイルに対してスレッド・セーフではなく,タイプ*SNAのリレーショナル・データベースを使用する分散ファイルに対して正常に実行されません。またこのコマンドは,タイプ*SNAの分散データ管理機能(DDM)ファイルにスレッド・セーフでもなく,SYSTEM(*RMT)またはSYSTEM(*FILETYPE)を指定すると正常に実行されません。
| 上 |
パラメーター
| キーワード | 記述 | 選択項目 | ノーツ |
|---|---|---|---|
| FILE | ファイル | 修飾オブジェクト名 | 必須, 定位置 1 |
| 修飾子 1: ファイル | 総称名, 名前 | ||
| 修飾子 2: ライブラリー | 名前, *LIBL, *CURLIB, *USRLIBL, *ALL, *ALLUSR | ||
| SYSTEM | システム | *LCL, *RMT, *FILETYPE | オプショナル |
| RMVCST | 制約の除去 | *RESTRICT, *REMOVE, *KEEP | オプショナル |
| 上 |
ファイル (FILE)
これは必須パラメーターです。
削除する1つ以上のファイルを指定します。特定のファイル名または総称ファイル名を指定することができます。
参照制約の親または従属ファイルとして定義済みまたは確立済みのファイルが削除される可能性があります。削除されるファイルが従属ファイルの場合には,次の項目も除去されます。
- 従属ファイルについてのすべての制約関係
- 従属ファイルのすべての外部キーのアクセス・パスおよび外部キー
削除されるファイルが親ファイルの場合には,除去される制約関係を指定するために制約の除去 (RMVCST)パラメーターが使用されます。
修飾子1: ファイル
- 総称名
- 削除するファイルの総称名を指定します。総称名は,1つ以上の文字とその後にアスタリスク(*)が続く文字ストリングで指定できます。
- 名前
- 削除するファイルの名前を指定してください。
修飾子2: ライブラリー
- *LIBL
- 最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
- *CURLIB
- ジョブの現行ライブラリーが検索されます。ライブラリー・リストに現行ライブラリーが存在しない場合には,ライブラリーQGPLが検索されます。
- *USRLIBL
- 現行ライブラリー項目が現行スレッドのライブラリー・リストに存在する場合には,現行ライブラリーおよびライブラリー・リストのユーザー部分にあるライブラリーが検索されます。現行ライブラリー項目がない場合には,ライブラリー・リストのユーザー部分にあるライブラリーが検索されます。
- *ALL
- システムにあるすべてのライブラリー(QSYSを含む)が検索されます。オブジェクト名が指定されている(総称名ではなく)場合には,その名前で見つかった最初のオブジェクトが削除されます。
- *ALLUSR
- すべてのユーザー・ライブラリーが検索されます。次のものを除き,英字Qで始まらない名前のすべてのライブラリーが検索されます。
#CGULIB #DSULIB #SEULIB #COBLIB #RPGLIB #DFULIB #SDALIB
次のQXXXライブラリーは弊社提供のものですが,一般的に,これらにはよく変更されるユーザー・データが入ります。したがって,これらのライブラリーは「ユーザー・ライブラリー」と見なされ,検索されます。
QDSNX QRCLXXXXX QUSRDIRDB QUSRVI QGPL QSRVAGT QUSRIJS QUSRVXRXMX QGPL38 QSYS2 QUSRINFSKR QMGTC QSYS2XXXXX QUSRNOTES QMGTC2 QS36F QUSROND QMPGDATA QUSER38 QUSRPOSGS QMQMDATA QUSRADSM QUSRPOSSA QMQMPROC QUSRBRM QUSRPYMSVR QPFRDATA QUSRDIRCF QUSRRDARS QRCL QUSRDIRCL QUSRSYS
- 'XXXXX'は1次補助記憶域プール(ASP)の番号です。
- 前のリリースのCLプログラム内でコンパイルされるユーザー・コマンドを入れるために,弊社がサポートする前の各リリース用にQUSRVXRXMXの形式の別のライブラリー名を作成することができます。QUSRVXRXMXユーザー・ライブラリーのVXRXMXは弊社が引き続きサポートしている前のリリースのバージョン,リリース,およびモディフィケーション・レベルです。
| 上 |
システム (SYSTEM)
ファイルをローカル・システムから削除するかあるいはリモート・システムから削除するか,そのいずれかを指定します。
- *LCL
- ファイルはローカル・システムから削除されます。
- *RMT
- ファイルはリモート・システムから削除されます。ファイル (FILE)パラメーターにDDMファイルを指定しなければなりません。DDMファイルは,削除されるファイルを識別し,リモート・システムも識別します。
- *FILETYPE
- FILEパラメーターにDDMファイルが指定されていない場合には,ローカル・システムからファイルが削除されます。FILEパラメーターにDDMファイルが指定されている場合には,リモート・システムからDDMファイルのリモート・ファイルIDが削除されます。
| 上 |
制約の除去 (RMVCST)
参照制約の親ファイルを削除する時に,従属ファイルの関連セット中で除去される制約関係の数を指定します。
- *RESTRICT
- 制約関係が親ファイルと従属ファイルの間で定義済みまたは確立済みの場合には,親ファイルは削除されず,制約関係は除去されません。従属ファイルの外部キーのアクセス・パスも外部キーも除去されません。
- *REMOVE
- 親ファイルと従属ファイルの間の制約関係は除去されます。従属ファイルの対応する外部キーのアクセス・パス(存在し,共用されていない場合)および外部キーは除去されます。
- *KEEP
- 制約関係はもう確立されていませんが,制約定義は除去されません。従属ファイルの外部キーのアクセス・パスも外部キーも除去されません。
| 上 |
例
例1: 特定のファイルの削除
DLTF FILE(BILLING/ORDERS)
このコマンドは,ライブラリーBILLINGのORDERSという名前のファイルを削除します。このファイルは,BILLINGライブラリーで検索されるだけです。
例2: 参照制約の親ファイルの削除
DLTF FILE(BILLING/QUERIES) RMVCST(*KEEP)
このコマンドは,ライブラリーBILLINGのQUERIESという名前のファイルを削除します。QUERIESファイルは参照制約の親ファイルであるために,設定された参照制約は除去されますが,制約の定義は除去されません。
| 上 |
エラー・メッセージ
*ESCAPE メッセージ
- CPF0601
- &2のファイル&1に対する操作は許可されていない。
- CPF0605
- &2の装置ファイル&1は,記憶域を解放して保管された。
- CPF0607
- ファイルが別のジョブによって削除された。
- CPF0610
- &2のファイル&1が使用可能でない。
- CPF0675
- &2の装置ファイル&1が使用中である。
- CPF2105
- &2に,タイプ*&3のオブジェクト&1が見つからない。
- CPF2110
- ライブラリー&1が見つかりません。
- CPF2114
- &2のオブジェクト&1タイプ*&3を割り振ることができない。
- CPF2117
- タイプ*&3の&4個のオブジェクトが削除され,&5個のオブジェクトが削除されなかった。
- CPF2125
- オブジェクトは削除されなかった。
- CPF2182
- ライブラリー&1は認可されていない。
- CPF2189
- &2のオブジェクト&1タイプ*&3に対する権限がありません。
- CPF2190
- リモート削除または名前変更要求を行うことはできない。
- CPF320B
- データベース・ファイル&1に対して操作が正しくない。
- CPF3202
- ライブラリー&2のファイル&1は使用中である。
- CPF3203
- &2のファイル&1のオブジェクトを割り振ることができない。
- CPF3219
- &2のファイル&1のファイルまたはメンバーを削除することができない。
- CPF3220
- &2のファイル&1に対して操作を実行することはできない。
- CPF323C
- QRECOVERYライブラリーを割り振ることができなかった。
- CPF324B
- ファイル&1にディクショナリーを割り振ることができない。
- CPF3252
- マシン・ロックの最大数を超えた。
- CPF326A
- ライブラリー&2のファイル&1の操作が正常に行われていない。
- CPF327F
- ライブラリー&2のファイル&1の操作が正常に行われていない。
- CPF3273
- ファイルまたはメンバーは,作成,削除または変更されなかった。
| 上 |