%FIELDS (更新するフィールド)
%FIELDS(name{:name...})
フィールドのリストは、自由形式グループでコーディングされる入出力操作 UPDATE に対する最後の引数として指定することができます。指定されたフィールドのみが更新され、入出力バッファーに入れられます。
注:
- それぞれの名前は、そのレコードの入力バッファー内のフィールド名になっている必要があります。フィールドの名前が変更された場合、 内部名が使用されます。
- この名前は、更新対象のレコードのファイル名または形式名を EXTNAME/LIKEREC キーワードに指定して定義されているデータ構造のサブフィールドになります。 使用されたキーワードと一緒に *INPUT を指定する必要があり、*NULL を指定してはなりません。 指定する名前には、入力フィールドに対応するサブフィールド名が含まれていなければなりません。 修飾データ構造の場合には、サブフィールドの簡易修飾名を使用します。
- この名前は、前述のように定義されたデータ構造の LIKEDS キーワードを使用して定義されるデータ構造のサブフィールドになります。
%FIELDS は更新するフィールドのリストを指定します。 たとえば、次のようになります。
図 1. フィールドの更新
/free
chain empno record;
salary = salary + 2000;
status = STATEXEMPT;
update record %fields(salary:status);
/end-free