ILE COBOL 解説書

REWRITE ステートメント - 形式 1

REWRITE ステートメント - 形式 1
 
>>-REWRITE--レコード名-1--+------------+------------------------>
                          '-FROM--ID-1-'
 
>--+-----------------------------------+------------------------>
   |        (1)                        |
   '-FORMAT------+----+-+-ID-2-------+-'
                 '-IS-' '-リテラル-1-'
 
>--+---------------------------------+-------------------------->
   |              (1)                |
   '-NULL-KEY-MAP-------+----+--ID-5-'
                        '-IS-'
 
>--+-----------------------------+------------------------------>
   |          (1)                |
   '-NULL-MAP-------+----+--ID-6-'
                    '-IS-'
 
>--+----------------------------------------+------------------->
   '-INVALID--+-----+--命令ステートメント-1-'
              '-KEY-'
 
>--+--------------------------------------------+--------------->
   '-NOT INVALID--+-----+--命令ステートメント-2-'
                  '-KEY-'
 
>--+-------------+---------------------------------------------><
   '-END-REWRITE-'
 
 

注:

  1. IBM 拡張

レコード名-1
置き換えられるレコードと同じ数の文字桁を持つ、ファイル・セクション内のレコードの名前です。 レコードの名前は参照変更できません。
ID-1
これは送り出し項目です。
FROM 句
この句は、次の効果をもちます。
MOVE identifier-1 TO record-name-1.
REWRITE record-name-1.

REWRITE ステートメントの処理が成功すると、 現行レコードはレコード名-1 では使用可能でなくなりますが、ID-1 ではまだ使用可能です。 レコード名-1 と ID-1 の両方で同じ記憶域を参照してはなりません。

+----------------------------------IBM 拡張----------------------------------+

FORMAT 句
この句が適用されるのは、REWRITE ステートメントが、ASSIGN ファイルの装置タイプとして DATABASE が指定された索引付きファイルに対して実行される場合です。 レコード形式が 1 つであるファイルを処理する場合には、この句の指定はオプショナルです。

FORMAT 句で指定する値には、この入出力操作で使用するレコード形式の名前が入ります。 システムはこれを使用して、どのレコード形式に対して操作を行うかを指定または選択します。

ID-2 を指定する場合には、10 文字以下の英数字データ項目にしなければなりません。

リテラル-1 を指定する場合は、10 文字以下の大文字の文字ストリングにしなければなりません。

FORMAT 句を指定せずに、ランダム・アクセス・モードで索引付きファイルにアク セスする場合には、定義された最初の形式が使用されます。

全桁がブランクの値は、FORMAT 句が指定されなかった場合と同じ扱いになります。 その値がファイルに対して有効でない場合は、9K の FILE STATUS が戻され、(そのファイルに適用可能であれば) USE プロシージャーが呼び出されます。

NULL-KEY-MAP IS 句
NULL-KEY-MAP IS 句のこの句についての説明を参照してください。
NULL-MAP IS 句
NULL-MAP IS 句のこの句についての説明を参照してください。

+------------------------------End of IBM 拡張-------------------------------+

INVALID KEY 句
この句は、索引編成ファイルと、ランダムまたは動的アクセスを持つ相対編成ファイルにおいて有効です。 これは、レコード域内のキー・フィールドによって指定されたレコードが見つからない場合に処理されます。

INVALID KEY 条件が発生した場合、更新操作は行われません。 レコード名の中のデータは影響を受けません。 この句は、必要に応じて、対応する命令ステートメントに制御権を移動します。

レコード名-1 について適用可能な EXCEPTION/ERROR プロシージャーが指定されていない場合は、INVALID KEY 句を指定しなければなりません。

次のいずれかの場合に、INVALID KEY 条件が発生します。

適用可能な USE プロシージャーが指定されていないファイルに対しては、INVALID KEY 句を指定しなければなりません。

詳細は 共通の処理機能の『INVALID KEY 条件』を参照してください。

装置タイプ DISK 上の順次にアクセスされる索引付きファイルの場合、 この句は、置き換えられるレコードの RECORD KEY に含まれる値が、ファイルの最後に検出されたレコードの RECORD KEY データ項目と等しくない場合に処理されます。

NOT INVALID KEY 句
この句は、索引編成ファイルと、ランダムまたは動的アクセスを持つ相対編成ファイルに対して有効です。 NOT INVALID KEY 句が指定されている REWRITE ステートメントの実行が正常に完了すると、制御権は、この句に関連する命令ステートメントに渡されます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]