ASBITSTREAM-Funktion

Beginn der ÄnderungDie ASBITSTREAM-Feldfunktion generiert einen Bitstrom für die untergeordnete Baumstruktur eines angegebenen Feldes gemäß den Regeln des Parsers, zu dem das Feld gehört. Ende der Änderung

Die ASBITSTREAM-Feldfunktion verwendet vom Aufrufenden bereitgestellte Parameter für folgende Elemente:
  • ENCODING
  • CCSID
  • Nachrichtengruppe
  • Nachrichtentyp
  • Nachrichtenformat
  • OPTIONS
Bei Verwendung der ASBITSTREAM-Funktion finden die Einschränkungen der vorhandenen BITSTREAM-Funktion, die nur in einer Baumstruktur verwendet werden kann, die von einem zu einem Empfangsknoten gehörigen Parser erstellt wurde, keine Anwendung mehr.

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

SYNTAX

Jede Klausel darf nur einmal vorkommen.

ASBITSTREAM gibt einen Wert des Typs BLOB mit einer Bitstromdarstellung des Feldes zurück, auf das von Feldverweis und dessen untergeordneten Elementen verwiesen wird.

Der hierfür 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 eingesetzt, der auch von einem Sendeknoten verwendet wird. 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 gilt ebenfalls, dass zur Bitstromgenerierung derselbe Algorithmus eingesetzt wird, der auch von einem Sendeknoten verwendet wird. Darüberhinaus werden auch die folgenden Elemente:
    • ENCODING
    • 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 Merkmale im Wesentlichen dem, der für die Funktion BITSTREAM verwendet wird.

Einige Parser unterstützen noch einen anderen Modus, FolderBitStream, bei dem ein aussagefähiger Bitstrom für alle Unterverzeichnisstrukturen generiert wird, wenn das Feld, auf das gezeigt wird, einen Ordner darstellt.

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'

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).

Dem generierten Wert wird der Typ INTEGER zugeordnet; der Wert 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 Fehlerauswertungsaktion...
        ValidateException
        ValidateExceptionList
        ValidateLocalError
        ValidateUserTrace

        Optionen für Auswertungen von Wertvorgaben...
        ValidateFullConstraints
        ValidateBasicConstraints

        Optionen für Auswertungen von Korrekturen...
        ValidateFullFixUp
       ValidateNoFixUp
Hinweise:
  1. Die Option validateFullFixUp ist zur zukünftigen Verwendung reserviert. Bei der Auswahl von validateFullFixUp ist das Verhalten mit dem Verhalten von validateNoFixUp identisch.
  2. Die Option validateFullConstraints ist zur zukünftigen Verwendung reserviert. Bei der Auswahl von validateFullConstraints ist das Verhalten mit dem Verhalten von validateBasicConstraints identisch.
  3. 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-lug-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 CCSID-Klausel folgen 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 werden die vom Parser selbst bestimmten 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, so dass die Angabe eines beliebigen Wertes 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 der folgenden 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);
Zugehörige Konzepte
Übersicht zu ESQL
Namespaces in der Eigenschaft 'Nachrichtentyp' angeben
Mehrteilige Nachrichten
Zugehörige Tasks
ESQL erstellen
Handhabung umfangreicher XML-Nachrichten
Mit XML-Nachrichten und Bitströmen arbeiten
Zugehörige Verweise
Syntaxdiagramme: Verfügbare Typen
ESQL-Feldfunktionen
Funktion BITSTREAM (veraltet)
Unterstützte Codepages
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:29:30

ak05510_