Domanda

Ho bisogno di concatenare diverse linee in una stringa.

Per farlo, ho bisogno di usare caratteri esadecimali CR + LF.

Il problema è che, quando sto utilizzando un ambiente di 8 bit / char, ho solo bisogno di fare qualcosa di simile:

constants : c_lf type x value '10'.

constants : c_cr type x value '13'.

data : g_html type string.

concatenate '<html>' c_cr c_lf into g_html.

, ma, quando mi trovo in un ambiente a 16 bit / char, la variabile X non rappresenta la rappresentazione esadecimale corretto per CR e LF.

Quindi, dovrei usare qualcosa di simile:

constants : c_lf(2) type x value '0010'.

constants : c_cr(2) type x value '0013'.

data : g_html type string.

concatenate '<html>' c_cr c_lf into g_html.

Quindi, non v'è alcun modo per scoprire la quantità di byte / char in uso da parte di ABAP WebAS?

Grazie!

È stato utile?

Soluzione

La TR_GET_IS_UNICODE_SYSTEM funzione di indicare se il sistema utilizza Unicode o meno. Si chiama la classe CL_ABAP_CHAR_UTILITIES per ottenere l'attributo CHARSIZE (morso / char) (a proposito, questa classe contiene un attributo pubblico CR_LF ...)

Saluti
Guillaume

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top