REWRITE ステートメントは、すでにサブファイル内に存在するサブファイル・レコードを置き換える場合に使用されます。
REWRITE ステートメント - 形式 2 - トランザクション (サブファイル) >>-REWRITE SUBFILE--レコード名-1--+------------+---------------------> '-FROM--ID-1-' >--+----------------------------+-------------------------------> '-FORMAT--+----+--+-ID-2---+-' '-IS-' '-リテラル-1-' >--+------------------------------+-----------------------------> '-TERMINAL--+----+--+-ID-3---+-' '-IS-' '-リテラル-2-' >--+-------------------------------+----------------------------> '-+-INDICATOR--+--+-----+--ID-4-' +-INDICATORS-+ +-IS--+ '-INDIC------' '-ARE-' >--+-------------------------------+----------------------------> '-INVALID--+-----+--命令ステートメント-1-' '-KEY-' >--+-----------------------------------+--+-------------+------>< '-NOT INVALID--+-----+--命令ステートメント-2-' '-END-REWRITE-' '-KEY-'
リテラル-2 または ID-3 は、有効なプログラム装置名でなければなりません。 リテラル-2 を指定する場合には、10 文字以下の非数字にしなければなりません。 ID-3 を指定する場合は、10 文字以下の英数字データ項目を参照しなければなりません。
複数のプログラム装置を獲得しているトランザクション・ファイルから TERMINAL 句が省略された場合、使用されるサブファイルは、 そのトランザクション・ファイルの READ が試みられた最後のプログラム装置に関連付けられているサブファイルです。
REWRITE ステートメントを通信装置に対して使用することはできません。 REWRITE ステートメントを通信装置に対して使用すると、操作が失敗し、ファイル状況が 90 に設定されます。
INDICATORS 句について詳しくは、「IBM Rational Development Studio for i: ILE COBOL プログラマーの手引き」の『トランザクション・ファイルでの標識の使用』を参照してください。
ID-4 は、OCCURS 文節なしで指定された基本ブール・データ項目か、または基本データ・ブールの項目が従属しているグループ項目でなければなりません。
該当する USE プロシージャーが指定されていないファイルについては、INVALID KEY 句を指定しなければなりません。 INVALID KEY 句が指定されておらず、USE プロシージャーも指定されていない場合は、望ましくない結果が生じることがあります。