SAP ABAP - Formattazione dei dati

ABAP offre vari tipi di opzioni di formattazione per formattare l'output dei programmi. Ad esempio, puoi creare un elenco che includa vari elementi in diversi colori o stili di formattazione.

L'istruzione WRITE è un'istruzione di formattazione utilizzata per visualizzare i dati su uno schermo. Sono disponibili diverse opzioni di formattazione per l'istruzione WRITE. La sintassi dell'istruzione WRITE è:

WRITE <format> <f> <options>.

In questa sintassi, <format> rappresenta la specifica del formato di output, che può essere una barra (/) che indica la visualizzazione dell'output a partire da una nuova riga. Oltre alla barra, la specifica del formato include un numero di colonna e una lunghezza di colonna. Ad esempio, l'istruzione WRITE / 04 (6) mostra che una nuova riga inizia con la colonna 4 e la lunghezza della colonna è 6, mentre l'istruzione WRITE 20 mostra la riga corrente con la colonna 20. Il parametro <f> rappresenta una variabile di dati o testo numerato.

La tabella seguente descrive le varie clausole utilizzate per la formattazione:

S.No. Clausola e descrizione
1

LEFT-JUSTIFIED

Specifica che l'output è giustificato a sinistra.

2

CENTERED

Indica che l'output è centrato.

3

RIGHT-JUSTIFIED

Specifica che l'output è giustificato a destra.

4

UNDER <g>

L'output inizia direttamente sotto il campo <g>.

5

NO-GAP

Specifica che lo spazio vuoto dopo il campo <f> viene rifiutato.

6

USING EDIT MASK <m>

Indica la specifica del modello di formato <m>. Uso di nessuna maschera EDIT: specifica che il modello di formato specificato nel dizionario ABAP è disattivato.

7

NO-ZERO

Se un campo contiene solo zeri, vengono sostituiti da spazi.

Di seguito sono riportate le opzioni di formattazione per i campi di tipo numerico:

S.No. Clausola e descrizione
1

NO-SIGN

Specifica che sullo schermo non viene visualizzato alcun segno iniziale.

2

EXPONENT <e>

Specifica che nel tipo F (i campi in virgola mobile), l'esponente è definito in <e>.

3

ROUND <r>

I campi di tipo P (tipi di dati numerici compressi) vengono prima moltiplicati per 10 ** (- r) e quindi arrotondati a un valore intero.

4

CURRENCY <c>

Indica che la formattazione viene eseguita in base al valore di valuta <c> memorizzato nella tabella del database TCURX.

5

UNIT <u>

Specifica che il numero di cifre decimali è fissato in base all'unità <u> come specificato nella tabella del database T006 per il tipo P.

6

DECIMALS <d>

Specifica che il numero di cifre <d> deve essere visualizzato dopo il punto decimale.

Ad esempio, la tabella seguente mostra diverse opzioni di formattazione per i campi della data:

Opzione di formattazione Esempio
GG / MM / AA 13/01/15
MM / GG / AA 13/01/15
GG / MM / AAAA 13/01/2015
MM / GG / AAAA 13/01/2015
GGMMAA 130115
MMDDYY 011315
AAMMGG 150113

Qui, DD sta per la data in due cifre, MM sta per il mese in due cifre, YY sta per l'anno in due cifre e YYYY sta per l'anno in quattro cifre.

Diamo un'occhiata a un esempio di codice ABAP che implementa alcune delle opzioni di formattazione sopra riportate:

REPORT ZTest123_01.
 
DATA: n(9) TYPE C VALUE 'Tutorials', 
m(5) TYPE C VALUE 'Point'. 

WRITE: n, m. 
WRITE: / n, 
/ m UNDER n. 

WRITE: / n NO-GAP, m. 
DATA time TYPE T VALUE '112538'. 

WRITE: / time, 
/(8) time Using EDIT MASK '__:__:__'.

Il codice precedente produce il seguente output:

Tutorials Point 
Tutorials  
Point 
TutorialsPoint 
112538 
11:25:38