UPCASV: Como Criar uma String em Maiúsculas de Comprimento Variável

Como:

Linguagens Disponíveis: Reporting

UPCASV converte caracteres alfanuméricos em maiúsculas e é similar a UPCASE. No entanto, UPCASV pode exibir a saída AnV, cujo comprimento real é menor que o comprimento real da string fonte AnV e um parâmetro de entrada que especifica o limite superior.


Topo da página

x
Sintaxe: Como Criar uma string em maiúscula de comprimento variável
UPCASV(upper_limit, source_string, output)

onde:

upper_limit

Inteiro

É o limite do comprimento da string fonte. Pode ser uma constante positiva ou um campo cuja parte inteira representa o limite superior.

source_string

Alfanumérico do tipo An ou AnV

é a string a ser convertida em maiúsculas. Pode ser a string de caracteres colocada entre aspas simples (') ou um campo contendo a string de caracteres. Se for um campo, pode possuir o formato An ou AnV. Se for um campo do tipo AnV, seu comprimento é tirado do comprimento em bytes armazenado no campo. Se o upper_limit for menor do que o comprimento, a source_string será truncada conforme este limite máximo.

saída

Alfanumérico do tipo An ou AnV

É o campo que contém o resultado ou o formato do valor de saída posto entre aspas simples('). Isto pode ser um campo com o formato AnV ou An.

Se o formato de saída for AnV, então o comprimento real retornado será igual ao menor comprimento da string fonte e de upper_limit.



Exemplo: Como Criar uma String em Maiúsculas de Comprimento Variável

Suponha que vocês esteja classificando um campo que contém valores em maiúsculas e minúsculas e só em maiúsculas. A solicitação a seguir define um campo chamado LAST_NAME_MIXED que contém valores em maiúsculas e minúsculas e só em maiúsculas:

DEFINE FILE EMPLOYEE
LAST_NAME_MIXED/A15=IF DEPARTMENT EQ 'MIS' THEN LAST_NAME ELSE
LCWORD(15, LAST_NAME, 'A15');
LAST_NAME_UPCASV/A15V=UPCASV(5, LAST_NAME_MIXED, 'A15') ;
END

Suponha que você execute uma solicitação que classifica por este campo:

TABLE FILE EMPLOYEE
PRINT LAST_NAME_MIXED AND FIRST_NAME BY LAST_NAME_UPCASV
WHERE CURR_JOBCODE EQ 'B02' OR 'A17' OR 'B04';
END

A saída é:

LAST_NAME_UPCASV  LAST_NAME_MIXED  FIRST_NAME
----------------  ---------------  ----------
BANNI             Banning          JOHN
BLACK             BLACKWOOD        ROSEMARIE
CROSS             CROSS            BARBARA
MCCOY             MCCOY            JOHN
MCKNI             Mcknight         ROGER
ROMAN             Romans           ANTHONY

Information Builders