CHKFMT: Como Verificar o Formato de uma String

Como:

Linguagens Disponíveis: Reporting, Maintain

A função CHKFMT verifica se há caracteres ou tipos de caracteres incorretos uma string. Ela compara cada string a uma segunda, chamada de máscara. Cada caractere da string é comparado ao seu respectivo na máscara. Caso todos os caracteres estejam corretos, CHKFMT exibe o valor de 0. Caso contrário, CHKFMT exibe um valor igual à posição do primeiro caractere da string que não corresponde ao seu respectivo na máscara.

Se a máscara for mais curta do que a string, a função verifica apenas a parte da string que corresponde à máscara. Por exemplo, se você estiver utilizando uma máscara de quatro caracteres para testar uma string de nove caracteres, apenasos quatro primeiros caracteres da string serão verificados. O resto será considerado sem correspondente, e o CHKFMT exibirá a primeira posição sem correspondente como o resultado.


Topo da página

x
Sintaxe: Como Verificar o formato de uma string de caracteres
CHKFMT(numchar, source_string, 'mask', output)

onde:

numchar

Inteiro

É o número de caracteres a ser comparado à máscara.

string

Alfanumérico

É a string de caracteres a ser verificada, colocada entre aspas simples ou um campo ou variável contendo a string de caracteres.

'máscara'

Alfanumérico

É a máscara, que contém os caracteres de comparação incluídos em aspas simples.

Alguns caracteres na máscara são genéricos e representam tipos de caracteres. Se um caractere na string for comparado a um ou mais caracteres e for do mesmo tipo, ele corresponderá". Os caracteres genéricos são:

A é qualquer letra entre A e Z (maiúscula ou minúscula).

9 é qualquer dígito entre 0 e 9.

X é qualquer letra entre A e Z ou qualquer dígito entre 0 e 9.

$ é qualquer caractere.

Qualquer outro caractere na máscara representa apenas aquele próprio caractere. Por exemplo, se o terceiro caractere na máscara for B, o terceiro caractere da string deve ser B para que haja correspondência.

saída

Inteiro

É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples.



Exemplo: Como Converter o Formato de um Campo

CHKFMT verifica a ocorrência de nove caracteres numéricos começando por 11 em EMP_ID e armazena o resultado em CHK_ID:

TABLE FILE EMPLOYEE
PRINT EMP_ID AND LAST_NAME AND
COMPUTE CHK_ID/I3 = CHKFMT(9, EMP_ID, '119999999', CHK_ID);
WHERE DEPARTMENT EQ 'PRODUCTION';
END

A saída é:

EMP_ID     LAST_NAME     CHK_ID
------     ---------     ------
071382660  STEVENS            1
119265415  SMITH              0
119329144  BANNING            0
123764317  IRVING             2
126724188  ROMANS             2
451123478  MCKNIGHT           1

Information Builders