なお、BITSTREAM 関数は、後方互換性を保つためだけに残されています。
ASBITSTREAM は、FieldReference とその子が指示するフィールドのビット・ストリームの表現を含む、タイプ BLOB の値を戻します。
このように、これらのプロパティーを判別するアルゴリズムは BITSTREAM 関数で使用されるものと実質的に同じです。
パーサーの中には、FolderBitStream という別のモードをサポートしているものもあります。このモードでは、指示されているフィールドがフォルダーを表していれば、どのようなサブツリーでも有効なビット・ストリームが生成されます。
いずれのケースでも、生成されるビット・ストリームは、同じ DOMAIN および OPTIONS を使用して PARSE 文節を付けて CREATE ステートメントに指定すると、オリジナルのサブツリーを再現できます。
関数が呼び出されると、すべての文節の式が評価されます。式のいずれかが適切なタイプの値を結果として渡さないと、例外がスローされます。
いずれかのパラメーターが NULL なら、結果は NULL です。
文節 | タイプ | デフォルト値 |
---|---|---|
Options | integer | RootBitStream & ValidateNone |
Encoding | integer | 0 |
Ccsid | integer | 0 |
Message set | character | ゼロ長ストリング |
Message type | character | ゼロ長ストリング |
Message format | character | ゼロ長ストリング |
OPTIONS 文節は、整数タイプの値を戻す式をすべて受け入れます。この文節は、与えられた定数のリストにあるオプション値を生成する場合にのみ有効です (なお、複数のオプションが必要な場合は、BITOR 関数を使用します)。
妥当性検査マスター・オプション... ValidateContentAndValue ValidateValue -- ValidateContent と一緒に使用できる ValidateContent -- ValidateValue と一緒に使用できる ValidateNone 妥当性検査障害アクション・オプション... ValidateException ValidateExceptionList ValidateLocalError ValidateUserTrace 妥当性検査の値制約オプション... ValidateFullConstraints ValidateBasicConstraints 妥当性検査の修正オプション... ValidateFullFixUp ValidateNoFixUp
C および Java の等価 API
各グループから 1 つのオプションだけが指定できます。ValidateValue と ValidateContent は例外で、内容と値の妥当性検査を入手するために一緒に使用できます。グループ内のオプションを指定しないと、太字のオプションが使用されます。
0 MQENC_INTEGER_NORMAL MQENC_INTEGER_REVERSED MQENC_DECIMAL_NORMAL MQENC_DECIMAL_REVERSED MQENC_FLOAT_IEEE_NORMAL MQENC_FLOAT_IEEE_REVERSED MQENC_FLOAT_S3900 は、キュー・マネージャーのエンコード方式を使用します。
CCSID 文節に使用される値は、通常の番号付けの方式に従います。例えば、1200 = UCS-2、1208 = utf-8 のようになります。
0 -10 の場合にはキュー・マネージャーの CCSID を使用し、-1 はパーサー自体が決定した CCSID を使用します。この値は、予約済みです。
文節が指定されていない場合、所定のデフォルト値が使用されます。デフォルト値は、キュー・マネージャーの Encoding や CCSID の設定から取られた値なので、CCSID および Encoding のデフォルト値を使用してください。
同様に、Message Set、Message Type、および Message Format の各オプションについても、多くのパーサーがメッセージ・セット、メッセージ・タイプ、およびメッセージ形式の情報を必要としない (したがって、有効な値であれば何でもよい) ため、それぞれのデフォルト値を使用してください。
ENCODING -> CCSID -> SET -> TYPE -> FORMAT -> OPTIONS
リストはどこで切り捨ててもよく、値を提供しない文節にはまったく空の式を使用することもできます。
DECLARE options INTEGER BITOR(FolderBitStream, ValidateContent, ValidateValue); SET result = ASBITSTREAM(cursor OPTIONS options CCSID 1208); SET Result = ASBITSTREAM(Environment.Variables.MQRFH2.Data,,1208,,,,options);