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

RC コマンド:コマンド ID/グローバルフォーマット ID の解放

RC コマンドは、このユーザーの 1 つ以上のコマンド ID または 1 つのグローバルフォーマット ID を解放します。

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


機能および使用

RC コマンドを使用すると、現在ユーザーに割り当てられている 1 つ以上のコマンド ID を解放したり、1 つまたはすべてのグローバルフォーマット ID を削除したりできます。

選択オプションを指定しないと、入力したコマンド ID が上記のすべての領域から解放されます。 コマンド ID を解放すると、関連する TBI および(または)TBLES/TBQ エントリも削除されます。ただし、内部フォーマットバッファプールエントリは必ずしも解放されません。

RC コマンドは、次のいずれかの場合に使用します。

Top of page

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

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

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

コントロールブロック

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

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

バッファエリア

何も使用されていません。

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

F Adabas コール前にユーザーが入力するフィールド
A Adabas により入力されるフィールド
U Adabas コール後も変化なし
-- 未使用

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

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

コマンドコード(ACBCMD)

RC

コマンド ID(ACBCID)

このフィールドには、解放または参照するコマンド ID を指定します。 空白またはバイナリのゼロを指定すると、ユーザーに現在割り当てられている全コマンド ID が解放されます。

ファイル番号(ACBFNR)

コマンドオプション 1 フィールドを D、E、または O に指定する場合は、解放するフォーマットまたはグローバルフォーマット ID と関連するファイルの番号を 2 進数で指定しなければなりません。

物理ダイレクトコールの場合は、次のようファイル番号を指定します。

注意:
2 バイトファイル番号およびデータベース ID を使用する場合は、コントロールブロックの先頭バイトに X'30' を入力しなければなりません。

レスポンスコード(ACBRSP)

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

コマンドオプション 1/2:解放するコマンド ID のタイプ(ACBCOP1 および ACBCOP2)

これらのフィールドは、内部フォーマットバッファプール、ISN リストテーブル(TBI)、またはシーケンシャルコマンドのテーブル(TBLES/TBQ)から解放されるコマンド ID、フォーマット ID、またはグローバルフォーマット ID を示します。 テーブルの詳細については、「プログラミング全般に関する考慮事項」を参照してください。

コマンドオプション 1 および 2 の両フィールドに空白かバイナリのゼロを設定した場合、コマンド ID フィールドに指定されたコマンド ID は、すべてのテーブルから解放されます。

いずれかのコマンドオプションフィールドに次の値を設定した場合には、コマンド ID、フォーマット ID、またはグローバルフォーマット ID に関連付けられているリソースが解放されます。解放される対象は次の表のとおりです。

オプション 解放される対象
C すべての既存グローバルフォーマット
D 指定したファイル番号およびディスクリプタ名に該当するすべてのフォーマット
E 指定したファイル番号およびディスクリプタ名に該当するすべてのグローバルフォーマット
F 指定したコマンド ID に関連付けられているフォーマット
G 指定したコマンド ID 以上のコマンド ID に関連付けられているすべての既存フォーマット
I 指定したコマンド ID に関連付けられている ISN リスト(TBI)
L アディション 5 フィールドに格納されているグローバルフォーマット ID。
O 指定したファイル番号のアディション 5 フィールドに格納されているグローバルフォーマット ID。
S 指定したコマンド ID に関連付けられているシーケンシャルコマンド(TBLES/TBQ)
X 指定したコマンド ID 以上のコマンド ID に関連付けられているすべての ISN リスト(TBI)およびシーケンシャルコマンド(TBLES/TBQ)。 内部フォーマットは解放されません。

Smith/Jones の問題が発生する可能性がある環境で正しいデータが返されるように L3 または L6 コマンドでフォーマットを作成した場合に、オプション D と E を使用します。 この場合に基礎となるフォーマット ID は、サイズが 12 バイトになり、8 バイトのフォーマット ID、2 バイトのファイル番号、2 バイトのディスクリプタ名から構成されます。

アディション 1:ディスクリプタ名(ACBADD1)

コマンドオプション D または E が指定される場合、アディション 1 フィールドの最初の 2 バイトには、解放するフォーマットまたはグローバルフォーマット ID に関連する英数字のディスクリプタフィールド名を含んでいる必要があります。 残りのすべての位置には空白を設定しなければなりません。

解放するフォーマットが L3 または L6 コマンドで作成されていない場合、このフィールドは使用されません。

アディション 5:解放するグローバルフォーマット ID(ACBADD5)

解放するグローバルフォーマット ID を指定します。

ACB の例

例 1

コマンド ID 0003 を解放します。

コントロールブロック

コマンドコード RC  
コマンド ID X'0003' コマンド ID 003 を解放します。
コマンドオプション 1/2 bb(空白) 全コマンド ID タイプを解放します

例 2

現在ユーザーに割り当てられている全コマンド ID を解放します。

コントロールブロック

コマンドコード RC  
コマンド ID X'00000000' バイナリのゼロは全コマンド ID を解放することを示します
コマンドオプション 1/2 bb(空白) 全コマンド ID タイプを解放します

例 3

シーケンシャルコマンドテーブルまたは内部フォーマットバッファプールにあって、ユーザーに割り当てられているコマンド ID をすべて解放します。

コントロールブロック

コマンドコード RC  
コマンド ID X'00000000' バイナリのゼロは全コマンド ID を解放することを示します
コマンドオプション 1 F F は、内部フォーマットバッファプールにあるコマンド ID を解放することを示します。
コマンドオプション 2 S S は、シーケンシャルコマンドテーブルにあるコマンド ID を解放することを示します。

例 4

複数のファイルに同じグローバルフォーマット ID を定義している場合、 全ファイルのグローバルフォーマット ID を解放します。

コントロールブロック

コマンドコード RC  
コマンドオプション 1/2 L アディション 5 フィールドで指定したグローバルフォーマット ID のフォーマットを解放します。
アディション 5 C'TGLOB001' この番号の第 1 バイトの上位(左端)2 ビットに B'11' が設定されている場合、全 8 バイトがグローバルフォーマット ID であることを示します。

例 5

複数のファイルに同じグローバルフォーマット ID を定義している場合、 ファイル 3 のグローバルフォーマット ID を解放します。

コントロールブロック

コマンドコード RC  
ファイル番号 03 グローバルフォーマット ID を解放するファイルの番号を 2 進数で指定します。
コマンドオプション 1/2 O ファイル番号フィールドで指定したファイルに関して、アディション 5 フィールドで指定したグローバルフォーマット ID のフォーマットを解放します。
アディション 5 C'TGLOB001' この番号の第 1 バイトの上位(左端)2 ビットに B'11' が設定されている場合、全 8 バイトがグローバルフォーマット ID であることを示します。

Top of page

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

このセクションでは、RC コマンドの 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 英数字/バイナリ F U
データベース ID 17~20 数値 F U
ファイル番号 21~24 数値 F U
  25~48 --- --- ---
コマンドオプション 1 49 英数字 F U
コマンドオプション 2 50 英数字 F U
  51~56 --- --- ---
アディション 1 57~64 英数字/バイナリ F U
  65~84   --- ---
アディション 5 85~92 英数字/バイナリ F U
  93~114 --- --- ---
エラーサブコード 115~116 バイナリ --- A
  117~144 --- --- ---
コマンドタイム 145~152 バイナリ --- A
ユーザーエリア 153~168 該当なし --- U
--- 169~193 操作不可 --- ---

ABD とバッファ

何も使用されていません。

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

F Adabas コール前にユーザーが入力するフィールド
A Adabas により入力されるフィールド
U Adabas コール後も変化なし
-- 未使用

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

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

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

F2

コマンドコード(ACBXCMD)

RC

レスポンスコード(ACBXRSP)

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

コマンド ID(ACBXCID)

このフィールドには、解放または参照するコマンド ID を指定します。 空白またはバイナリのゼロを指定すると、ユーザーに現在割り当てられている全コマンド ID が解放されます。

データベース ID(ACBXDBID)

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

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

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

ファイル番号(ACBXFNR)

コマンドオプション 1 フィールドを D、E、または O に指定する場合は、このフィールドを使用して、解放するフォーマットまたはグローバルフォーマット ID に関連付けられたファイルの番号を指定する必要があります。

このフィールドは 4 バイトのバイナリフィールドですが、ファイル番号はフィールドの下位部分(右端のバイト)に指定し、その前にバイナリの 0 を付加する必要があります。

コマンドオプション 1 および 2:解放するコマンド ID のタイプ(ACBXCOP1 および ACBXCOP2)

これらのフィールドは、内部フォーマットバッファプール、ISN リストテーブル(TBI)、またはシーケンシャルコマンドのテーブル(TBLES/TBQ)から解放されるコマンド ID、フォーマット ID、またはグローバルフォーマット ID を示します。 テーブルの詳細については、「プログラミング全般に関する考慮事項」を参照してください。

コマンドオプション 1 および 2 の両フィールドに空白かバイナリのゼロを設定した場合、コマンド ID フィールドに指定されたコマンド ID は、すべてのテーブルから解放されます。

いずれかのコマンドオプションフィールドに次の値を設定した場合には、コマンド ID、フォーマット ID、またはグローバルフォーマット ID に関連付けられているリソースが解放されます。解放される対象は次の表のとおりです。

オプション 解放される対象
C すべての既存グローバルフォーマット
D 指定したファイル番号およびディスクリプタ名に該当するすべてのフォーマット
E 指定したファイル番号およびディスクリプタ名に該当するすべてのグローバルフォーマット
F 指定したコマンド ID に関連付けられているフォーマット
G 指定したコマンド ID 以上のコマンド ID に関連付けられているすべての既存フォーマット
I 指定したコマンド ID に関連付けられている ISN リスト(TBI)
L アディション 5 フィールドに格納されているグローバルフォーマット ID。
O 指定したファイル番号のアディション 5 フィールドに格納されているグローバルフォーマット ID。
S 指定したコマンド ID に関連付けられているシーケンシャルコマンド(TBLES/TBQ)
X 指定したコマンド ID 以上のコマンド ID に関連付けられているすべての ISN リスト(TBI)およびシーケンシャルコマンド(TBLES/TBQ)。 内部フォーマットは解放されません。

Smith/Jones の問題が発生する可能性がある環境で正しいデータが返されるように L3 または L6 コマンドでフォーマットを作成した場合に、オプション D と E を使用します。 この場合に基礎となるフォーマット ID は、サイズが 12 バイトになり、8 バイトのフォーマット ID、2 バイトのファイル番号、2 バイトのディスクリプタ名から構成されます。

アディション 1:ディスクリプタ名(ACBXADD1)

コマンドオプション D または E が指定される場合、アディション 1 フィールドの最初の 2 バイトには、解放するフォーマットまたはグローバルフォーマット ID に関連する英数字のディスクリプタフィールド名を含んでいる必要があります。 残りのすべての位置には空白を設定しなければなりません。

解放するフォーマットが L3 または L6 コマンドで作成されていない場合、このフィールドは使用されません。

アディション 5:解放するグローバルフォーマット ID(ACBXADD5)

解放するグローバルフォーマット ID を指定します。

エラーサブコード(ACBXERRC)

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

Top of page