CTRAN: Traduzione di un carattere in un altro

Come:

Lingue disponibili: reporting, Maintain

Trasforma un carattere a byte singolo o doppio presente in una stringa di caratteri in un altro carattere a seconda del valore decimale. Questa funzione risulta particolarmente utile per la modifica dei caratteri di sostituzione in caratteri non disponibili, o in caratteri difficili da emettere o non disponibili sulla propria tastiera. È possibile usare questa funzione per immettere caratteri difficili da introdurre, quando si risponde ad un comando Dialogue Manager - PROMPT, come la virgola o l'apostrofo. Elimina il bisogno di racchiudere le voci in virgolette singole.

Per utilizzare CTRAN, è necessario sapere il valore decimale dei caratteri nella rappresentazione interna del computer. Notare che il grafico di codifica per la conversione è dipedente dalla piattaforma, quindi le proprie opzioni di configurazione e la propria piattaforma determinano se si usa la codifica ASCII, EBCDIC, o Unicode.

Nelle configurazioni Unicode, questa funzione utilizza valore nell'intervallo:


Inizio pagina

x
Sintassi: Come trasformare un carattere in un altro
CTRAN(length, source_string, decimal, dec_value, output)

dove:

length

Valore intero

Numero di caratteri della stringa d'origine, o un campo che contiene la lunghezza.

source_string

Alfanumerico

Stringa di caratteri da tradurre, racchiusa tra virgolette singole, oppure campo o variabile che contiene la stringa di caratteri.

decimale

Valore intero

Valore decimale ASCII o EBCDIC del carattere da trasformare.

dec_value

Valore intero

Valore decimale ASCII o EBCDIC del carattere da utilizzare come sostituto per il decimale.

emissione

Alfanumerico

Nome del campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”.



Esempio: Traduzione di spazi in caratteri di sottolineatura su una piattaforma ASCII

CTRAN traduce gli spazi in ADDRESS_LN3 (ASCII valore decimale 32) in caratteri di sottolineatura (ASCII valore decimale 95) e memorizza il risultato in 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

L'emissione è:

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


Esempio: Traduzione di spazi in caratteri di sottolineatura su una piattaforma EBCDIC

CTRAN traduce gli spazi in ADDRESS_LN3 (EBCDIC valore decimale 64) in caratteri di sottolineatura (EBCDIC valore decimale 109) e memorizza il risultato in 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

L'emissione è:

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___

WebFOCUS