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