CTRAN: Como Traduzir um Caractere em Outro

Como:

Linguagens Disponíveis: Reporting, Maintain

A função CTRAN converte um caractere dentro de uma string de caracteres para outro caractere baseado no seu valor decimal. Esta função é especialmente útil na alteração de caracteres de substituição em caracteres indisponíveis ou em caracteres difíceis de serem inseridos ou indisponíveis no seu teclado. Também pode ser utilizado para inserir caracteres difíceis de serem inseridos ao se repsonder a um comando -PROMPT do Dialogue Manager, como uma vírgula ou um apóstrofo. Ela elimina a necessidade de posicionar entradas entre aspas.

Para utilizar CTRAN, você deve saber o decimal equivalente dos caracteres na representação interna da máquina. Observe que o gráfico de codificação para conversão depende da plataforma, portanto, sua opção de plataforma e configuração determina se a codificação ASCII, EBCDIC ou Unicode será utilizada.

Nas configurações Unicode, esta função utiliza valores dentro do intervalo:


Topo da página

x
Sintaxe: Como Traduzir um caractere a outro
CTRAN(length, source_string, decimal, dec_value, output)

onde:

comprimento

Inteiro

É o comprimento da string fonte ou um campo que contém o comprimento.

source_string

Alfanumérico

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

decimal

Inteiro

É o valor decimal ASCII ou EBCDIC do caractere a ser traduzido.

dec_value

Inteiro

É o valor decimal ASCII ou EBCDIC do caractere a ser usado como substituto do decimal.

saída

Alfanumérico

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



Exemplo: Como Traduzir Espaços em Underscores em uma Plataforma ASCII

CTRAN traduz os espaços em ADDRESS_LN3 (valor decimal ASCII de 32) em underscores (valor decimal ASCII de 95) e armazena o resultado em 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

A saída é:

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


Exemplo: Como Traduzir Espaços em Underscores em uma Plataforma EBCDIC

CTRAN traduz os espaços em ADDRESS_LN3 (valor decimal EBCDIC de 64) em underscores (valor decimal EBCDIC de 109) e armazena o resultado em 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

A saída é:

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