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

OP コマンド:ユーザーセッションのオープン

OP コマンドは、ユーザーセッションの開始を示します。

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


機能および使用

どのユーザーも Adabas セッションの開始には OP コマンドを使用することをお勧めします。

OP コマンドは、次のいずれかがユーザーに該当する場合は必須となります。

上記以外では、OP コマンドはオプションです。 現在 Adabas に認識されていないユーザーが最初に Adabas コマンドを発行すると、Adabas は内部的に OP コマンドを発行します。

Adabas Security で保護されたファイルにアクセスするユーザーは、必ずしも OP コマンドを発行する必要はありませんが、そのセキュリティ保護されたファイルを呼び出すコマンドにはすべてパスワードを指定する必要があります。 システムが Adabas 外部セキュリティインターフェイス(ADAESI)、および付属のセキュリティパッケージで保護されている場合には、OP コマンドが必要になることがあります。 詳細については、DBA またはシステムセキュリティ担当者にお問い合わせください。

OP コマンドがアクティブな ET ロジックユーザーから発行され、かつそのユーザーが ET 状態でない(1 つ以上のレコードがホールド状態で OP、ET、BT コマンドが前に発行されなかった)場合、Adabas はユーザーに対し内部的に BT コマンドを発行し、OP コマンドに対しレスポンスコード 9 を返します。 OP コマンドが他のアクティブなユーザーから発行される場合、Adabas は OP コマンド処理の前に内部的に CL コマンドを発行します。

シングルユーザーモードで操作するユーザーは、1 回のセッションで OP コマンドを一度のみ発行できます。

Top of page

ユーザータイプ

各ユーザーセッションは、ユーザーの行うアクセスおよび更新のタイプで Adabas により次のように識別されます。

アクセスオンリーユーザー

アクセスオンリー(ACC パラメータ)を指定して OP コマンドを発行すると、ユーザーはアクセスオンリーユーザーと定義されます。 このようなユーザーは、レコードをホールド、更新、削除、追加するコマンド、ET コマンド、および BT コマンドを発行できません。

注意:
アクセス/更新レベルのセキュリティも、ファイルおよびフィールドに対しては Adabas Security で制御でき、データベースおよびファイルに対しては Adabas SAF Security で制御できます。 セキュリティ制御は、ユーザータイプの制御を補完するものです。つまり、Adabas Security によってアクセスオンリーユーザーのアクセスレベルをファイル、フィールド、値にも定義できるようになります。ただし、アクセスレベルを更新レベルに変更することはできません。

排他制御ユーザー

排他ファイル制御(EXU または EXF パラメータ)を指定して OP コマンドを発行すると、ユーザーは排他制御ユーザーと定義されます。 このユーザーは非 ET ロジックユーザーであるとみなされます(ただし、UPD パラメータも指定すると、このユーザーは ET ロジックユーザーと定義されます)。 このユーザーが ET コマンドを発行すると、最初の ET コマンドが発行された時点で ET ロジックユーザーに変わります。

ET ロジックユーザー

その他の全ユーザー(OP コマンドを発行しないユーザーも含みます)は、ET ロジックユーザーと定義されます。 このユーザーの発行したトランザクションには、トランザクションタイムリミットが適用されます。

Top of page

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

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

コントロールブロックとバッファの情報

コントロールブロック

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

フィールド 位置 フォーマット Adabas コール前 Adabas コール後
  1~2 -- -- --
コマンドコード 3~4 英数字 F U
コマンド ID 5~8 英数字 -- A
ファイル番号 ** 9~10 バイナリ F U
レスポンスコード 11~12 バイナリ -- A
ISN 13~16 バイナリ -- A
ISN 下限 17~20 バイナリ F A
ISN 数 21~24 バイナリ F A
  25~26 -- -- --
レコードバッファ長 27~28 バイナリ F U
  29~34 -- -- --
コマンドオプション 1 35 英数字 F U
コマンドオプション 2 36 英数字 F U
アディション 1 37~44 英数字 F U
アディション 2 45~48 英数字 -- A
  49~56 -- -- --
アディション 4 57~64 バイナリ F A
アディション 5 65~72 バイナリ -- A
コマンドタイム 73~76 バイナリ -- A
ユーザーエリア 77~80 -- -- U

バッファエリア

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

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

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

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

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

コマンドコード(ACBCMD)

OP

コマンド ID(ACBCID)

Adabas は、このユーザーの先行セッションが CL コマンドで正常終了したか、先行セッションがない場合にバイナリのゼロを返します。

このユーザーの先行セッションが CL コマンドで正常終了しなかった場合は、最後に正常終了したユーザートランザクションのシーケンス番号を返します。

この情報が返されるのは、ET ロジックユーザーに限ります。 ユーザーが ET ロジックユーザーでない場合、Adabas による変更は行われません。

ファイル番号(ACBFNR)

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

レスポンスコード(ACBRSP)

Adabas はこのフィールドに、コマンドのレスポンスコードを返します。 レスポンスコード 0 は、このコマンドが正しく実行されたことを示します。 ゼロ以外のレスポンスコードは、アディション 2 フィールドの下位 2 バイトにサブコードを伴う場合があります。詳細は『Adabas メッセージおよびコード』を参照してください。

ISN(ACBISN)

このフィールドにはバイナリのゼロが返されます。

ISN 下限:非アクティビティタイムリミット(ACBISL)

このフィールドは、ユーザーが非アクティビティタイムリミットを指定するために使用します。 このタイムリミットは、ADARUN パラメータ MXTNA で指定した最大値に従う必要があります。 このフィールドにバイナリのゼロが指定されている場合、Adabas セッションの ADARUN パラメータ(TNAA、TNAE、TNAX)に設定されている、非アクティビティタイムリミットが有効になります。

OP コマンドが正常終了した後、Adabas はこのフィールドに Adabas システム情報およびコールタイプ情報を返します。このフィールドに表示されていたタイムアウト情報は、アディション 5 フィールドのバイト 4~5 に返されます。 詳細は、「コントロールブロックフィールドに返される値」を参照してください。

ISN 数:トランザクションタイムリミット(ACBISQ)

ユーザーがトランザクションタイムリミットを指定するために使用します。 このタイムリミットは、ADARUN パラメータ MXTT で指定した最大値に従う必要があります。 このフィールドにバイナリのゼロが指定されている場合、Adabas セッションの ADARUN TT パラメータに設定されているトランザクションタイムリミットが有効になります。

OP コマンドが正常終了した後、Adabas はこのフィールドに Adabas システムリリース情報を返します。このフィールドに表示されていたタイムアウト情報は、アディション 5 フィールドのバイト 6~7 に返されます。 詳細は、「コントロールブロックフィールドに返される値」を参照してください。

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

レコードバッファ長をこのフィールドに指定しなければなりません。 指定する長さは、要求された全レコードバッファエントリを格納するのに十分な長さである必要があります。 レコードバッファが空の場合は、レコードバッファ長を 0 に設定する必要があります。

Adabas システムファイルに格納されたユーザーデータを取り出す場合、指定する長さはレコードバッファにユーザーデータを挿入できるだけの十分な長さである必要があります。そうでない場合は、ユーザーデータの桁落ちが発生します。

コマンドオプション 1:ファイル制限オプション(ACBCOP1)
オプション 説明
R(ファイル制限) ユーザーによるアクセス/更新を、レコードバッファに指定したファイルリストのファイルだけに制限します。 指定したファイルが使用できない場合、レスポンスコード 48 が返されます。 ユーザーがファイルリストにないファイルへのアクセスや更新を試行すると、レスポンスコード 17 が返されます。 R オプションを指定せずに、該当のファイルリストにないファイルにアクセスしようとすると、Adabas は Adabas ユーティリティによってそのファイルが使用されているかどうかを調べます。使用されていなければ、ファイルがユーザーのリストに追加されます。 詳細は「ユーザーキューエレメント」を参照してください。
コマンドオプション 2:ユーザーデータ読み込み(ACBCOP2)
オプション 説明
E ユーザーデータのあるユーザーによって発行されたコマンドのうち、最後に正常終了した C3、CL、ET コマンドによって Adabas システムファイルに保存されたユーザー(ET)データが、レコードバッファに返されます。 このオプションは、このユーザーセッションとユーザーデータを保存したセッションで同一のユーザー ID を指定した場合に限り使用できます。
アディション 1:ユーザー ID(ACBADD1)

このフィールドは、ユーザーセッションにユーザー ID を指定する場合に使用します。 後で制限を受けることがないように、常にユーザー ID を指定するようにしてください。

ユーザー ID の値は、このユーザーに対してユニークでなければなりません(他のユーザーによって同時に使用されないもの)。また、A から 9 の値で始まる必要があります。 この値がユニークでない場合は、レスポンスコード 48 が返されます。 非アクティブな状態が 60 秒以上継続している場合は、該当ユーザー ID を持つユーザーに対して内部的な自動バックアウトがスケジュールされ、OP コマンドにはレスポンスコード 9 が返されます。 OP コマンドを再度発行すると、既存ユーザーのユーザー ID(ETID)を引き継ぐことができます。このとき、既存ユーザーは、内部的なバックアウトトランザクション(BT)コマンドによってユーザー ID を失い、次のコマンド発行時にレスポンスコード 9 を受け取ります。

次のいずれかの場合は、ユーザー ID を指定しなければなりません

上記以外の場合は、このフィールドを空白にできます。

アディション 2:トランザクションシーケンス番号(ACBADD2)

このフィールドには、最後に正常終了した ET コマンド(ET データ付き)のトランザクションシーケンス番号を返します。

OP コマンドによってゼロ以外のレスポンスコードが返された場合、下位 2 バイトには、正確なレスポンスコードの意味を定義するサブコードが含まれていることがあります。 レスポンスコードとサブコードについては、『Adabas メッセージおよびコード』を参照してください。

アディション 4:最大値の設定(ACBADD4)

このフィールドには、次のユーザー固有の最大バイナリ値を設定することができます。

バイト 使用方法
57~58 Sx コマンドの実行後、内部 ISN エレメントテーブルに格納可能な ISN の最大数。 デフォルト値を増やすと Adabas ワークに対するアクセス回数が少なくなります。 最大値は 1000 です。
59~60 ユーザーが同時にホールドできる最大レコード数。 デフォルトは、ADARUN NISNHQ パラメータによって設定される値です。最大値は、ADARUN NH パラメータよって設定される値から 1 を引いた値の 1/4、または 65535 のいずれか小さい方です。
61~62 ユーザーに対して同時にアクティブにできるコマンド ID の最大数。 この値は LQ の 1/240 以下でなければなりません(LQ は、ADARUN シーケンシャルコマンドテーブル長パラメータ値です。デフォルトは 10000)。
63~64 Sx コマンドの実行に使用可能な最長時間。

上記のいずれの値も指定しない場合には、システム全体のニュークリアスの値はデフォルトに設定されます。 ユーザーは、このフィールドにユーザー固有の値を指定する前に、これらの値の実際のシステムデフォルト値について DBA に確認しておく必要があります。

値はバイナリで指定しなければなりません。 空白またはバイナリのゼロを指定した場合、無指定とみなされます。

Adabas はコマンド処理中にアディション 4 フィールドを空白に設定し、このフィールドの右端(下位)3 バイトにバージョンコードおよびデータベース ID を返します。 詳細については「コントロールブロックフィールド」を参照してください。

アディション 5:返されるタイムアウト値(ACBADD5)

ユーザーが設定したタイムアウトの値は、アディション 5 フィールドの右端のフルワードの左半分(上位)および右半分(下位)にそれぞれ返されます。 詳細は、「コントロールブロックフィールドに返される値」を参照してください。

ACB の例

例 1:アクセスオンリーユーザー

アクセスオンリーユーザーセッションをオープンします。

コントロールブロック

コマンドコード OP  
レコードバッファ長 4 またはそれ以上

バッファエリア

レコードバッファ ACC. (または ACC= . または ACC=file-list)

選択したすべてのファイルにアクセスできます。

例 2:ET ロジックユーザー

ユーザーセッションをオープンし、そのセッションでファイル 8 と 9 にアクセスし、ファイル 8 と 16 を更新します。 また、セッション中にユーザーデータを Adabas システムファイルに格納します。 前のセッションで格納したユーザーデータも読み込みます。 このユーザーのユーザー ID は USER0001 です。

コントロールブロック

コマンドコード OP  
レコードバッファ長 15 またはそれ以上
コマンドオプション 2 E ユーザーデータを読み込みます。
アディション 1 USER0001 ユーザーデータを格納したり読み込んだりする場合には、ユーザー ID が必要です。

バッファエリア

レコードバッファ ACC=9,UPD=8,16.

例 3:非 ET ロジックの排他制御ユーザー

ファイル 10、11 および 12 を排他制御で扱うユーザーセッションをオープンします。 ユーザーは ET コマンドを発行しません。Adabas システムファイルに対して、ユーザーデータを格納することも、読み込むこともありません。

コントロールブロック

コマンドコード OP  
レコードバッファ長 13 またはそれ以上
コマンドオプション 2 b(空白) ユーザーデータの保存および読み込みは実行されません
アディション 1 bbbbbbbb(空白) ユーザー ID は必要ありません

バッファエリア

レコードバッファ EXU=10,11,12.

例 4:ET ロジックでの排他制御ユーザー

ファイル 10、11 および 12 を排他制御で扱うユーザーセッションをオープンします。 ユーザーは ET コマンドを発行します。

コントロールブロック

コマンドコード OP  
レコードバッファ長 26 またはそれ以上
コマンドオプション 2 b(空白) ユーザーデータの保存および読み込みは実行されません
アディション 1 bbbbbbbb(空白) ユーザー ID は必要ありません

バッファエリア

レコードバッファ EXU=10,11,12,UPD=10,11,12.

例 5:ワイド文字フィールドのエンコード

ワイド文字フィールドをシフト JIS にエンコードするユーザーセッションをオープンします。 ユーザーはファイル番号 1 を更新します。

コントロールブロック

コマンドコード OP  
レコードバッファ長 16 またはそれ以上

バッファエリア

レコードバッファ UPD=1,WCODE=932.

Top of page

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

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

コントロールブロックとバッファの情報

コントロールブロック

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

フィールド 位置 フォーマット Adabas コール前 Adabas コール後
  1~2 --- --- ---
バージョンインジケータ 3~4 バイナリ F U
  5~6 --- --- ---
コマンドコード 7~8 英数字 F U
  9~10 --- --- ---
レスポンスコード 11~12 バイナリ --- A
コマンド ID 13~16 英数字/バイナリ --- A
データベース ID** 17~20 数値 F U
  21~28 --- --- ---
ISN 29~32 バイナリ --- A
  33~36 --- --- ---
ISN 下限 37~40 バイナリ F A
  41~44 --- --- ---
ISN 数 45~48 バイナリ F A
コマンドオプション 1 49 英数字 F U
コマンドオプション 2 50 英数字 F U
  51~56 --- --- ---
アディション 1 57~64 英数字/バイナリ F U
アディション 2 65~68 バイナリ --- A
  69~76 --- --- ---
アディション 4 77~84 英数字 F A
アディション 5 85~92 英数字/バイナリ --- A
  93~114 --- --- ---
エラーサブコード 115~116 バイナリ --- A
  117~144 --- --- ---
コマンドタイム 145~152 バイナリ --- A
ユーザーエリア 153~168 該当なし --- U
--- 169~193 操作不可 --- ---

ABD とバッファ

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

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

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

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

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

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

F2

コマンドコード(ACBXCMD)

OP

レスポンスコード(ACBXRSP)

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

コマンド ID(ACBXCID)

Adabas は、このユーザーの先行セッションが CL コマンドで正常終了したか、先行セッションがない場合にバイナリのゼロを返します。

このユーザーの先行セッションが CL コマンドで正常終了しなかった場合は、最後に正常終了したユーザートランザクションのシーケンス番号を返します。

この情報が返されるのは、ET ロジックユーザーに限ります。 ユーザーが ET ロジックユーザーでない場合、Adabas による変更は行われません。

データベース ID(ACBXDBID)

このフィールドを使用して、データベース ID を指定します。 Adabas コールはこのデータベースに送られます。

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

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

ISN(ACBXISN)

このフィールドにはバイナリのゼロが返されます。

ISN 下限:非アクティビティタイムリミット(ACBXISL)

このフィールドは、ユーザーが非アクティビティタイムリミットを指定するために使用します。 このタイムリミットは、ADARUN パラメータ MXTNA で指定した最大値に従う必要があります。 このフィールドにバイナリのゼロが指定されている場合、Adabas セッションの ADARUN パラメータ(TNAA、TNAE、TNAX)に設定されている、非アクティビティタイムリミットが有効になります。

ACBXISL フィールドは、8 バイトの ACBXISLG フィールドに埋め込まれた 4 バイトのバイナリフィールドで、まだ使用されていません。 ACBXISLG フィールドの上位部分には、バイナリの 0 を設定します。

OP コマンドが正常終了した後、Adabas はこのフィールドに Adabas システム情報およびコールタイプ情報を返します。このフィールドに表示されていたタイムアウト情報は、アディション 5 フィールドのバイト 4~5 に返されます。 詳細は、「コントロールブロックフィールドに返される値」を参照してください。

ISN 数:トランザクションタイムリミット(ACBXISQ)

ユーザーがトランザクションタイムリミットを指定するために使用します。 このタイムリミットは、ADARUN パラメータ MXTT で指定した最大値に従う必要があります。 このフィールドにバイナリのゼロが指定されている場合、Adabas セッションの ADARUN TT パラメータに設定されているトランザクションタイムリミットが有効になります。

ACBXISQ フィールドは、8 バイトの ACBXISQG フィールドに埋め込まれた 4 バイトのバイナリフィールドで、まだ使用されていません。 ACBXISQG フィールドの上位部分には、バイナリの 0 を設定します。

OP コマンドが正常終了した後、Adabas はこのフィールドに Adabas システムリリース情報を返します。このフィールドに表示されていたタイムアウト情報は、アディション 5 フィールドのバイト 6~7 に返されます。 詳細は、「コントロールブロックフィールドに返される値」を参照してください。

コマンドオプション 1:ファイル制限オプション(ACBXCOP1)
オプション 説明
R(ファイル制限) ユーザーによるアクセス/更新を、レコードバッファに指定したファイルリストのファイルだけに制限します。 指定したファイルが使用できない場合、レスポンスコード 48 が返されます。 ユーザーがファイルリストにないファイルへのアクセスや更新を試行すると、レスポンスコード 17 が返されます。 R オプションを指定せずに、該当のファイルリストにないファイルにアクセスしようとすると、Adabas は Adabas ユーティリティによってそのファイルが使用されているかどうかを調べます。使用されていなければ、ファイルがユーザーのリストに追加されます。 詳細は「ユーザーキューエレメント」を参照してください。
コマンドオプション 2:ユーザーデータ読み込み(ACBXCOP2)
オプション 説明
E ユーザーデータのあるユーザーによって発行されたコマンドのうち、最後に正常終了した C3、CL、ET コマンドによって Adabas システムファイルに保存されたユーザー(ET)データが、レコードバッファに返されます。 このオプションは、このユーザーセッションとユーザーデータを保存したセッションで同一のユーザー ID を指定した場合に限り使用できます。
アディション 1:ユーザー ID(ACBXADD1)

このフィールドは、ユーザーセッションにユーザー ID を指定する場合に使用します。 後で制限を受けることがないように、常にユーザー ID を指定するようにしてください。

ユーザー ID の値は、このユーザーに対してユニークでなければなりません(他のユーザーによって同時に使用されないもの)。また、A から 9 の値で始まる必要があります。 この値がユニークでない場合は、レスポンスコード 48 が返されます。 非アクティブな状態が 60 秒以上継続している場合は、該当ユーザー ID を持つユーザーに対して内部的な自動バックアウトがスケジュールされ、OP コマンドにはレスポンスコード 9 が返されます。 OP コマンドを再度発行すると、既存ユーザーのユーザー ID(ETID)を引き継ぐことができます。このとき、既存ユーザーは、内部的なバックアウトトランザクション(BT)コマンドによってユーザー ID を失い、次のコマンド発行時にレスポンスコード 9 を受け取ります。

次のいずれかの場合は、ユーザー ID を指定しなければなりません

上記以外の場合は、このフィールドを空白にできます。

アディション 2:トランザクションシーケンス番号(ACBXADD2)

このフィールドには、最後に正常終了した ET コマンド(ET データ付き)のトランザクションシーケンス番号を返します。

アディション 4:最大値の設定(ACBXADD4)

このフィールドには、次のユーザー固有の最大バイナリ値を設定することができます。

バイト 使用方法
77~78 Sx コマンドの実行後、内部 ISN エレメントテーブルに格納可能な ISN の最大数。 デフォルト値を増やすと Adabas ワークに対するアクセス回数が少なくなります。 最大値は 1000 です。
79~80 ユーザーが同時にホールドできる最大レコード数。 デフォルトは、ADARUN NISNHQ パラメータによって設定される値です。最大値は、ADARUN NH パラメータよって設定される値から 1 を引いた値の 1/4、または 65535 のいずれか小さい方です。
81~82 ユーザーに対して同時にアクティブにできるコマンド ID の最大数。 この値は LQ の 1/240 以下でなければなりません(LQ は、ADARUN シーケンシャルコマンドテーブル長パラメータ値です。デフォルトは 10000)。
83~84 Sx コマンドの実行に使用可能な最長時間。

上記のいずれの値も指定しない場合には、システム全体のニュークリアスの値はデフォルトに設定されます。 ユーザーは、このフィールドにユーザー固有の値を指定する前に、これらの値の実際のシステムデフォルト値について DBA に確認しておく必要があります。

値はバイナリで指定しなければなりません。 空白またはバイナリのゼロを指定した場合、無指定とみなされます。

Adabas はコマンド処理中にアディション 4 フィールドを空白に設定し、このフィールドの右端(下位)3 バイトにバージョンコードおよびデータベース ID を返します。 詳細については「コントロールブロックフィールド」を参照してください。

アディション 5:返されるタイムアウト値(ACBXADD5)

ユーザーが設定したタイムアウトの値は、アディション 5 フィールドの右端のフルワードの左半分(上位)および右半分(下位)にそれぞれ返されます。 詳細は、「コントロールブロックフィールドに返される値」を参照してください。

エラーサブコード(ACBXERRC)

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

Top of page

バッファ

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

フォーマットバッファ

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

レコードバッファ

レコードバッファで、以下を指定します。

このレコードバッファの構文は次のとおりです。

graphics/4op_rec_buf_syntax.png

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

レコードバッファは、ピリオド(".")で終わる必要があります。

レコードバッファにパラメータを指定しないと、ピリオド(".")のみが含まれることになります。 この場合、Adabas コントロールブロックでレコードバッファ長をゼロに設定できるため、レコードバッファを用意する必要はありません。

ユーザータイプのキーワードを一連のファイルに適用する場合、そのキーワードを適用する各ファイルはコンマで区切ってファイル番号を指定します。 1 つのキーワード内に重複するファイル番号があってもかまいません。 別のキーワードにファイル番号が重複してもかまいません。 各キーワードは 1 回だけ指定できます。

UPD および EXU はファイルのアクセスも含んでいます。 ACC が唯一指定したキーワードである場合、ファイルリストは必要ありません。

注意:
Natural Lightstorm(NLS)version 3.1 のユーザーの場合、OP コマンドでは、NLS がオプション R(ファイル制限)を指定してファイルリスト内のファイルを Adabas に通知するため、レコードバッファにファイルリストを入力する必要があります。

キーワードを指定しないと、ユーザーは自動的に ET ロジックユーザーとなります。

Top of page

ユーザーキューエレメント

ユーザーがアクティブの間、Adabas はそのユーザーに対するユーザーキューエレメント(UQE)を保持します。

ユーザーの種類とファイルリスト

UQE はユーザーが現在使用中のファイルを示す最大 5000 までのファイル番号リストを持ちます。 ファイルリストは、非 ET ユーザーが OP コマンドを発行したときに生成され、ET ユーザーの場合には作成されません。 ユーザーセッション中に、ファイルリストが変更されることもあります。 OP コマンドを発行しないと、ファイルリストには当初何のファイルも記載されません。 ファイルリスト内の各ファイルは、次のいずれかに区分されます。

後で現在ユーザーファイルリストにないファイルにアクセスしようとすると、そのファイルが現在 Adabas ユーティリティで使用中かどうかがチェックされます。 使用中でないと、そのファイルがユーザーの UQE に追加され、ACC とマークされます。 ただし、OP コマンドで、レコードバッファ内のファイルリストでコマンドオプション 1 フィールドにファイル制限オプションを指定した場合には、ファイルリストにないファイルにアクセスしようとすると、レスポンスコード 17 が返されます。

後で現在ユーザーファイルリストにないファイルを更新しようとすると、次のチェックが行われます。

ファイルがそのユーザーに使用可能であると判断されると、そのファイルはユーザーの UQE に追加され、UPD とマークされます。

エンコード情報

使用するエンコード方法を決める ACODE、WCODE および(または)ARC をユーザーが指定すると、その情報は Adabas ニュークリアスに伝えられて UQE に格納されます。

Top of page

タイムリミットの超過

ユーザーが非アクティビティタイムリミットを超える場合に行う処理については、『Adabas オペレーションマニュアル』のタイムアウト特性に関するセクションを参照してください。

Top of page

コントロールブロックフィールドに返される値

VMS/UNIX システムとの互換性を保つため、ISN 下限フィールドおよび ISN 数フィールドに値が返されることがあります。 その結果、以前の Adabas バージョンでこのフィールドにホールドされたユーザー固有のタイムアウト値がアディション 5 フィールドに返されます。 このことは、対応するコマンドログフィールドにも影響します。

OP の実行後、ISN 数フィールドには次のバイナリの値が入ります。

OP Command, Binary Values Returned after OP Execution

OP 実行後に返されるバイナリ値

この情報は VMS/UNIX との互換性を確保するためのものです。

ISN 下限(ISL)フィールドには、次のバイナリの情報が入ります。

OP Command, Binary Information Returned from ISL

ISLから返されるバイナリ情報

右端 2 バイトは、ユーザープログラムが非クラスタ(00)またはクラスタ(nn)ニュークリアス環境で実行しているかどうかを示します。 特定のクラスタニュークリアスタイプのリターンコードは Software AG 技術サポートが使用します。

ユーザーが OP コマンド発行時に設定した ISL/ISQ フィールドのタイムアウト値がアディション 5 フィールドに、次のように入ります。

OP Command, Timeout Values

タイムアウト値

アディション 5 コマンドログエントリもこれに対応します。

Top of page