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.

Funktionen UPPER und UCASE

UPPER und UCASE sind funktional entsprechende Funktionen zur Bearbeitung von Zeichenfolgen, mit denen CHARACTER-Zeichenfolgedaten geändert und Kleinbuchstaben in einer Zeichenfolge in Großbuchstaben umgewandelt werden.

Syntax

Syntaxdiagramm lesenSyntaxdiagramm überspringen
>>-+-UPPER-+--(--Quellenzeichenfolge--)------------------------><
   '-UCASE-'                              

Sowohl UPPER als auch UCASE geben eine neue Zeichenfolge zurück, die mit der Quellenzeichenfolge identisch ist, außer dass alle Kleinbuchstaben durch die entsprechenden Großbuchstaben ersetzt wurden.

Beispiel:
UPPER('ABCD')
gibt 'ABCD' zurück.
UCASE('abc123')
gibt 'ABC123' zurück.
Zeichen von unterschiedlichen Codepages umwandeln

Bei der Verwendung bestimmter Codepages werden Zeichen ohne Entsprechung in Großschreibung möglicherweise umgewandelt, wenn Sie die Funktion UPPER oder UCASE benutzen. Zu dieser Konvertierung kommt es, da der Bitstrom vom Nachrichtenparser in eine Unicode-Nachrichtenbaumstruktur umgewandelt wird. Selbst wenn Zeichen keine Entsprechung in Großschreibung in der Quellcodeseite aufweisen, können sie diese dennoch in der Unicode-Codepage haben und werden von der UPPER oder UCASE-Funktion konvertiert. Wenn der Bitstrom wieder in die ursprüngliche Codepage umgewandelt wird, können diese Zeichen nicht zurückkonvertiert werden. In der Ausgabenachricht wird dann für jedes Zeichen ein Ersatzzeichen eingefügt. Das eingefügte Ersatzzeichen hängt von der ursprünglichen Codepage ab. Beispiel: Bei der Konvertierung in eine EBCDIC-Codepage wird ein X'3F'-Byte eingefügt und bei der Konvertierung in einer japanische Codepage ein X'7F'-Byte.

Eine Lösung zu diesem Problem besteht darin, mit der TRANSLATE-Funktion ausgewählte Zeichen in Großbuchstaben umzuwandeln und nicht die UPPER- oder UCASE-Funktion zu verwenden. Jegliche Zeichen, die keine Entsprechung in Großbuchstaben in der Codepage enthalten, werden aus der Konvertierung ausgeschlossen.

Im folgenden Beispiel befindet sich die Eingabenachricht in Codepage 284 und das Element InputRoot.XML.MSG.APPDATA enthält Zeichen, die keine Entsprechung in Großbuchstaben in der Codepage 284 haben, sondern diese in der Unicode-Codepage aufweisen. Mithilfe der TRANSLATE-Funktion werden nur die Kleinbuchstaben 'a' bis 'z' in ihre entsprechenden Großbuchstaben umgewandelt. Alle anderen Zeichen in InputRoot.XML.MSG.APPDATA werden nicht konvertiert.
DECLARE char1 CHAR;
SET char1 = TRANSLATE(InputRoot.XML.MSG.APPDATA,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ');
SET OutputRoot.MQMD.CodedCharSetId = 284;
SET OutputRoot.XML.TEST.translated = char1;
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

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

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


ReferenzthemaReferenzthema | Version 8.0.0.5 | ak05280_