SAP ABAP - Costanti e valori letterali
I letterali sono oggetti di dati senza nome creati all'interno del codice sorgente di un programma. Sono completamente definiti dal loro valore. Non è possibile modificare il valore di un letterale. Le costanti sono oggetti dati denominati creati staticamente utilizzando istruzioni dichiarative. Una costante viene dichiarata assegnandole un valore che viene memorizzato nell'area di memoria del programma. Il valore assegnato a una costante non può essere modificato durante l'esecuzione del programma. Questi valori fissi possono anche essere considerati letterali. Esistono due tipi di valori letterali: numerico e carattere.
Letterali numerici
I letterali numerici sono sequenze di cifre che possono avere un segno prefissato. Nei letterali numerici, non ci sono separatori decimali e nessuna notazione con mantissa ed esponente.
Di seguito sono riportati alcuni esempi di letterali numerici:
183.
-97.
+326.
Letterali carattere
I caratteri letterali sono sequenze di caratteri alfanumerici nel codice sorgente di un programma ABAP racchiusi tra virgolette singole. I caratteri letterali racchiusi tra virgolette hanno il tipo ABAP predefinito C e sono descritti come valori letterali di campo di testo. I letterali racchiusi tra "virgolette" hanno il tipo ABAP STRING e sono descritti come stringhe. La lunghezza del campo è definita dal numero di caratteri.
Note - Nei valori letterali dei campi di testo, gli spazi finali vengono ignorati, ma nelle stringhe vengono presi in considerazione.
Di seguito sono riportati alcuni esempi di caratteri letterali.
Valori letterali del campo di testo
REPORT YR_SEP_12.
Write 'Tutorials Point'.
Write / 'ABAP Tutorial'.
Valori letterali di campo stringa
REPORT YR_SEP_12.
Write `Tutorials Point `.
Write / `ABAP Tutorial `.
L'output è lo stesso in entrambi i casi precedenti:
Tutorials Point
ABAP Tutorial
Note- Quando proviamo a modificare il valore della costante, potrebbe verificarsi un errore di sintassi o di runtime. Le costanti dichiarate nella parte di dichiarazione di una classe o di un'interfaccia appartengono agli attributi statici di quella classe o interfaccia.
Dichiarazione COSTANTI
Possiamo dichiarare gli oggetti dati denominati con l'aiuto dell'istruzione CONSTANTS.
La seguente è la sintassi:
CONSTANTS <f> TYPE <type> VALUE <val>.
L'istruzione CONSTANTS è simile all'istruzione DATA.
<f> specifica un nome per la costante. TYPE <type> rappresenta una costante denominata <f>, che eredita gli stessi attributi tecnici del tipo di dati esistente <type>. VALUE <val> assegna un valore iniziale alla costante dichiarata nome <f>.
Note- Dovremmo usare la clausola VALUE nell'istruzione CONSTANTS. La clausola "VALUE" viene utilizzata per assegnare un valore iniziale alla costante durante la sua dichiarazione.
Abbiamo 3 tipi di costanti come costanti elementari, complesse e di riferimento. La seguente istruzione mostra come definire le costanti utilizzando l'istruzione CONSTANTS:
REPORT YR_SEP_12.
CONSTANTS PQR TYPE P DECIMALS 4 VALUE '1.2356'.
Write: / 'The value of PQR is:', PQR.
L'output è -
The value of PQR is: 1.2356
Qui si riferisce al tipo di dati elementare ed è noto come costante elementare.
Di seguito è riportato un esempio per costanti complesse:
BEGIN OF EMPLOYEE,
Name(25) TYPE C VALUE 'Management Team',
Organization(40) TYPE C VALUE 'Tutorials Point Ltd',
Place(10) TYPE C VALUE 'India',
END OF EMPLOYEE.
Nello snippet di codice precedente, EMPLOYEE è una costante complessa composta dai campi Nome, Organizzazione e Luogo.
La seguente dichiarazione dichiara un riferimento costante -
CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.
Possiamo usare il riferimento costante nei confronti o possiamo passarlo alle procedure.