BITSTREAM フィールド関数は、指定されたフィールドおよびその子によって記述されたビット・ストリームを表す値を戻します。 この関数を使用することは推奨されていません。代わりにこの関数より新しい ASBITSTREAM 関数を使用してください。
BITSTREAM 関数は、入力ノードに属するパーサーで生成されたツリー上でしか使用できません。 ASBITSTREAM 関数にはこの制限はありません。
構文

>>-BITSTREAM--(--field_reference--)----------------------------><
BITSTREAM 関数は、指定されたフィールドおよびその子によって記述されたビット・ストリームを表す、BLOB タイプの値を戻します。 着信メッセージの場合、着信ビット・ストリームの適切な部分が使用されます。
Compute ノードによって構成されたメッセージの場合には、次のアルゴリズムが使用されて、ENCODING、CCSID、メッセージ・セット、メッセージ・タイプ、およびメッセージ形式が設定されます。
- アドレス・フィールドに直前の兄弟があり、この兄弟がパーサーに属するサブツリーのルートであるため、ENCODING および CCSID を提供することのできる場合には、これらの値が入手されて、要求されたビット・ストリームの生成において使用されます。 そうでない場合には、ブローカーのデフォルトの ENCODING および CCSID (つまり、そのキュー・マネージャーの値) が使用されます。
- 同様に、アドレス・フィールドに直前の兄弟があり、この兄弟がパーサーに属するサブツリーのルートであるため、メッセージ・セット、メッセージ・タイプ、およびメッセージ形式を提供することのできる場合には、これらの値が入手されて、要求されたビット・ストリームの生成において使用されます。 そうでない場合には、長さがゼロのストリングが使用されます。
この関数は通常は、メッセージの中のビット・ストリームをデータベースに保管する必要がある、メッセージ・ウェアハウスのシナリオで使用されます。 この関数は、パラメーターで示された着信メッセージの物理部分のビット・ストリームを戻します。 場合によっては、指定された実際のフィールドを表すビット・ストリームが戻されないことがあります。 例えば次の 2 つの呼び出しは同じ値を戻します。
BITSTREAM(Root.MQMD);
BITSTREAM(Root.MQMD.UserIdentifier);
それらは、メッセージの中の同じ部分に含まれているからです。