バージョン 8.1.3
 —  コマンドリファレンス  —

C3 コマンド:チェックポイントの書き込み

C3 コマンドは、Adabas チェックポイントファイルに SYNX-03 チェックポイントを書き込みます。

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


機能および使用

C3 コマンドは、排他制御更新ユーザー(ET ロジックを使用していないユーザー)のみが発行できます。

C3 コマンドの主な機能は、Adabas チェックポイントファイルに SYNX-03 チェックポイントを書き込むことです。 このチェックポイントエントリには次の特性があります。

コマンドオプション 2 を指定すると、再スタート用にユーザーデータも Adabas チェックポイントファイルに格納されます。 格納されたデータは、後続の OP コマンドまたは RE コマンドで読み取れます。

Top of page

ACB インターフェイスダイレクトコール:C3 コマンド

このセクションでは、C3 コマンドの ACB インターフェイスダイレクトコールについて説明します。 本書には、次のトピックが含まれています。

コントロールブロックとバッファの概要

コントロールブロック

ダイレクトコールが開始される前に、未使用の ACB フィールドにバイナリの 0 を設定することをお勧めします。

フィールド 位置 フォーマット Adabas コール前 Adabas コール後
  1~2 -- -- --
コマンドコード 3~4 英数字 F U
  5~8 -- -- --
ファイル番号 ** 9~10 バイナリ F U
レスポンスコード 11~12 バイナリ -- A
  13~26 -- -- --
レコードバッファ長 27~28 バイナリ F U
  29~35 -- -- --
コマンドオプション 2 36 英数字 F U
  37~72 -- -- --
コマンドタイム 73~76 バイナリ -- A
ユーザーエリア 77~80 -- -- U

バッファエリア

バッファ Adabas コール前 Adabas コール後
フォーマット *  
レコード F U

上記の意味は次に示すとおりです。

F Adabas コール前にユーザーが入力するフィールド
A Adabas により入力されるフィールド
U Adabas コール後も変化なし
* 使用しませんが、コールステートメントのパラメータリストに含める必要があります。
** データベース ID は、複数のデータベースにアクセスして、特定のデータベースに対してコマンド処理を制限する必要がある場合にのみ必要になります。
-- 未使用

コントロールブロックフィールドの説明

ダイレクトコールが開始される前に、未使用の ACB フィールドにバイナリの 0 を設定することをお勧めします。

コマンドコード(ACBCMD)

C3

ファイル番号(ACBFNR)

データベース ID は、複数のデータベースにアクセスして、特定のデータベースに対してコマンド処理を制限する必要がある場合にのみ必要になります。

レスポンスコード(ACBRSP)

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

レスポンスコードとサブコードについては、『Adabas メッセージおよびコード』を参照してください。

レコードバッファ長(ACBRBL)

このフィールドは、コマンドオプション 2 を指定する場合にのみ使用します。

格納するユーザーデータのバイト数をこのフィールドで指定する必要があります。

指定可能な最大長は 2000 バイトです。

コマンドオプション 2:ユーザーデータ格納(ACBCOP2)
オプション 説明
E ユーザーデータがセッション終了時に Adabas チェックポイントファイルに書き込まれます。 空白以外のユニークなユーザー ID を指定してユーザーセッションで OP コマンドを発行している場合に限り、このオプションを使用できます。

ACB の例

ユーザープログラムが C3 コマンドを発行し、Adabas チェックポイントファイルに格納されるユーザーデータを提供します。

コントロールブロック

コマンドコード C3  
レコードバッファ長 17 17 バイトのユーザーデータを格納
コマンドオプション 2 E ユーザーデータを格納

バッファ

レコードバッファ EXU-USER ET-DATA

Top of page

ACBX インターフェイスダイレクトコール:C3 コマンド

このセクションでは、C3 コマンドの ACBX インターフェイスダイレクトコールについて説明します。 本書には、次のトピックが含まれています。

コントロールブロックとバッファの概要

コントロールブロック

ダイレクトコールが開始される前に、未使用の ACBX フィールドにバイナリの 0 を設定することをお勧めします。

フィールド 位置 フォーマット Adabas コール前 Adabas コール後
  1~2 --- --- ---
バージョンインジケータ 3~4 バイナリ F U
  5~6 --- --- ---
コマンドコード 7~8 英数字 F U
  9~10 --- --- ---
レスポンスコード 11~12 バイナリ --- A
--- 13~16 --- --- ---
データベース ID** 17~20 数値 F U
  21~49 --- --- ---
コマンドオプション 2 50 英数字 F U
  51~114 --- --- ---
エラーサブコード 115~116 バイナリ --- A
  117~144 --- --- ---
コマンドタイム 145~152 バイナリ --- A
ユーザーエリア 153~168 該当なし --- U
  169~193 --- --- ---

ABD とバッファ

ABD とバッファ Adabas コール前 Adabas コール後
フォーマット *  
レコード F U

上記の意味は次に示すとおりです。

F Adabas コール前にユーザーが入力するフィールド
A Adabas により入力されるフィールド
U Adabas コール後も変化なし
* 使用しませんが、Adabas コールに含める必要があります。含めない場合は、Adabas コールが自動的に生成されます。
** データベース ID は、複数のデータベースにアクセスして、特定のデータベースに対してコマンド処理を制限する必要がある場合にのみ必要になります。
-- 未使用

コントロールブロックフィールドの説明

ダイレクトコールが開始される前に、未使用の ACBX フィールドにバイナリの 0 を設定することをお勧めします。

バージョンインジケータ(ACBXVER)

F2

コマンドコード(ACBXCMD)

C3

レスポンスコード(ACBXRSP)

Adabas はこのフィールドに、コマンドのレスポンスコードを返します。 レスポンスコード 0 は、このコマンドが正しく実行されたことを示します。 ゼロ以外のレスポンスコードは、エラーサブコード(ACBXERRC)フィールドにサブコードを伴う場合があります。詳細は、Adabas メッセージおよびコード のドキュメントを参照してください。

データベース ID(ACBXDBID)

このフィールドは、複数のデータベースにアクセスして、特定のデータベースに対するコマンド処理を制限する必要がある場合にのみデータベース ID を指定します。 Adabas コールはこのデータベースに送られます。

このフィールドは 4 バイトのバイナリフィールドですが、現時点では 2 バイトのデータベース ID のみがサポートされています。 したがって、データベース ID はフィールドの下位部分(右端のバイト)に指定し、その前にバイナリの 0 を付加する必要があります。

このフィールドがバイナリの 0 に設定されている場合は、Adabas API は DDCARD 入力データで指定された ADARUN カードのデータベース ID か、リンクされているかリンクルーチンによりロードされた LNKGBLS モジュールで指定されているデフォルトのデータベース ID 値のいずれかを使用します。

コマンドオプション 2:ユーザーデータ格納(ACBXCOP2)
オプション 説明
E ユーザーデータがセッション終了時に Adabas チェックポイントファイルに書き込まれます。 空白以外のユニークなユーザー ID を指定してユーザーセッションで OP コマンドを発行している場合に限り、このオプションを使用できます。
エラーサブコード(ACBXERRC)

コマンドがゼロ以外のレスポンスコードを返したときは、このフィールドにレスポンスコードの正確な意味を定義したサブコードが含まれます。 レスポンスコードとサブコードについては、『Adabas メッセージおよびコード』を参照してください。

Top of page

バッファ

次のバッファは C3 コマンドに適用されます。

フォーマットバッファ

フォーマットバッファは C3 コマンドでは使用されませんが、Adabas コールに含める必要があります。 これが ACB インターフェイスダイレクトコールであり、フォーマットバッファが指定されていない場合は、処理エラーが発生します。ACB インターフェイスダイレクトコールはセットシーケンスにバッファが指定されていることを要求します。 これが ACBX インターフェイスダイレクトコールであり、フォーマットバッファが指定されていない場合は、バッファが自動的に生成されます。

レコードバッファ

レコードバッファには、Adabas チェックポイントファイルに書き込むユーザーデータが含まれています。 実際に格納されるバイト数は、レコードバッファ長フィールドで指定した値によって決まります。

ユーザーデータは、空白以外のユニークなユーザー ID が指定されたユーザーセッションの OP コマンドを発行している場合にのみ保存されます。 このデータは、ユーザーデータが指定された次の C3 コマンドまたは CL コマンドが発行されるまで保持されます。 空白以外のユニークなユーザー ID を指定しないと、後続のセッションでこのデータを読み込むことができません。

Top of page