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.
CHKFMT(numchar, source_string, 'mask', output)
où :
Entier
est le nombre de caractères comparés au masque.
Alphanumérique
est une chaîne de caractères à vérifier encadrée par des guillemets simples, ou un champ contenant celle-ci.
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.
Entier
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.
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 |