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, und verwendet Parameter, die vom Aufrufenden für Folgendes angegeben wurden:
  • ENCODING
  • CCSID
  • Nachrichtengruppe
  • Nachrichtentyp
  • Nachrichtenformat
  • OPTIONS
Diese Funktion hebt effektiv die Einschränkung 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 Abwärtskompatibilität beibehalten.

SYNTAX

Anmerkungen:
  1. Jede Klausel darf nur einmal vorkommen

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

Der zu diesem Zweck verwendete Algorithmus ist vom jeweiligen Parser und den angegebenen Optionen abhängig. Alle Parser unterstützen die folgenden Modi:
  • RootBitStream: In diesem Modus wird zur Generierung des Bitstroms der Algorithmus des Sendeknotens 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 Merkmale 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 Merkmale 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 Integer RootBitStream & ValidateNone
ENCODING Integer 0
CCSID Integer 0
Nachrichtengruppe Zeichen Zeichenfolge mit einer Länge von '0'
Nachrichtentyp Zeichen Zeichenfolge mit einer Länge von '0'
Nachrichtenformat 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).

Bei der Erstellung wird dem Wert der Typ INTEGER zugeordnet, und der Wert kann in einer Variablen gespeichert, als Parameter an eine Funktion übergeben oder auch 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

        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 Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne 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 entsprechen dem normalen Nummerierungssystem. Beispiel: 1200 = UCS-2, 1208 = UTF-8.

Außerdem werden folgende Sonderwerte unterstützt:
       0       -1
0 verwendet die CCSID des WS-Managers, und -1 verwendet die CCSID, die vom Parser selbst bestimmt wurde. 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-, Nachrichentyp- 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 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);
Zugehörige Konzepte
Übersicht zu ESQL
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
BITSTREAM-Funktion (veraltet)
Unterstütze Codepages
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak05510_