Ricerca…


letterali

ABAP offre tre diversi operatori per dichiarare variabili tipo stringa o char

simboli Tipo interno Lunghezza Nome
'...' C 1-255 caratteri letterali del campo di testo
`...` CString 0-255 caratteri letterali stringa di testo
| ... | CString 0-255 caratteri letterali modello

Si noti che l'intervallo di lunghezza si applica solo ai valori codificati. Le variabili di CString internamente hanno una lunghezza arbitraria mentre le variabili di tipo C hanno sempre una lunghezza fissa.

Modelli di stringa

I modelli di stringhe sono un modo conveniente per mescolare stringhe letterali con valori di variabili:

WRITE |Hello, { lv_name }, nice to meet you!|.

Può anche formattare cose come le date. Per utilizzare il formato data dell'utente connesso:

WRITE |The order was completed on { lv_date DATE = USER } and can not be changed|.

Sono supportate le chiamate e le espressioni del metodo funzionale:

WRITE |Your token is { to_upper( lv_token ) }|.
WRITE |Version is: { cond #( when lv_date < sy-datum then 'out of date' else 'up to date' ) }|.

Attenzione! L'implementazione diretta di risultati temporanei (come le chiamate al metodo) all'interno di modelli di stringhe può portare a enormi problemi di prestazioni (maggiori informazioni qui ). Mentre lo si utilizza all'interno di istruzioni eseguite raramente, è possibile che il programma rallenti rapidamente nei cicli.

Concatenazione di stringhe

Le variabili stringa e char possono essere concatenate utilizzando il comando ABAP CONCATENATE . È necessaria una variabile extra per la memorizzazione dei risultati.

Esempio:

CONCATENATE var1 var2 var3 INTO result.
"result now contains the values of var1, var2 & var3 stringed together without spaces

Abbreviazione

Le versioni più recenti di ABAP offrono una variante molto breve di concatenazione usando && (operatore Chaining).

DATA(lw_result) = `Sum: ` && lw_sum.

Attenzione! Vale la pena notare che l'utilizzo di risultati temporanei in combinazione con l'operatore Chaining all'interno di loop può portare a enormi problemi di prestazioni a causa delle crescenti istruzioni di copia (leggete di più qui ).



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow