====== 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 ',.'. ''