使用上の注意
Using Data Lengthフィールドには、次の項目に関連した3つの意味があります。
- リクエスト文字列の内容
- データ文字列の内容
- データ文字列をバイト数で表わした長さ
言語 | 変数名 |
---|---|
COBOL: | DBCAREA-USING-DATA-LEN |
C: DBCAREA.H: | using_data_len |
ルーチン | 動作 |
---|---|
DBCHINI: | 書き込み |
DBCHCL: | 読み取り(IRQ) |
使用者 | 動作 |
---|---|
アプリケーション プログラム | 書き込み |
- Using Data Lengthがゼロの場合には、
- リクエスト文字列の中に、USING句があってはなりません。
- リクエストに付随するデータ文字列があってはなりません(したがって、Using Data Pointerの情報もUse Presence Bitsの情報も意味がない)。
- 存在しないデータ文字列の長さは、ゼロです。
- Using Data Lengthがゼロ以外の場合には、
- リクエスト文字列は、USING句で始まります。
- リクエストに付随するデータ文字列があります(したがってUsing Data PointerおよびUse Presence Bitsは意味のある情報を含む)。
- データ文字列の長さ(プレゼンス ビットがある場合は、それが入っているバイトも含む)は、Using Data Lengthの値としてバイト数で与えられます。
リクエストにUSING修飾子が入っている場合には、Initiate Request関数のDBCHCLを呼び出す前に、データベースのアプリケーション プログラム側でデータ文字列を組み立てておかなければなりません。データ文字列には、USING修飾子によって記述されるデータを含めなければなりません。
データ文字列は、Using Data Lengthの中に入れられます。
DBCHCLはリクエスト文字列の解析を行なわないので、アプリケーション プログラム側でリクエスト文字列がUSING句を含んでいるかどうかをチェックしてからUsing Data Lengthを適切に設定する必要があります。