SAP ABAP - Stringhe
Strings, che sono ampiamente utilizzati nella programmazione ABAP, sono una sequenza di caratteri.
Utilizziamo variabili di tipo C di dati per contenere caratteri alfanumerici, con un minimo di 1 carattere e un massimo di 65.535 caratteri. Per impostazione predefinita, questi sono allineati a sinistra.
Creazione di stringhe
La seguente dichiarazione e inizializzazione crea una stringa composta dalla parola "Hello". La dimensione della stringa è esattamente il numero di caratteri nella parola "Hello".
Data my_Char(5) VALUE 'Hello'.Il seguente programma è un esempio di creazione di stringhe.
REPORT YT_SEP_15. 
DATA my_Char(5) VALUE 'Hello'. 
Write my_Char.Il codice precedente produce il seguente output:
HelloLunghezza della stringa
Per trovare la lunghezza delle stringhe di caratteri, possiamo usare STRLEN statement. La funzione STRLEN () restituisce il numero di caratteri contenuti nella stringa.
Esempio
REPORT YT_SEP_15. 
DATA: title_1(10) VALUE 'Tutorials',
      length_1 TYPE I. 
	
length_1 = STRLEN( title_1 ). 
Write: / 'The Length of the Title is:', length_1.Il codice precedente produce il seguente output:
The Length of the Title is: 9ABAP supporta un'ampia gamma di istruzioni che manipolano le stringhe.
| S.No. | Dichiarazione e scopo | 
|---|---|
| 1 | CONCATENATE Due stringhe vengono unite per formare una terza stringa. | 
| 2 | CONDENSE Questa istruzione elimina i caratteri di spazio. | 
| 3 | STRLEN Utilizzato per trovare la lunghezza di un campo. | 
| 4 | REPLACE Utilizzato per sostituire i personaggi. | 
| 5 | SEARCH Per eseguire ricerche in stringhe di caratteri. | 
| 6 | SHIFT Utilizzato per spostare il contenuto di una stringa a sinistra oa destra. | 
| 7 | SPLIT Utilizzato per dividere il contenuto di un campo in due o più campi. | 
Il seguente esempio fa uso di alcune delle dichiarazioni sopra menzionate:
Esempio
REPORT YT_SEP_15. 
DATA: title_1(10) VALUE 'Tutorials', 
      title_2(10) VALUE 'Point',
      spaced_title(30) VALUE 'Tutorials  Point  Limited',
      sep,
      dest1(30),
      dest2(30).
	
CONCATENATE title_1 title_2 INTO dest1. 
Write: / 'Concatenation:', dest1. 
CONCATENATE title_1 title_2 INTO dest2 SEPARATED BY sep. 
Write: / 'Concatenation with Space:', dest2. 
CONDENSE spaced_title.
Write: / 'Condense with Gaps:', spaced_title. 
CONDENSE spaced_title NO-GAPS. 
Write: / 'Condense with No Gaps:', spaced_title.Il codice precedente produce il seguente output:
Concatenation: TutorialsPoint 
Concatenation with Space: Tutorials Point 
Condense with Gaps: Tutorials Point Limited 
Condense with No Gaps: TutorialsPointLimitedNote -
- In caso di concatenazione, il "sep" inserisce uno spazio tra i campi. 
- L'istruzione CONDENSE rimuove gli spazi vuoti tra i campi, ma lascia solo lo spazio di 1 carattere. 
- "NO-GAPS" è un'aggiunta facoltativa all'istruzione CONDENSE che rimuove tutti gli spazi. 
