使用上の注意
Using Data Pointerフィールドは、リクエスト文字列内のUSING句によって参照されるデータ文字列のアドレスを指定します。 DBCHCLは、リクエスト文字列の解析を行ないません。 したがって、データ文字列が存在すること、およびリクエストの文字列内にUSING句がある場合にはUsing Data Pointerがそのデータ文字列を指していることをアプリケーション プログラムで保証する必要があります。
言語 | 変数名 |
---|---|
COBOL: | DBCAREA-USING-DATA-PRT |
C: DBCAREA.H: | using_data_ptr |
ルーチン | 動作 |
---|---|
DBCHINI: | 書き込み |
DBCHCL: | 読み取り(IRQ) |
使用者 | 動作 |
---|---|
アプリケーション プログラム | 書き込み |
リクエストの文字列にUSING句が入っている場合には、Initiate Request関数のDBCHCLを呼び出す前に、データベースのアプリケーション プログラム側で、USING句によって記述されるデータが入っているデータ文字列を組み立てておかなければなりません。
- データにNULL値が入ることがあり得なければ、アプリケーション プログラムでDBCAREAのUse Presence Bitsを'N'に設定する。
- データにNULL値が含まれる可能性がある場合は、アプリケーション プログラムで、データ文字列の前に標識ビットが入ったバイト(1列当たり1つ)を挿入し、Use Presence Bitsを'Y'に設定する。Use Presence Bitsを参照。
プレゼンス ビットの最初のバイトのアドレス、またはプレゼンス ビットがなければデータ文字列の最初のバイトのアドレスを、アプリケーション プログラム側でUsing Data Pointerに入れなければなりません。
リクエスト文字列の中にUSING句がない場合には、Using Data Lengthを必ずゼロに設定します。そうしなければ、Using Data Pointer内の値が何であっても実際のアドレスとみなされて使用され、予期しないエラーが発生することがあります。