WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Funções UPPER e UCASE

UPPER e UCASE são funções de manipulação de cadeias equivalentes que manipulam os dados da cadeia CHARACTER e convertem caracteres minúsculos em uma cadeia para maiúsculas.

Sintaxe

Ler diagrama de sintaxeManter visual do diagrama de sintaxe
>>-+-UPPER-+--(--source_string--)------------------------------><
   '-UCASE-'                        

UPPER e UCASE retornam uma nova cadeia de caracteres, que é idêntica a source_string, exceto que todas as letras minúsculas são substituídas pelas letras maiúsculas correspondentes.

Por exemplo:
UPPER('ABCD')
returns 'ABCD'.
UCASE('abc123')
retorna 'ABC123'.
Convertendo Caracteres de Diferentes Páginas de Códigos para Maiúsculos

Se você estiver utilizando determinadas páginas de códigos, os caracteres sem equivalente maiúsculo em sua página de códigos poderão ser convertidos ao utilizar a função UPPER ou UCASE. Essa conversão ocorre porque o fluxo de bits é convertido para uma árvore de mensagens Unicode pelo analisador de mensagens. Mesmo que os caracteres não tenham equivalente maiúsculo na página de códigos de origem, ainda assim eles podem ter um equivalente maiúsculo na página de códigos Unicode e são convertidos pela função UPPER ou UCASE. Quando o fluxo de bits é convertido de volta para a página de códigos original, esses caracteres não podem ser reconvertidos e um caractere de substituição é inserido na mensagem de saída para cada caractere. O caractere de substituição inserido depende da página de códigos original. Por exemplo, a conversão para uma página de códigos EBCDIC insere um byte X'3F' e a conversão para uma página de códigos em japonês insere um byte X'7F'.

Uma solução para esse problema é utilizar a função TRANSLATE para converter caracteres selecionados para maiúsculos, em vez de utilizar a função UPPER ou UCASE. Quaisquer caracteres que não tiverem equivalente maiúsculo na página de códigos serão excluídos da conversão.

No exemplo a seguir, a mensagem de entrada está na página de código 284 e o elemento InputRoot.XML.MSG.APPDATA contém caracteres que não têm um equivalente em maiúsculas na página de código 284, mas têm equivalentes em maiúsculas na página de código Unicode. A função TRANSLATE é utilizada para converter apenas os caracteres minúsculos de 'a' até 'z' para seus caracteres maiúsculos equivalentes. Quaisquer outros caracteres em InputRoot.XML.MSG.APPDATA são excluídos da conversão.
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 | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:29:55


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | ak05280_