REF (参照) キーワードまたは REFFLD (参照フィールド) キーワード、あるいはその両方を指定する必要があるかどうかを判別する際に、考慮すべき問題点がいくつかあります。 また、REF キーワードまたは REFFLD キーワードのパラメーター値の指定方法についても、説明します。
前に定義した他のフィールドを参照するフィールドについては、29 桁目に R を 指定しなければなりません。
どのキーワードを使用するかは、次の質問により決めてください。
参照されているフィールドのすべてまたはほとんどが、ファイル・レベル で REF と定義されている場合。
または
REFFLD キーワードに指定したデータベース・ファイル名により、REF キーワードに指定されているデータベース・ファイル名が一時変更されます。
REFFLD キーワードで *SRC またはデータベース・ファイル名を 指定しなかった場合には、REF キーワードが 指定されていない場合のデフォルト値として、*SRC がとられます。 REF キーワードが指定されている場合には、デフォルト値は、REF キーワードに指定したデータベース・ファイル名となります。
定義中のファイルを作成するためのジョブ (通常は対話式ジョブ) にライブラリー・リストがあり、指定するデータベース・ファイルがそのライブラリー・リスト上 にある場合は、ファイル名 (FILE1) のみ入力します。そうでない場合には、ライブラリー名で修飾したファイル名 (LIB1/FILE1) を 指定します。
参照されるファイルにレコード様式が 1 つしかない場合には、レコード様式名を 指定する必要はありません。
レコード様式が複数ある場合は、レコード様式名を指定してください。
次の例は、参照機能の指定を示しています。これは、ICF ファイルの例としては正しいものですが、その 他のファイルの例としては無効な点もあります。表示装置ファイルおよび印刷装置ファイルの場合には、各フィールド に位置が指定されていなければなりません。物理ファイルの場合には、レコード様式は 1 つでなければなりません。REF キーワードおよび REFFLD キーワードは、論理ファイルでは使用できません。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A REF(FILE1) (1)
00020A R RECORD1
00030A FIELD1 R (1)
00040A FIELD2 R (1)
00050A FIELD3 R REFFLD(FLD3) (2)
00060A FIELD4 R REFFLD(FLD4 FILE2) (3)
00070A FIELD5 R REFFLD(FLD5 LIB1/FILE3) (4)
00080A FIELD6 R REFFLD(RECORDB/FLD6 LIB1/FILE4) (5)
00090A FIELD7 R REFFLD(FIELD6 *SRC) (6)
00100A FIELD8 R REFFLD(FLD6) (7)
00110A R RECORD2
00120A FIELD1 20 (8)
00130A
00140A R RECORD3
00150A FIELD1 R REFFLD(RECORD2/FIELD1 *SRC) (9)
00160A
00170A R RECORD4
00180A FIELD1 R REFFLD(FIELD1 *SRC) (10)
A