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:
Diese BITSTREAM-Funktion wird nur aus Gründen der Kompatibilität mit früheren Versionen beibehalten.
Beachten Sie, dass jede Klausel nur einmal vorkommen kann.>>-ASBITSTREAM -( -Feldverweis--+----------------------------+--)->< | .-<<---------------------. | | V | | '---+-OPTIONS--Ausdruck--+-+-' +-ENCODING--Ausdruck-+ +-CCSID--Ausdruck----+ +-SET--Ausdruck------+ +-TYPE--Ausdruck-----+ '-FORMAT--Ausdruck---'
ASBITSTREAM gibt einen Wert des Typs BLOB mit einer Bitstromdarstellung des Feldes, auf das Feldverweis zeigt, und dessen untergeordnete Elemente zurück.
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).
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
Funktional entsprechende C- und Java™-APIs
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.
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.
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.
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.
DECLARE options INTEGER BITOR(FolderBitStream, ValidateContent, ValidateValue);
SET result = ASBITSTREAM(cursor OPTIONS options CCSID 1208);
SET Result = ASBITSTREAM(Environment.Variables.MQRFH2.Data,,1208
,,,,options);