WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

ASBITSTREAM-Funktion

Die ASBITSTREAM-Feldfunktion generiert einen Bitstrom für die untergeordnete Baumstruktur eines angegebenen Feldes gemäß den Regeln des Parsers, zu dem das Feld gehört:

Die ASBITSTREAM-Feldfunktion verwendet Parameter, die dem Anrufer für folgende Optionen bereitgestellt werden:
  • Codierung
  • ID des codierten Zeichensatzes (CCSID)
  • Nachrichtengruppe
  • Nachrichtentyp
  • Nachrichtenformat
  • Optionen
Die ASBITSTREAM-Funktion hebt die Einschränkungen der vorhandenen BITSTREAM-Funktion auf, die nur in einer Baumstruktur verwendet werden kann, die von einem Parser erstellt wurde, der zu einem Empfangsknoten gehört.

Diese BITSTREAM-Funktion wird nur aus Gründen der Kompatibilität mit früheren Versionen beibehalten.

Syntax

Syntaxdiagramm lesenSyntaxdiagramm überspringen
>>-ASBITSTREAM -( -Feldverweis--+----------------------------+--)-><
                                | .-<<---------------------. |      
                                | V                        | |      
                                '---+-OPTIONS--Ausdruck--+-+-'      
                                    +-ENCODING--Ausdruck-+          
                                    +-CCSID--Ausdruck----+          
                                    +-SET--Ausdruck------+          
                                    +-TYPE--Ausdruck-----+          
                                    '-FORMAT--Ausdruck---'          

Beachten Sie, dass jede Klausel nur einmal vorkommen kann.

ASBITSTREAM gibt einen Wert des Typs BLOB mit einer Bitstromdarstellung des Feldes, auf das Feldverweis zeigt, und dessen untergeordnete Elemente zurück.

Der hierzu verwendete Algorithmus hängt vom Parser und den angegebenen Optionen ab. Alle Parser unterstützen die folgenden Modi:
  • RootBitStream: In diesem Modus wird zur Bitstromgenerierung derselbe Algorithmus wie von einem Sendeknoten verwendet. Dabei wird ein aussagefähiges Ergebnis nur erreicht, wenn sich das Feld, auf das gezeigt wird, am Anfang einer Unterverzeichnisstruktur mit einer geeigneten Struktur befindet.
  • EmbeddedBitStream: In diesem Modus wird zur Bitstromgenerierung nicht nur derselbe Algorithmus wie von einem Sendeknoten verwendet, sondern es werden auch die Eigenschaften für
    • Codierung
    • ID des codierten Zeichensatzes (CCSID)
    • Nachrichtengruppe
    • Nachrichtentyp
    • Nachrichtenformat
    auf dieselbe Weise wie vom Sendeknoten festgelegt, falls sie nicht explizit angegeben werden. Das heißt, sie werden festgelegt, indem die vorhergehenden gleichgeordneten Elemente von Feldverweis durchsucht werden, wobei vorausgesetzt wird, dass sie Header darstellen.

    Auf diese Weise entspricht der Algorithmus zur Festlegung dieser Eigenschaften im Wesentlichen dem, der für die Funktion BITSTREAM verwendet wird.

Einige Parser unterstützen auch einen anderen Modus, FolderBitStream, in dem ein aussagefähiger Bitstrom für jede Unterverzeichnisstruktur generiert wird, vorausgesetzt, das Feld, auf das gezeigt wird, stellt einen Ordner dar.

In allen Fällen kann der erhaltene Bitstrom an eine CREATE-Anweisung mit einer PARSE-Klausel übergeben werden, wobei dieselben DOMAIN- und OPTIONS-Parameter verwendet werden, um die ursprüngliche Unterverzeichnisstruktur zu reproduzieren.

Beim Aufrufen der Funktion werden alle Klauselausdrücke ausgewertet. Falls einer der Ausdrücke keinen Wert mit dem entsprechenden Typ ergibt, wird eine Ausnahme ausgelöst.

Falls einer der Parameter NULL ist, ist auch das Ergebnis NULL.

Klausel Typ Standardwert
OPTIONS Ganzzahl RootBitStream & ValidateNone
ENCODING Ganzzahl 0
CCSID Ganzzahl 0
SET Zeichen Zeichenfolge mit einer Länge von '0'
TYPE Zeichen Zeichenfolge mit einer Länge von '0'
FORMAT Zeichen Zeichenfolge mit einer Länge von '0'

Details zur Syntax der TYPE-Klausel finden Sie im Abschnitt Namespaces in der Eigenschaft 'Nachricht' angeben.

Obwohl die OPTIONS-Klausel alle Ausdrücke akzeptiert, die einen Wert des Typs INTEGER zurückgeben, ist es nur sinnvoll, Optionswerte aus der Liste der verfügbaren Konstanten zu generieren (unter Verwendung der BITOR-Funktion, wenn mehrere Optionen erforderlich sind).

Der generierte Wert wird dem Typ INTEGER zugeordnet und kann in einer Variablen gespeichert, als Parameter an eine Funktion übergeben oder direkt in einem ASBITSTREAM-Aufruf verwendet werden. Liste mit global definierten Konstanten:
        Masteroptionen für Validierung...
        ValidateContentAndValue
        ValidateValue		-- Kann mit 'ValidateContent' verwendet werden
        ValidateContent		-- Kann mit 'ValidateValue' verwendet werden
        ValidateNone

         Optionen für Fehlerauswertung...
        ValidateException
        ValidateExceptionList
        ValidateLocalError
        ValidateUserTrace
Hinweis:
  1. Der Abschnitt Auswertungseigenschaften enthält detaillierte Informationen zu den Auswertungsoptionen.

Funktional entsprechende C- und Java™-APIs

Funktional entsprechende Optionen stehen nicht zur Verfügung in:
  • den MBElement-Methoden createElementAsLastChildFromBitstream() und toBitstream() der Java-Plug-in-Knoten-API
  • den Methoden cniCreateElementAsLastChildFromBitstream() und cniElementAsBitstream der C-Plug-in-Knoten-API.

Es kann jeweils nur eine Option aus jeder Gruppe ausgewählt werden. Dies gilt nicht für 'ValidateValue' und 'ValidateContent'. Diese zwei Optionen können für die Inhalt- und Wertevalidierung zusammen verwendet werden. Wenn Sie keine Option in einer Gruppe angeben, wird die fettgedruckte Option verwendet.

Die ENCODING-Klausel akzeptiert alle Ausdrücke, die einen Wert des Typs INTEGER zurückgeben. Es ist jedoch nur sinnvoll, Codierungswerte aus der Liste der verfügbaren Konstanten zu generieren:
       0
       MQENC_INTEGER_NORMAL
       MQENC_INTEGER_REVERSED
       MQENC_DECIMAL_NORMAL
       MQENC_DECIMAL_REVERSED
       MQENC_FLOAT_IEEE_NORMAL
       MQENC_FLOAT_IEEE_REVERSED
       MQENC_FLOAT_S390
Bei 0 wird die Codierung des WS-Managers verwendet.

Die Werte für die Klausel CCSID entsprechen dem normalen Nummerierungssystem. Beispiel: 1200 = UCS-2, 1208 = UTF-8.

Außerdem werden die Sonderwerte 0 und -1 unterstützt:
  • Bei 0 wird die CCSID des Warteschlangenmanagers verwendet.
  • Bei -1 wird die vom Parser bestimmte CCSID verwendet. Dieser Wert ist reserviert.

Für ABSENT-Klauseln werden die angegebenen Standardwerte verwendet. Verwenden Sie die Standardwerte für die CCSID und die Codierung, da diese aus den Einstellungen für die Codierung und die CCSID des WS-Managers übernommen werden.

Dementsprechend sollten Sie die Standardwerte für die Nachrichtengruppen-, Nachrichtentyp- und Nachrichtenformatoptionen verwenden, da für viele Parser Informationen zu Nachrichtengruppe, -typ und -format nicht erforderlich sind, sodass die Angabe eines beliebigen Werts möglich ist.

Nach Auswertung der Ausdrücke wird der entsprechende Bitstrom generiert.
Anmerkung: Da in dieser Funktion eine Vielzahl von Klauseln enthalten sind, wird eine alternative Syntax unterstützt, in der eine durch Kommas getrennte Liste von Parametern und keine benannten Klauseln bereitgestellt werden. In diesem Fall müssen die Ausdrücke in folgender Reihenfolge angegeben werden:
ENCODING -> CCSID -> SET -> TYPE -> FORMAT -> OPTIONS

Die Liste kann an jeder beliebigen Stelle abgeschnitten werden und für alle Klauseln, für die Sie keinen Wert angeben, können Sie einen ganz leeren Ausdruck verwenden.

Beispiele

      DECLARE options INTEGER BITOR(FolderBitStream, ValidateContent, ValidateValue);
      SET result = ASBITSTREAM(cursor OPTIONS options CCSID 1208);
      SET Result = ASBITSTREAM(Environment.Variables.MQRFH2.Data,,1208
                               ,,,,options);
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

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

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:21:34


ReferenzthemaReferenzthema | Version 8.0.0.5 | ak05510_