COBOL - Funções intrínsecas - UPOS



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Funções intrínsecas - UPOS
Intrinsic functions - Enterprise COBOL for z/OS 6.3.0

A função UPOS retorna um valor inteiro igual ao índice do enésimo caractere UTF-8 ou UTF-16 em um argumento de item de dados de caracteres que contém UTF-8 ou UTF-16.

O tipo de função é inteiro.

argument-1
Deve ser da classe alfabética, alfanumérica, nacional ou UTF-8.
O argument-1 deve conter caracteres codificados UTF-8 ou UTF-16 válidos:
  • Se o argument-1 for da classe alfabética, alfanumérica ou UTF-8, ele deverá conter dados UTF-8 válidos.
  • Se o argument 1 for da classe nacional, ele deverá conter dados UTF-16 válidos.
argument-2
Deve ser um número inteiro.

Suponha que o argument-1 seja alfabético ou alfanumérico e o argument-2 = n, o valor retornado seja a posição em bytes do enésimo caractere UTF-8 no argument-1.
Suponha que o argument-1 seja um item de dados nacional e o argument-2 = n, o valor retornado seja a posição de byte do enésimo caractere UTF-16 no argument-1.

Se o argument-2 não for positivo ou se o argument-2 for maior que ULENGTH (argument-1), zero será retornado.
Caso contrário, se argument-2 = n, o valor retornado será a posição de byte no argument-1 onde o enésimo caractere UTF-8 ou UTF-16 é iniciado.

O valor retornado de UPOS é um número inteiro de 9 dígitos se LP (32) estiver em vigor ou um número inteiro de 18 dígitos se LP (64) estiver em vigor.

Exemplo 1

Se A é um item alfanumérico que contém o valor UTF-8 x'4BC3A4666572 '(' Käfer '), os valores retornados são os seguintes:

  • UPOS(A 1) retorna 1
  • UPOS(A 2) retorna 2
  • UPOS(A 3) retorna
  • a
  • UPOS(A 4) retorna 5
  • UPOS(A 5) retorna 6

Exemplo 2

Se B é um item nacional que contém o valor UTF-16 x'005400F6006200750072D858DC6B0073 '(' Töber ?? s '), os valores retornados são os seguintes:

  • UPOS (B 1) retorna 1
  • UPOS (B 2) retorna 3
  • UPOS (B 3) retorna 5
  • UPOS (B 4) retorna 7
  • UPOS (B 5) retorna 9
  • UPOS (B 6) retorna 11
  • UPOS (B 7) retorna 15

Exemplo 3

Se o argumento 1 for um item codificado em UTF-8 e o argumento UTF-8 contiver caracteres compostos, os caracteres combinados serão contados individualmente.
Por exemplo, quando codificado em UTF-8, o caractere Unicode ä pode ser x'C3A4 'ou x'61CC88'.
Com um dos caracteres UTF-8 no argumento-1, os valores retornados da função UPOS são diferentes.

Veja a tabela a seguir para detalhes.

Valores Retornados da Função UPOS

argument-1 Codificação Unicode Codificação UTF-8 Valores retornados da função UPOS
C = äK U+00E4 + U+004B (forma pré-composta,
letra minúscula latina a com diérese + letra maiúscula latina K)
x'C3A44B' (äK) UPOS(C 1) retorna 1
UPOS(C 2) retorna 3
UPOS(C 3) retorna 0
U + 0061 + U + 0308 + U + 004B (decomposição canônica,
letra minúscula latina a + diaerese combinada + letra maiúscula latina K)
x'61CC884B' (äK) UPOS(C 1) retorna 1
UPOS(C 2) retorna 2
UPOS(C 3) retorna 4


© Copyright IBM Corp.