使用上の注意
Fetch Returned Data Lengthフィールドは、返されたデータの長さをバイト数で示します。
言語 | 変数名 |
---|---|
COBOL: | DBCAREA-FET-RET-DATA-LEN |
C: DBCAREA.H: | fet_ret_data_len |
ルーチン | 動作 |
---|---|
DBCHINI: | 書き込み |
DBCHCL: | 書き込み(FET) |
使用者 | 動作 |
---|---|
アプリケーション プログラム | 読み取り |
Fetch関数のDBCHCLを呼び出したあとで、返されたデータの長さをアプリケーション プログラムで入手することができます。
この長さがどこに示されるか、および長さが何を表わしているかは、Connect、Run StartupまたはInitiate Request関数のDBCHCLを呼び出したときに有効であった設定状態に応じて、次のように異なります。
- Locate ModeをNに設定し、Parcel Mode FetchをYに設定した場合
- Variable Length FetchをNに設定した場合、
長さはFetch Returned Data Lengthで、パーセル本体の長さです。
- Variable Length FetchをYに設定した場合、
長さは、Fetch Data Pointerにおいて与えられるアドレスの最初の2バイトで、パーセル本体の長さです。
- Variable Length FetchをNに設定した場合、
- Locate ModeをNに設定し、Parcel Mode FetchをNに設定した場合
- Variable Length FetchをNに設定した場合、長さはFetch Returned Data Lengthです。これは、CLIでfet_data_ptrにコピーされるバッファの長さです。
- Variable Length FetchをYに設定した場合、エラーが発生する (このオプションは許可されていない)。
- Locate ModeをYに設定し、Parcel Mode FetchをYに設定した場合
- Variable Length FetchをNに設定した場合、
長さはFetch Returned Data Lengthで、パーセル本体の長さです。
- Variable Length FetchをYに設定した場合、
長さは、Fetch Data Pointerにおいて与えられるアドレスの最初の2バイトで、パーセル本体の長さです。
- Variable Length FetchをNに設定した場合、
- Locate ModeをYに設定し、Parcel Mode FetchをNに設定した場合
- Variable Length FetchをNに設定した場合、
長さはFetch Returned Data Lengthで、応答バッファ内のすべてのパーセル(ヘッダーと本体)の合計を指しています。
- Variable Length FetchをYに設定した場合、
エラーになります(この最後のオプションは許可されていません)。
- Variable Length FetchをNに設定した場合、
移動モードでは、長さのバイト数だけが移動領域に移されます。 そのバイト数を超えた分は「そのまま」残されます。
DBCHCLは、Fetch関数が完了した時点で、Fetch Returned DataLength(使用されていれば)をDBCAREA内に設定します。 したがってアプリケーション プログラムでは、Fetch関数のDBCHCLの呼び出しからゼロの戻りコードで制御が戻ると、Fetch Data Pointerを使用することができます。