このドキュメントでは、次のトピックについて説明します。
E1 コマンドは 1 レコードを削除します。
削除するレコードのファイル番号と ISN を指定しなければなりません。Adabas は、データストレージからレコードを削除し、アソシエータに必要な更新を行います。
ユーザーが ET ユーザーであり、削除レコードがそのユーザーに対してホールド状態でない場合は、Adabas が、削除レコードをそのユーザーに対してホールド状態にします。レコードが別のユーザーに対してホールド状態である場合は、RETURN オプションを使用しないかぎり、レコードが使用可能となるまで E1 コマンドが待ち状態となります。RETURN オプションが指定されていれば、レスポンスコード 145 が返ります。
ユーザーは ADAM(Adabas ダイレクトアクセスメソッド)キーを通じてレコードに位置づけることもできます。この場合、コマンドオプション 2 を V に設定する必要があり、サーチバッファおよびバリューバッファには ADAM ディスクリプタ名および ADAM キーがそれぞれ格納される必要があります。この方法を使用する場合、コントロールブロックの ISN フィールドが出力フィールドになります。
E1 コマンドは、ファイルをリフレッシュするのに使用できます。リフレッシュによりファイルを 0 件状態にします。ファイルをリフレッシュしたい場合は、コントロールブロックの ISN フィールドに 0 を、コマンド ID フィールドには空白をセットする必要があります。
Field | フォーマット | |
---|---|---|
コールタイプ | B | F/U |
予約(内部使用) | -/- | |
コマンドコード | A | F/U |
コマンド ID | B | F/U |
File Number | B | F/U (1) |
Response Code | B | F/A (1) |
ISN | B | F/U |
サーチバッファ長(ACB のみ) | B | F/U |
バリューバッファ長(ACB のみ) | B | F/U |
コマンドオプション 1 | A | F/U |
コマンドオプション 2 | A | F/U |
アディション 2 | A、B | -/A |
アディション 3 | A | F/A |
コマンドタイム | B | -/A |
ユーザーエリア | F/U |
バッファ | |
---|---|
フォーマットバッファ | –/– |
レコードバッファ | –/– |
サーチバッファ | F/U (2) |
バリューバッファ | F/U (2) |
ISN バッファ | –/– |
- フォーマット:
A 英数字 B 2 進数 - x/y Adabasコール前/後 - xとyは、値を取ることができます。
A Adabas によって設定 F ユーザーによって設定 U Adabas コール後も変更なし - 使用しません (1)このフィールドの意味は、Call タイプに指定された値によって異なります。詳細については、「Adabas の呼び出し」の「コントロールブロック」を参照してください。
(2)V オプションを使用する場合のみ必要
- コマンドコード
E1
- コマンド ID
ファイルをリフレッシュする場合は、コマンド ID を空白に設定する必要があります。
- File Number
このフィールドには、削除するレコードを持つファイルの番号を指定します。
- Response Code
このフィールドには、コマンドに対するレスポンスコードが返されます。レスポンスコード 0 は、このコマンドが正しく実行されたことを示します。
- ISN
削除するレコードの ISN を示します。
ADAM オプションが使用われた場合は、Adabas が、削除されたレコードの ISN を返します。
ファイルをリフレッシュする場合は(レコードのゼロ件状態にリセット)、このフィールドをゼロにセットしなければなりません。
- サーチバッファ長(ACB のみ)
サーチバッファ長(バイト単位)を示します。ユーザープログラムで定義するサーチバッファエリアは、ここに指定する長さ以上である必要があります。
- バリューバッファ長(ACB のみ)
バリューバッファ長(バイト単位)を示します。ユーザープログラムで定義するバリューバッファエリアは、ここに指定する長さ以上である必要があります。
- コマンドオプション 1
このフィールドに R を指定すると、RETURN オプションを使用することを示します。E1 コマンドを発行し、削除対象レコードが他のユーザーによってホールドされていると、そのレコードが使用可能になるまでユーザーは待ち状態にならずに、レスポンスコード 145 が返されます。
- コマンドオプション 2
このフィールドが V のときは、ADAM オプションを使用していることを示します。値(ADAM キー)は ADAM ディスクリプタファイルに提供されるだけです。キーの値はバリューバッファで指定され、ディスクリプタ名はサーチバッファで指定されます。ADAM オプションを使用する場合、ISN フィールドが出力フィールドになります。
指定した ADAM キーを持つレコードが見つからない場合はレスポンスコード 52 が返ります。
- アディション 2
一部のレスポンスコードでは、Adabas はこのフィールドの詳細情報を返します。詳細については、『メッセージおよびコードマニュアル』を参照してください。
- アディション 3
セキュリティ保護のためのパスワードを指定します。
使用するファイルがセキュリティ保護されていない場合、このフィールドは空白にしておきます。ファイルがセキュリティ保護されている場合は、ユーザーは該当するパスワードを指定する必要があります。
指定したパスワードを保護するため、このフィールドはコマンド処理時に空白にセットされます。
ADAM オプション(コマンドオプション 2=V)を使用する場合、サーチバッファには ADAM ディスクリプタのフィールド指定が含まれます。フィールド名が ADAM キーでない場合は、レスポンス 61 が返されます。
ADAM オプション(コマンドオプション 2=V)を使用する場合、バリューバッファには ADAM キーの値が含まれます。
ファイル 2 の ISN 4 を削除します。
Command Code E1
File Number 2 (record to be deleted is in file 2)
ISN 4 (record with ISN 4 to be deleted)
Command Option 1 b (Return Option not to be used)
Additions 3 Password (file 2 is security protected)
ISN の集合(FIND コマンドですでに選択されているもの)をファイル 1 から削除します。
Command Code E1
File Number 1 (record to be deleted is in file 1)
ISN n (ISN resulting from previous Find)
Command Option 1 b (Return Option not to be used)
Additions 3 bbbbbbbb (file is not security protected)
FIND コマンドで得た各 ISN に対し、繰り返し E1 コマンドを発行します。