Comment : |
Langages disponibles : reporting, Maintain
La fonction CTRAN convertit un caractère dans une chaîne de caractères en un autre, en fonction de sa valeur décimale. Cette fonction est particulièrement utile pour le changement aux caractères de remplacement à ceux qui ne sont pas disponibles, ou à des caractères qui sont difficiles à saisir ou ceux qui ne sont pas disponibles sur votre clavier. Elle peut aussi être utilisée pour entrer des caractères difficiles à saisir lors d'une réponse à une commande -PROMPT du gestionnaire de dialogue, tels que une virgule ou une apostrophe. Ceci élimine le besoin de mettre les entrées entre guillemets simples.
Pour utiliser CTRAN, vous devez connaître le décimal équivalent aux caractères de la représentation interne dans la machine. Notez que le graphe de codage pour la conversion dépend de votre plate-forme, et donc votre option de configuration et de plates-forme détermine si les codes ASCII, EBCDIC, ou Unicode sont utilisés.
Dans les configurations Unicode, cette fonction utilise les plages de valeurs suivantes :
CTRAN(length, source_string, decimal, decvalue, output)
où :
Entier
est le nombre de caractères dans la chaîne, ou un champ qui contient la longueur.
Alphanumérique
est la chaîne de caractères à convertir encadrée par des guillemets simples, ou le champ contenant celle-ci.
Entier
est la valeur décimale ASCII ou EBCDIC du caractère à convertir.
Entier
est la valeur décimale ASCII ou EBCDIC du caractère devant être utilisé comme substitut pour décimal.
Alphanumérique
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.
CTRAN convertit les espaces dans ADDRESS_LN3 (EBCDIC d'une valeur décimale de 32) au soulignement (ASCII d'une valeur décimale de 95); le résultat est stocké dans ALT_ADDR :
TABLE FILE EMPLOYEE
PRINT ADDRESS_LN3 AND COMPUTE
ALT_ADDR/A20 = CTRAN(20, ADDRESS_LN3, 32, 95, ALT_ADDR);
BY EMP_ID
WHERE TYPE EQ 'HSM';
END
La sortie est :
EMP_ID ADDRESS_LN3 ALT_ADDR ------ ----------- -------- 117593129 RUTHERFORD NJ 07073 RUTHERFORD_NJ_07073_ 119265415 NEW YORK NY 10039 NEW_YORK_NY_10039___ 119329144 FREEPORT NY 11520 FREEPORT_NY_11520___ 123764317 NEW YORK NY 10001 NEW_YORK_NY_10001___ 126724188 FREEPORT NY 11520 FREEPORT_NY_11520___ 451123478 ROSELAND NJ 07068 ROSELAND_NJ_07068___ 543729165 JERSEY CITY NJ 07300 JERSEY_CITY_NJ_07300 818692173 FLUSHING NY 11354 FLUSHING_NY_11354
CTRAN convertit les espaces dans ADDRESS_LN3 (EBCDIC d'une valeur décimale de 64) au soulignement (EBCDIC d'une valeur décimale de 109); le résultat est stocké dans ALT_ADDR :
TABLE FILE EMPLOYEE
PRINT ADDRESS_LN3 AND COMPUTE
ALT_ADDR/A20 = CTRAN(20, ADDRESS_LN3, 64, 109, ALT_ADDR);
BY EMP_ID
WHERE TYPE EQ 'HSM'
END
La sortie est :
EMP_ID ADDRESS_LN3 ALT_ADDR ------ ----------- -------- 117593129 RUTHERFORD NJ 07073 RUTHERFORD_NJ_07073_ 119265415 NEW YORK NY 10039 NEW_YORK_NY_10039___ 119329144 FREEPORT NY 11520 FREEPORT_NY_11520___ 123764317 NEW YORK NY 10001 NEW_YORK_NY_10001___ 126724188 FREEPORT NY 11520 FREEPORT_NY_11520___ 451123478 ROSELAND NJ 07068 ROSELAND_NJ_07068___ 543729165 JERSEY CITY NJ 07300 JERSEY_CITY_NJ_07300 818692173 FLUSHING NY 11354 FLUSHING_NY_11354___
Information Builders |