WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

ASBITSTREAM 関数

ASBITSTREAM フィールド関数は、フィールドを所有するパーサーの規則に従って、特定のフィールドのサブツリーのビット・ストリームを生成します。

ASBITSTREAM フィールド関数は、呼び出し側が提供する以下についてのパラメーターを使用します。
  • エンコード
  • CCSID
  • メッセージ・セット
  • メッセージ・タイプ
  • メッセージ形式
  • オプション
ASBITSTREAM 関数により、入力ノードに属するパーサーで生成されたツリー上でしか使用できないという従来の BITSTREAM 関数の制約が除去されます。

BITSTREAM 関数は、以前のバージョンとの互換性を保つためだけに残されています。

構文

構文図を読む構文図をスキップする
>>-ASBITSTREAM -( -FieldReference--+------------------------------+--)-><
                                   | .-<<-----------------------. |      
                                   | V                          | |      
                                   '---+-OPTIONS--expression--+-+-'      
                                       +-ENCODING--expression-+          
                                       +-CCSID--expression----+          
                                       +-SET--expression------+          
                                       +-TYPE--expression-----+          
                                       '-FORMAT--expression---'          

各文節は、それぞれ 1 回だけしか使用できないことに注意してください。

ASBITSTREAM は、FieldReference とその子が指示するフィールドのビット・ストリームの表現を含む、タイプ BLOB の値を戻します。

このことを実行するアルゴリズムは、パーサーごとに、指定されたオプションごとに異なります。 すべてのパーサーは、以下のモードをサポートしています。
  • RootBitStream。このモードでは、出力ノードで使用されているアルゴリズムと同じビット・ストリーム生成アルゴリズムが使用されます。 ただし、このモードでは、指示されているフィールドが適切な構造を持つサブツリーの最上位にある場合にのみ、有効な結果が得られます。
  • EmbeddedBitStream。このモードでは、ビット・ストリームを生成するアルゴリズムが、出力ノードで使用されているアルゴリズムと同じであるだけではなく、
    • エンコード
    • CCSID
    • メッセージ・セット
    • メッセージ・タイプ
    • メッセージ形式
    が、明示的に指定されていなければ、出力ノードと同じ方法で判別されます。 つまり、FieldReference の直前の兄弟がヘッダーを表すと想定して、それらを検索することによって判別されます。

    このように、これらのプロパティーを判別するアルゴリズムは BITSTREAM 関数で使用されるものと実質的に同じです。

パーサーの中には、FolderBitStream という別のモードをサポートしているものもあります。このモードでは、指示されているフィールドがフォルダーを表していれば、どのようなサブツリーでも有効なビット・ストリームが生成されます。

いずれのケースでも、生成されるビット・ストリームは、同じ DOMAIN および OPTIONS を使用して PARSE 文節を付けて CREATE ステートメントに指定すると、オリジナルのサブツリーを再現できます。

関数が呼び出されると、すべての文節の式が評価されます。 式のいずれかが適切なタイプの値を結果として渡さないと、例外がスローされます。

いずれかのパラメーターが NULL なら、結果は NULL です。

文節 タイプ デフォルト値
OPTIONS 整数 RootBitStream & ValidateNone
ENCODING 整数 0
CCSID 整数 0
SET CHARACTER ゼロ長ストリング
TYPE CHARACTER ゼロ長ストリング
FORMAT CHARACTER ゼロ長ストリング

TYPE 節の構文の詳細については、「メッセージ」プロパティーでのネーム・スペースの指定を参照してください。

OPTIONS 文節は、整数タイプの値を戻す式をすべて受け入れます。この文節は、与えられた定数のリストにあるオプション値を生成する場合にのみ有効です (なお、複数のオプションが必要な場合は、BITOR 関数を使用します)。

生成された値は整数になるため、変数に保存すること、パラメーターとして関数に渡すこと、または ASBITSTREAM 呼び出しで直接使用することが可能です。 グローバルに定義された定数のリストは次のとおりです。
        妥当性検査マスター・オプション...
        ValidateContentAndValue
        ValidateValue		-- ValidateContent と一緒に使用できる
        ValidateContent		-- ValidateValue と一緒に使用できる
        ValidateNone

        妥当性検査障害アクション・オプション...
        ValidateException
        ValidateExceptionList
        ValidateLocalError
        ValidateUserTrace
注:
  1. 妥当性検査オプションについての詳細は、妥当性検査プロパティーを参照してください。

C および Java™ の等価 API

以下のメソッドでは等価のオプションを使用できないことに注意してください。
  • Java プラグイン・ノード API MBElement メソッド createElementAsLastChildFromBitstream() および toBitstream()
  • C プラグイン・ノード API メソッド cniCreateElementAsLastChildFromBitstream() および cniElementAsBitstream

各グループから 1 つのオプションだけが指定できます。ValidateValue と ValidateContent は例外で、内容と値の妥当性検査を入手するために一緒に使用できます。 グループ内のオプションを指定しないと、太字のオプションが使用されます。

ENCODING 文節は、整数タイプの値を戻すすべての式を受け入れます。 ただし、下の定数のリストにある定数から Encoding の値を生成する場合にのみ、有効です。
       0
       MQENC_INTEGER_NORMAL
       MQENC_INTEGER_REVERSED
       MQENC_DECIMAL_NORMAL
       MQENC_DECIMAL_REVERSED
       MQENC_FLOAT_IEEE_NORMAL
       MQENC_FLOAT_IEEE_REVERSED
       MQENC_FLOAT_S390
0 は、キュー・マネージャーのエンコード方式を使用します。

CCSID 文節に使用される値は、通常の番号付けの方式に従います。 例えば、1200 = UCS-2、1208 = utf-8 のようになります。

さらに、特殊値の 0 および -1 がサポートされています。
  • 0 は、キュー・マネージャーの 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);
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:47:27


参照トピック参照トピック | バージョン 8.0.0.5 | ak05510_