Funktion ASBITSTREAM

Die Feldfunktion ASBITSTREAM generiert einen Bitstrom für die Unterverzeichnisstruktur eines angegebenen Feldes gemäß den Regeln des Parsers, der Eigner des Feldes ist, und verwendet dabei Parameter, die für Folgendes vom aufrufenden Programm übergeben werden:
  • Codierung
  • ID des codierten Zeichensatzes (CCSID)
  • Nachrichtengruppe
  • Nachrichtentyp
  • Nachrichtenformat
  • Optionen
Diese Funktion hebt die Einschränkung der bestehenden Funktion BITSTREAM auf, die nur für Verzeichnisstrukturen verwendet werden kann, die von einem Parser, der zu einem Empfangsknoten gehört, erstellt wurden.

Diese BITSTREAM-Funktion wird nur aus Gründen der Abwärtskompatibilität beibehalten.

SYNTAX

ASBITSTREAM gibt einen Wert des Typs BLOB mit einer Bitstromdarstellung des Feldes, auf das Feldreferenz 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 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 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 Feldreferenz 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
Optionen Ganzzahl RootBitStream & ValidateNone
Codierung Ganzzahl 0
ID des codierten Zeichensatzes (CCSID) Ganzzahl 0
Nachrichtengruppe Zeichen Zeichenfolge mit Nulllänge
Nachrichtentyp Zeichen Zeichenfolge mit Nulllänge
Nachrichtenformat Zeichen Zeichenfolge mit Nulllänge

Obwohl die Klausel OPTIONS jeden Ausdruck akzeptiert, der einen Wert des Typs Ganzzahl zurückgibt, ist es nur dann sinnvoll, mit Hilfe der Funktion BITOR Optionswerte aus der Liste der angegebenen Konstanten zu generieren, wenn mehrere Optionen erforderlich sind.

Nach der Generierung wird der Wert zu einer Ganzzahl und kann in einer Variablen gespeichert oder als Parameter an eine Funktion übergeben werden. Er kann aber auch direkt in einem ASBITSTREAM-Aufruf verwendet werden. Es folgt die Liste der 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
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
ak05510_