引数とその記述子が記述子ロケーターによって渡される場合は、 引数に記述子が必要であるときにはいつでも、その引数用のロケーター/記述子のアドレスが代わりに渡されます。
ストリングを除いて、ロケーター/記述子は、ポインターの対です。 最初のポインターはデータのアドレスで、2 番目のポインターは記述子のアドレスです。 ストリングの場合、CMPAT(LE) では、ロケーター/記述子は同じく、ポインターの対です。 ただし、他の CMPAT オプションでは、ロケーター/記述子は、ストリングのアドレスおよびストリング記述子自体から成ります。
例えば、次のようにルーチン sample が再度宣言されたとします。
declare sample entry( fixed bin(31), varying char(*) )
options( byaddr descriptor );さらに、sample が次のようなステートメントで呼び出されたとします。
call sample( 1, 'test' );
この場合、次の 2 つの引数がルーチンに渡されます。