ODBC API によっては、ビット・マスクを設定し、ビットを照会する必要があります。ライブラリー・ルーチン iwzODBCTestBits を使用してビットを照会することができます。 iwzODBCTestBits を呼び出すアプリケーションと IWZODBC.LIB インポート・ライブラリーをリンクする必要があります。
このルーチンを次のように呼び出します。
CALL “iwzODBCTestBits” USING identifier-1, identifier-2 RETURNING identifier-3
ODBCCOB コピーブック内で定義されたビット・マスクを使用する COBOL 算術式で、1 つのフィールドに複数のビットを設定することができます。例えば、次のステートメントでは、InfoValue フィールド内に、SQL-CVT-CHAR、SQL-CVT-NUMERIC、および SQL-CVT-DECIMAL に対するビットを設定することができます。
COMPUTE InfoValue = SQL-CVT-CHAR + SQL-CVT-NUMERIC + SQL-CVT-DECIMAL
InfoValue を設定したら、これを 2 番目の引数として、iwzTestBits 関数に渡すことができます。
上記の算術式の各オペランドは、ODBCCOB コピーブックで定義されたとおりに、結合解除ビットを表します。結果として、加算では意図したビットが ON になるように設定されます。ただし演算子は論理 OR ではないので、このような算術式ではビットが繰り返されることがないように注意してください。 例えば、次のコードを使用すると、InfoValue 上に意図した SQL-CVT-CHAR ビットが指定されなくなります。
COMPUTE InfoValue = SQL-CVT-CHAR + SQL-CVT-NUMERIC + SQL-CVT-DECIMAL + SQL-CVT-CHAR
呼び出し時に有効な呼び出しインターフェース規約は、CALLINT SYSTEM DESCRIPTOR でなければなりません。