CHKFMT : Vérifier le format d'une chaîne

Comment :

Langages disponibles : reporting, Maintain

La fonction CHKFMT vérifie une chaîne de caractères pour les caractères incorrects ou les types de caractères. Il compare chaque chaîne de caractères à une deuxième chaîne, appelé un masque, en comparant chaque caractère de la première chaîne de caractères correspondant à un caractère dans le masque. Si tout les caractères dans la chaîne de caractères correspondent à ceux-ci ou aux types de caractères dans le masque. CHKFMT renvoie la valeur 0. Sinon, CHKFMT renvoie une valeur égale à la position du premier caractère dans la chaîne de caractères qui ne correspond pas au masque.

Si le masque est plus court que la chaîne de caractères, la fonction ne vérifie que la partie de la chaîne correspondant au masque. Par exemple, si vous utilisez un masque de quatre caractères pour tester une chaîne de caractères de neuf, seuls les quatre premiers caractères de la chaîne sont vérifiés, les autres sont renvoyés comme non correspondance avec CHKFMT donnant le première position de non correspondance comme résultat.


Haut de page

x
Syntaxe : Vérifier le format d'une chaîne de caractères
CHKFMT(numchar, source_string, 'mask', output)

où :

numchar

Entier

est le nombre de caractères comparés au masque.

string

Alphanumérique

est une chaîne de caractères à vérifier encadrée par des guillemets simples, ou un champ contenant celle-ci.

'mask'

Alphanumérique

est le masque, qui contient la comparaison des caractères entouré par des guillemets simples.

Certains caractères du masque sont des caractères génériques, qui représentent des types de caractères. Si un caractère dans une chaîne est comparé à l'un des ces caractères et est du même type, il correspond à celui-ci. Les caractères génériques sont :

A représente toute lettre comprise entre A et Z ( majuscules ou minuscules).

9 représente tout chiffre compris entre 0 et 9.

X représente toute lettre comprise entre A–Z ou tout chiffre compris entre 0 et 9.

$ représente n'importe quel caractère.

Tout autre caractère du masque ne représente que lui-même. Par exemple, si le troisième caractère dans le masque est B, le troisième caractère de la chaîne doit correspondre à B.

output

Entier

est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.



Exemple : Vérifier le format d'un champ

CHKFMT examine EMP_ID pour neuf caractères numériques commençant par 11; le résultat est stocké dans 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

La sortie est :

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