バージョン 6.3.3
 —  ステートメント  —

DEFINE WORK FILE

DEFINE WORK FILE n [operand1] [TYPE operand2] [ATTRIBUTES {operand3}...]

注意:
角カッコ [...] で示されている要素はオプションですが、このステートメントではこれらのオプションの少なくとも 1 つを指定する必要があります。

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連ステートメント:CLOSE WORK FILE | READ WORK FILE | WRITE WORK FILE

関連機能グループ:「ワークファイル/PC ファイルの制御


機能

DEFINE WORK FILE ステートメントは、Natural アプリケーション内で Natural ワークファイル番号にファイル名を割り当てるために使用します。

このステートメントを使用することで、Natural セッション内でワークファイルの割り当てをダイナミックに行ったり、変更することができます。また、別のレベルで作成したワークファイルの割り当てを上書きすることもできます。

このステートメントを実行したときに、指定したワークファイルがすでに開かれていると、ワークファイルはこのステートメントによって暗黙的に閉じられます。

注意:
Unicode およびコードページのサポートについては、『Unicode およびコードページのサポート』ドキュメントの「Windows、UNIX、および OpenVMS プラットフォーム上のワークファイルと出力ファイル」を参照してください。

Top of page

構文説明

オペランド定義テーブル:

オペランド 構文要素 フォーマット オペランド参照 ダイナミック定義
operand1 C S       A U                     不可
operand2 C S       A U                     不可
operand3 C S       A U                     不可

注意:
フォーマット U オペランドを Unicode(UTF-16)で指定すると、このオペランドは評価の前にセッションコードページ文字に変換されます。

構文要素の説明:

DEFINE WORK FILE n
ワークファイル番号:

n は、ワークファイル番号です(1~32)。 これは、WRITE WORK FILEREAD WORK FILE、または CLOSE WORK FILE ステートメントのいずれかで使用される番号です。

operand1
ワークファイル名:

operand1 は、ワークファイルの名前です。

ファイル名(operand1)には、環境変数を含めることもできます。 物理ワークファイル名を使用することも可能です。 指定した名前のファイルが存在しない場合は、新規のファイルが作成されます。

operand1 を指定しない場合は、コンフィグレーションユーティリティで対応するワークファイル番号のパラメータファイルに保存されたワークファイル名によって、operand1 の値が決定されます。

注意:
operand1 が指定されていない場合、Natural for Mainframes と Natural for Windows/UNIX/OpenVMS の動作は異なります。

TYPE operand2
TYPE 節:

operand2 はワークファイルのタイプを指定します。

operand2 の値では、大文字と小文字が区別されません。値は引用符で囲むか、英数字の変数で指定する必要があります。

DEFAULT

拡張子からファイルタイプを特定します。

フォーマット:ワークファイルタイプによって異なります。

注意:
ファイルタイプ TRANSFER は、ワークファイルタイプ DEFAULT によって特定することができません。 使用するファイルタイプとして、TRANSFER を明示的に定義する必要があります。

TRANSFER

Entire Connection と PC の間で両方向のデータ転送を行うために使用します。

このワークファイルタイプは、UNIX または OpenVMS 上の Natural セッションと PC 上の Entire Connection 末端の間のデータ接続を示します。

フォーマット:ENTIRE CONNECTION

注意:

  1. このワークファイルは、ATTRIBUTES 節と一緒に使用することはできません。
  2. このワークファイルタイプは、Windows 環境では利用できません。
SAG フォーマット:バイナリ
ASCII

ASCII フォーマットのファイルは、[キャリッジリターン] 改行で終了するレコードを含む "テキスト" ファイルです。

フォーマット:ASCII

ASCII-COMPRESSED

ASCII フォーマットのファイルですが、通常の ASCII フォーマットとは異なり、末尾にある空白はすべて削除されます。

フォーマット:ASCII

ENTIRECONNECTION

このワークファイルタイプでは、ローカルディスクにある Entire Connection フォーマットのワークファイルに対して直接読み取りおよび書き込みを行うことができます(例えば、ステートメント READWRITE を使用)。

フォーマット:ENTIRE CONNECTION

注意:
このワークファイルタイプは、PC、UNIX、および OpenVMS 上で利用できます。 PC へは転送できません。 Entire Connection 末端はこの処理では使用されません。

UNFORMATTED

フォーマットがまったく行われていないファイル。 フォーマット情報が書き込まれていません(フィールドまたはレコードのいずれにも)。

フォーマット:UNFORMATTED

PORTABLE

正確にダイナミック変数を操作できるファイルで転送することも可能です(例:リトルエンディアンマシンとビッグエンディアンマシンの間)。

フォーマット:PORTABLE

CSV

コンマ区切りの値。 各レコードは、ファイル内の 1 つの行に書き込まれます。 デフォルトでは、ヘッダーは書き込まれません。 データフィールドを区切るために使用されるデフォルト文字はセミコロン(";")です。

詳細については、『コンフィグレーションユーティリティ』の「ワークファイル設定」を参照してください。

ATTRIBUTES {operand3}...
ATTRIBUTES 節:

operand3 では、ワークファイル属性を指定します。

複数の属性を、次の例のようにコンマまたは空白で区切って指定できます。

DEFINE WORK FILE ATTRIBUTES 'APPEND,KEEP'

同じ属性タイプの値を複数指定した場合は、次の例のように最後の値が使用されます。

DEFINE WORK FILE ATTRIBUTES 'APPEND,NOAPPEND'

この例では、NOAPPEND が使用されます。

BOM/NOBOM の使用例:

...
DEFINE WORK FILE 11 'x.tmp' ATTRIBUTES 'BOM'
*
* write work file with BOM
*
DEFINE WORK FILE 11 'x.tmp' ATTRIBUTES 'NOBOM'
*
* write work file without BOM
...

注意:
operand3 を省略した場合は、パラメータファイル(コンフィグレーションユーティリティで作成された)で定義されている対応する値が暗黙的に使用されます。

次の表に、属性タイプの概要および設定可能な値を示します。

追加モードの有効/無効:
APPEND 追加モードを有効にします。 このモードでは、新規レコードはファイルの末尾に追加されます。
NOAPPEND 追加モードを無効にします。 ファイルは先頭から再書き込みされます。 これはデフォルト値です。
書き込み BOM モードの有効/無効:
BOM 書き込み BOM(バイトオーダマーク)モードを有効にします。 ワークファイルデータの直前に BOM が書き込まれます。
NOBOM 書き込み BOM モードを無効にします。 BOM は書き込まれません。 これはデフォルト値です。
ワークファイルを閉じた後のファイルの保持/削除:
DELETE ワークファイルを閉じる操作が完了すると、ワークファイルは削除されます。
KEEP ワークファイルを閉じる操作が完了した後も、ワークファイルは保持されます。 これはデフォルト値です。

ワークファイルの詳細については、「ワークファイルフォーマット」を参照してください。

Top of page