3.18.2 ファイル操作ユティリティのサポートするファイル
(1) ファイル編成
ファイル操作ユティリティでは,次の表に示すファイル編成をサポートする。
ファイル編成 |
説明 |
サポートの有無 |
|
---|---|---|---|
入力ファイル |
出力ファイル |
||
固定長順編成ファイル |
COBOL2002で作成したファイル,またはほかのアプリケーションで作成したファイルサイズが,レコード長の整数倍の長さを持つバイナリファイル |
○ |
○ |
可変長順編成ファイル |
COBOL2002で作成したファイル |
○ |
○ |
固定長相対編成ファイル |
COBOL2002で作成したファイル |
− |
− |
可変長相対編成ファイル |
COBOL2002で作成したファイル |
− |
− |
固定長索引順編成ファイル |
|
○※1 |
○※1 |
可変長索引順編成ファイル |
|
○※1 |
○※1 |
テキスト編成ファイル |
テキストファイルの各行(テキストレコード)は,改行文字(X'0A')で区切られている次のファイル
|
○※2 |
○※2 |
CSV編成ファイル |
|
− |
− |
- (凡例)
-
○:サポートする。
−:サポートしない。
注※1 bjexu_ismutおよびbjexu_ismut64でサポートする。
注※2 bjexu_scopyおよびbjexu_pcopyでサポートする。
(2) ラージファイル対応
ファイル操作ユティリティでサポートするファイルのうち,ISAMで作成する索引順編成ファイルは,ラージファイル(ファイルサイズが2GB以上のファイル)をサポートしない。その他のラージファイル(ファイルサイズが2GB超えのファイル)への対応については,「1.3.3 2GB超えのファイル(ラージファイル)の扱い」を参照のこと。
(3) ディレクトリやファイル名指定時の注意事項
(a) ハードリンクとシンボリックリンクについて
ファイル名として,ハードリンクとシンボリックリンクを使用できる。また,ディレクトリにはシンボリックリンクを使用できる。
ただし,ファイル名やディレクトリ名の重複チェックは,ジョブ定義XMLファイルや制御文に指定された内容で行うため,ハードリンクやシンボリックリンクが指定されていると,ファイル名の実体が同一かどうかのチェックが行えないことがある。
たとえば,入力ファイルがシンボリックファイル,出力ファイルが相対パス名または絶対パス名の場合,入出力ファイルの重複チェックはできない。
(b) 入力ファイルと出力ファイルの指定について
ファイル名には,パス名の区切りを示す文字(/:スラント)を指定できない。また,入力と出力に指定したファイルが同一の実体にならないようにすること。入力と出力のファイルが同一の実体になっていた場合,ファイルの内容が初期化されることがある。
(4) ファイルのパーミッション
(a) ジョブ定義XMLファイルで指定
ファイル操作ユティリティで使用するファイルは,ジョブ定義XMLファイルのDD要素で指定する。出力ファイルを新規に作成する場合,ファイルに設定するパーミッションは,ジョブ定義XMLファイルのDD要素でファイルを新規に作成する場合の仕様に従う。バッチジョブ実行システムでは,ファイルを新規に作成時,DD要素のFPERM属性でファイルのパーミッションを指定できる。また,指定しない場合は,PERMISSION要素の属性に従う。
次にDD要素のFPERM属性で指定する例を示す。
(b) ファイル操作ユティリティで新規に作成するファイル
ジョブ定義XMLファイルでの指定がなく,制御文で指定したファイルを新規に作成する場合,次のようにパーミッションを設定する。
-
コピー元ファイルがある場合
コピー元ファイルのパーミッション情報(所有者,グループ,その他に対するアクセス権限)にファイル操作ユティリティを実行しているプロセスのumaskでマスクしたパーミッションを設定する。
その他のスティッキービット,set-user-IDビット,set-group-IDビットの情報は引き継がない。また,ファイルのタイムスタンプも引き継がない。
-
コピー元ファイルがない場合
"0666"にファイル操作ユティリティを実行しているプロセスのumaskでマスクしたパーミッションを設定する。
次に制御文で指定したファイルを新規作成する例を示す。
SELECT文で指定したファイル(AAAなど)がコピー先に新しく作成される場合,所有者のパーミッションが設定される。
所有者のパーミッションは,コピー元のファイルに設定されているパーミッションにumaskでマスクしたパーミッションを設定する。
(c) 既存ファイルの更新
既存ファイルを更新するためのパーミッションの設定は,システムの標準仕様に従う。既存ファイルを更新するには,ファイルを更新できるアクセス権限が必要である。
(5) PRESTファイル
bjexu_scopyおよびbjexu_ismutで順編成ファイル(固定長順編成ファイルと可変長順編成ファイル)の入出力をするとき,PRESTファイルを使用できる。PRESTファイルを使用することで,逐次実行していたジョブおよびジョブステップを並列に実行することが可能となり,処理時間を短縮できる。