PREFIX キーワードは、外部記述ファイル中のフィールドの名前を部分的に変更する
ために使用されます。最初のパラメーターで指定される文字が、
外部記述ファイルのすべてのレコード内に定義されたすべてのフィールドの名前に
接頭部として付加されます。文字は、名前 (例えば PREFIX(F1_))、または文字リテラル (例えば PREFIX('F1_')) として指定できます。
接頭部にピリオドが含まれる場合 (例えば PREFIX('F1DS.') または PREFIX('F1DS.A')) には、文字リテラルを使用する必要があります。
それぞれの名前の先頭から文字を削除するには、
最初のパラメーターとして空のストリングを PREFIX('':削除する数) のように指
定します。さらに、既存の名前の中で置き換えられる文字 (それがあった場合) の数を指示する
数値をオプションで指定することができます。 「置き換えられる文字数」を指定しない場合には、名前の先頭にストリングが付加さ
れます。 
「置き換えられる文字数」を指定する場合には、0 から 9 の値を含み、小数点以下の桁数 のない数値定数としなければなりません。 たとえば、PREFIX(YE:3) の指定によって、フィールド名 'YTDTOTAL' が 'YETOTAL' に変更されます。ゼロの値の指定は、「置き換えられる文字数」をまったく指定しないことと同じです。
別名に接頭部を適用する場合、「置き換えられる文字数」のパラメーターは使用されません。 PREFIX キーワードと ALIAS キーワードの相互の影響については、ALIAS キーワードを参照してください。
接頭部を適用した後の名前の合計長が RPG フィールド名の最大長を超えては
なりません。ファイルが LIKEFILE キーワードも QUALIFIED キーワードも指定せずに定義された
グローバル・ファイルである場合、名前全体の長さは、
入力仕様および出力仕様の「名前」記入項目の長さである 14 文字を超えてはなりません。 
| ファイルの PREFIX | 外部記述データ構造の PREFIX | 内部名 |
|---|---|---|
| PREFIX(A) | PREFIX(A) | AXYNAME |
| PREFIX(A:2) | PREFIX(A:2) | ANAME |
| PREFIX('D.') | なし | D.XYNAME |
| PREFIX('D.' : 2) | PREFIX('' : 2) | D.NAME |
| PREFIX('D.A') | PREFIX(A) | D.AXYNAME |
| PREFIX('D.A' : 2) | PREFIX(A : 2) | D.ANAME |
| PREFIX('':2) | PREFIX('' : 2) | NAME |
例:
Fnewfile o e disk prefix(NEW_)
Foldfile if e disk prefix(OLD_)
C READ OLDREC
C EVAL NEWIDNO = OLD_IDNO
C EVAL NEWABAL = OLD_ABAL
C WRITE NEWREC
Ffile1 if e disk prefix(N:2)
D ds1 e ds extname(file1) prefix(N:2)
C READ file1
C CALLP processRec (ds1)
Fmyfile if e disk prefix('MYDS.')
D myds e ds qualified extname(myfile)
A R REC
A ACRFLD1 10A
A ACRFLD2 5S 0
Fmyfile2 if e disk prefix('MYDS2.F2':3)
D myds2 e ds qualified extname(myfile)
D prefix('F2':3)