C1 コマンド(チェックポイント書き込み)

このドキュメントでは、次のトピックについて説明します。


機能および使用

C1 コマンドを使用して、チェックポイントを設定するように要求できます。

C1 コマンドは、通常、ET ロジックを使用していない排他制御更新ユーザーが発行します。ET ロジックユーザーが C1 コマンドを発行しても、BT(バックアウトトランザクション)コマンドによってチェックポイントが消されることはありません。

排他ファイル制御更新を要求するユーザープログラムの始めに、Adabas は内部的に C1 コマンドを自動的に発行します。

C1 コマンドの結果、Adabas チェックポイントテーブルにチェックポイントエントリが書き込まれます。このチェックポイントエントリには、チェックポイント ID(コマンド ID フィールドにユーザーが指定した値)と、現在のデータプロテクションログおよびブロック番号が含まれます。このチェックポイントエントリは、データベース(または特定ファイル)をチェックポイントが取られたときの状態に戻すのに使用することができます。排他制御更新処理するプログラムを再実行または再スタートするためには、事前にチェックポイントまで戻す必要があります。

graphics/c1.png

C1 Command, Procedure Flow

コントロールブロック

Field フォーマット  
コールタイプ B F/U
予約(内部使用)   -/-
コマンドコード A F/U
コマンド ID B F/U
File Number B F/U (1)
Response Code B F/A (1)
アディション 2 A、B -/A
コマンドタイム B -/A
ユーザーエリア   F/U

バッファエリア

バッファ  
フォーマットバッファ –/–
レコードバッファ –/–
サーチバッファ –/–
バリューバッファ –/–
ISN バッファ –/–
フォーマット:
A 英数字
B 2 進数
x/y Adabasコール前/後 - xとyは、値を取ることができます。
A Adabas によって設定
F ユーザーによって設定
U Adabas コール後も変更なし
- 使用しません

(1)このフィールドの意味は、Call タイプに指定された値によって異なります。詳細については、「Adabas の呼び出し」の「コントロールブロック」を参照してください。

コントロールブロック

コマンドコード

C1

コマンド ID

このフィールドには、空白以外でゼロ以外の値を指定する必要があります。この値によりチェックポイントが識別されます。各チェックポイントに指定する値はユニークである必要はありません。

SYNx の値は指定しないでください。

このフィールドの上位バイトには、16 進数 FF をセットしないでください。

Response Code

このフィールドには、コマンドに対するレスポンスコードが返されます。レスポンスコード 0 は、このコマンドが正しく実行されたことを示します。

アディション 2

このフィールドには、一部のレスポンスコードについて詳細情報が返されます。詳細については、『Adabas メッセージおよびコードマニュアル』を参照してください。

チェックポイントエントリを書き込みます。チェックポイントは USR4 で識別します。

コントロールブロック:

Command Code          C1
Command ID            USR4 (checkpoint identifier)