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:

Hello

Lunghezza 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: 9

ABAP 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: TutorialsPointLimited

Note -

  • 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.