ODBC が受け入れ可能なデータ型の 1 つに対するポインター引数を指定する場合、ポインター BY REFERENCE のターゲットを渡すか、ターゲット項目を指すポインター項目を定義してそれを BY VALUE で渡すか、ターゲットの ADDRESS OF を BY VALUE で渡すかのいずれかを実行する必要があります。
例えば、関数が次のように定義されているとします。
RETCODE SQLSomeFunction(PSomeArgument)
ここで、PSomeArgument は、SomeArgument を指す引数として定義されています。この引数を SQLSomeFunction に渡すには、次のいずれかの方法を使用します。
CALL “SQLSomeFunction” USING BY REFERENCE SomeArgument
SomeArgument が入力引数の場合は、代わりに USING BY CONTENT SomeArgument を使用することができます。
SET PSomeArgument TO ADDRESS OF SomeArgument CALL “SQLSomeFunction” USING BY VALUE PSomeArgument
CALL “SQLSomeFunction” USING BY VALUE ADDRESS OF SomeArgument
最後の方法を使用できるのは、ターゲット引数 SomeArgument が LINKAGE SECTION 内のレベル 01 項目の場合のみです。このような場合は、次のいずれかの方法で、アドレス可能度を SomeArgument に設定することができます。
SET ADDRESS OF SomeArgument TO a-pointer-data-item SET ADDRESS OF SomeArgument to ADDRESS OF an-identifier