Table of Contents
ABAP : Formatting string
Substing
DATA : w_s(10) type c VALUE 'abcdefghij'. if w_s+1(2) = 'bc'. write : / ws(3). " abc endif.
NB : Fait rarissime, cette notation est utilisable dans la plupart des instructions ABAP (comme illustré dans l'exemple ci-dessus, cela marche dans conditions, mais aussi dans paramètres d'appels les plus divers).
String Templates
Le successeur du WRITE .. TO ..
qui permet de se passer du CONCATENATE
.
str = |{ f DECIMALS = 3 } bla \|bla { p DECIMALS = 4 } plop| & |j { sy-datum }|.
Format with WRITE
DATA : w_s(10) type c. WRITE sy-datum DD/MM/YYYY TO w_s.
Options : … NO-ZERO : les valeurs égales à zéro et les leading zeros sont remplacés par des blancs
… NO-SIGN : pas de signe sur les nombres
… NO GROUPING : pas de séparateur des milliers
… DD/MM/YY : Champs de type D (date) affichés avec le séparateur configuré dans le master record de l'utilisateur (ex. “.” en standard FR)
… MM/DD/YY : Idem
… DD/MM/YYYY : Idem
… MM/DD/YYYY : Idem
… DDMMYY : Idem sans séparateur
… MMDDYY : Idem sans séparateur
… YYMMDD : Idem sans séparateur
… CURRENCY w : Avec le bon nombre de décimales (ex. 2 pour €)
… DECIMALS d
… ROUND r
… UNIT u
… TIME ZONE tz
… EXPONENT e
… USING EDIT MASK mask : exemple : WRITE (8) TIME USING EDIT MASK '::__'
. “Output: 15:46:33
… USING NO EDIT MASK
… UNDER g (only with WRITE, ne fonctionne pas avec WRITE … TO)
… NO-GAP (only with WRITE, ne fonctionne pas avec WRITE … TO)
… LEFT-JUSTIFIED
… CENTERED
… RIGHT-JUSTIFIED
Number formatting
En plus du WRTIE ... TO ...
, le formattage de nombre requière les fonctions suivantes :
Minus sign
To move the minus sign to the left, use FM CLOI_PUT_SIGN_IN_FRONT
.
Séparateur décimal
De la virgule au point.
TRANSLATE px_in-value USING ',.'.