SAP ABAP - Tipi di dati

Durante la programmazione in ABAP, è necessario utilizzare una varietà di variabili per memorizzare varie informazioni. Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile riservi dello spazio in memoria. Potrebbe essere necessario memorizzare informazioni di vari tipi di dati come carattere, numero intero, virgola mobile, ecc. In base al tipo di dati di una variabile, il sistema operativo alloca la memoria e decide cosa può essere memorizzato nella memoria riservata.

Tipi di dati elementari

ABAP offre al programmatore un ricco assortimento di tipi di dati a lunghezza fissa e variabile. La tabella seguente elenca i tipi di dati elementari ABAP:

genere Parola chiave
Campo byte X
Campo di testo C
Numero intero io
Virgola mobile F
Numero imballato P
Stringa di testo CORDA

Alcuni dei campi e dei numeri possono essere modificati utilizzando uno o più nomi come segue:

  • byte
  • numeric
  • character-like

La tabella seguente mostra il tipo di dati, la quantità di memoria necessaria per memorizzare il valore in memoria e il valore minimo e massimo che può essere memorizzato in questo tipo di variabili.

genere Lunghezza tipica Gamma tipica
X 1 byte Qualsiasi valore di byte (da 00 a FF)
C 1 carattere Da 1 a 65535
N (testo numerico archiviato) 1 carattere Da 1 a 65535
D (data simile al carattere) 8 caratteri 8 caratteri
T (tempo tipo carattere) 6 caratteri 6 caratteri
io 4 byte -2147483648 a 2147483647
F 8 byte 2.2250738585072014E-308 a 1.7976931348623157E + 308 positivo o negativo
P 8 byte Da [-10 ^ (2len -1) +1] a [+ 10 ^ (2len -1) 1] (dove len = lunghezza fissa)
CORDA Variabile Qualsiasi carattere alfanumerico
XSTRING (stringa di byte) Variabile Qualsiasi valore di byte (da 00 a FF)

Esempio

REPORT YR_SEP_12. 
DATA text_line TYPE C LENGTH 40. 
text_line = 'A Chapter on Data Types'. 
Write text_line. 

DATA text_string TYPE STRING. 
text_string = 'A Program in ABAP'. 
Write / text_string. 

DATA d_date TYPE D. 
d_date = SY-DATUM. 
Write / d_date.

In questo esempio, abbiamo una stringa di caratteri di tipo C con una lunghezza predefinita 40. STRING è un tipo di dati che può essere utilizzato per qualsiasi stringa di caratteri di lunghezza variabile (stringhe di testo). Gli oggetti dati di tipo STRING dovrebbero essere generalmente utilizzati per contenuti simili a caratteri in cui la lunghezza fissa non è importante.

Il codice precedente produce il seguente output:

A Chapter on Data Types 
A Program in ABAP 
12092015

Il tipo DATE viene utilizzato per memorizzare le informazioni sulla data e può memorizzare otto cifre come mostrato sopra.

Tipi complessi e di riferimento

I tipi complessi sono classificati in Structure types e Table types. Nei tipi di struttura, i tipi elementari e le strutture (cioè la struttura incorporata in una struttura) sono raggruppati insieme. Puoi considerare solo il raggruppamento di tipi elementari. Bisogna però essere consapevoli della disponibilità di nidificazione delle strutture.

Quando i tipi elementari sono raggruppati insieme, è possibile accedere all'elemento di dati come elemento di dati raggruppato oppure è possibile accedere ai singoli elementi di dati di tipo elementare (campi struttura). I tipi di tabella sono meglio conosciuti come array in altri linguaggi di programmazione.Arrayspossono essere array semplici o strutturati. In ABAP, gli array sono chiamati tabelle interne e possono essere dichiarati e utilizzati in molti modi rispetto ad altri linguaggi di programmazione. La tabella seguente mostra i parametri in base ai quali sono caratterizzate le tabelle interne.

S.No. Parametro e descrizione
1

Line or row type

La riga di una tabella interna può essere di tipo elementare, complesso o di riferimento.

2

Key

Specifica un campo o un gruppo di campi come chiave di una tabella interna che identifica le righe della tabella. Una chiave contiene i campi dei tipi elementari.

3

Access method

Descrive come i programmi ABAP accedono alle singole voci di tabella.

I tipi di riferimento vengono utilizzati per fare riferimento a istanze di classi, interfacce e elementi di dati di runtime. I servizi RTTS (run-time type services) ABAP OOP consentono la dichiarazione di elementi di dati in fase di esecuzione.