WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Funciones UPPER y UCASE

UPPER y UCASE son funciones de manipulación de series de caracteres equivalentes que manipulan datos de series de caracteres de tipo CHARACTER y convierten los caracteres en minúsculas de una serie de caracteres a mayúsculas.

Sintaxis

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual
>>-+-UPPER-+--(--serie_origen--)-------------------------------><
   '-UCASE-'                       

Las funciones LOWER y UCASE devuelven una nueva serie de caracteres, que es idéntica a serie_origen, con la excepción de que todas las letras en minúsculas se sustituyen por las letras en mayúsculas correspondientes.

Por ejemplo:
UPPER('ABCD')
devuelve 'ABCD'.
UCASE('abc123')
devuelve 'ABC123'.
Conversión de caracteres de páginas de códigos diferentes a mayúsculas

Si está utilizando ciertas páginas de códigos, los caracteres que no tienen ningún equivalente en mayúsculas en su página de códigos pueden convertirse cuando utilice la función UPPER o UCASE. Esta conversión tiene lugar porque el analizador de mensajes convierte la corriente de bits en un árbol de mensajes Unicode. Aunque los caracteres pueden no tener ningún equivalente en mayúsculas en la página de códigos origen, pueden tener, sin embargo, un equivalente en mayúsculas en la página de códigos Unicode, y se convierten con la función UPPER o UCASE. Cuando la corriente de bits se convierte de nuevo a la página de códigos original, estos caracteres no se pueden volver a convertir y se inserta un carácter de sustitución en el mensaje de salida para cada carácter. El carácter de sustitución que se inserta depende de la página de códigos original. Por ejemplo, la conversión a una página de códigos EBCDIC inserta un byte X'3F' y la conversión a una página de códigos japonesa inserta un byte X'7F'.

Una solución a este problema es utilizar la función TRANSLATE para convertir caracteres seleccionados a mayúsculas, en lugar de utilizar la función UPPER o UCASE. Todos los caracteres que no tienen equivalente en mayúsculas en la página de códigos se excluyen de la conversión.

En el ejemplo siguiente, el mensaje de entrada está en la página de códigos 284, y el elemento InputRoot.XML.MSG.APPDATA contiene caracteres que no tienen un equivalente en mayúsculas en la página de códigos 284, pero que sí tienen equivalentes en mayúsculas en la página de códigos Unicode. La función TRANSLATE se utiliza para convertir solamente los caracteres en minúsculas 'a' a 'z' a sus caracteres equivalentes en mayúsculas. Cualquier otro carácter en InputRoot.XML.MSG.APPDATA se excluye de la conversión.
DECLARE char1 CHAR;
SET char1 = TRANSLATE(InputRoot.XML.MSG.APPDATA,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ');
SET OutputRoot.MQMD.CodedCharSetId = 284;
SET OutputRoot.XML.TEST.translated = char1;
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

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

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:59:56


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ak05280_