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