Cómo: |
Idiomas disponibles: informes, Maintain
La función CTRAN traduce un carácter de una cadena de caracteres en otro carácter, en base a su valor decimal. Esta función es muy útil a la hora de cambiar caracteres de reemplazo de caracteres no disponibles o de caracteres difíciles de introducir, o que no están disponibles, con su teclado. Además, puede utilizarse para introducir caracteres complejos, como la coma o el apóstrofe, a la hora de responder al comando -PROMPT de Dialogue Manager. Elimina la necesidad de colocar las entradas entre comillas simples.
Para usar CTRAN, debe conocer el equivalente decimal de los caracteres, en representación interna de máquina. Tenga en cuenta que el diagrama de codificación de conversiones depende de la plataforma; su opción de plataforma y configuración determina si se emplea la codificación ASCII, EBCDIC o Unicode. Los caracteres EBCDIC o ASCII que pueden imprimirse, y sus equivalentes decimales, aparecen listados en Diagrama de caracteres ASCII y EBCDIC.
En configuraciones Unicode, esta función emplea los valores del rango:
CTRAN(length, source_string, decimal, decvalue, output)
donde:
Número entero
Es el número de caracteres de la cadena o un campo que contenga la longitud.
Alfanumérico
Es la cadena de caracteres que se va a traducir, entre comillas simples, o el campo o variable que contenga la cadena de caracteres.
Número entero
Es el valor decimal ASCII o EBCDIC del carácter que se va a traducir.
Número entero
Es el valor decimal ASCII o EBCDIC del carácter que se va a usar como sustituto de decimal.
Alfanumérico
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas simples.
CTRAN traduce los espacios de ADRESS_LN3 (valor decimal ASCII 32) en caracteres de subrayado (valor decimal ASCII 95) y almacena el resultado en 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 salida es:
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 traduce los espacios de ADRESS_LN3 (valor decimal EBCDIC 64) en guiones bajos (valor decimal EBCDIC 109) y guarda el resultado en 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 salida es:
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 |