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