Variante 1 (FuBa)
DATA: lv_matnr TYPE char18 VALUE '1234567890'.
* Prüft Länge, Datentyp, fügt führende Nullen ein
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_matnr
IMPORTING
output = lv_matnr.
WRITE: / |{ lv_matnr }|.
Variante 2 (UNPACK)
DATA: lv_c_matnr TYPE char10 VALUE '1234567890'. " 10-stellige MatNr
DATA: lv_matnr TYPE mara-matnr. " 18-stellige MatNr
UNPACK lv_c_matnr TO lv_matnr.
WRITE: / |{ lv_matnr }|.
Variante 3 (SHIFT/OVERLAY)
DATA: lv_c_matnr TYPE char18 VALUE '1234567890'. " 10-stellige MatNr als Input
SHIFT lv_c_matnr RIGHT DELETING TRAILING space.
* 18-stellig mit Nullen überlagern
OVERLAY lv_c_matnr WITH '000000000000000000'.
WRITE: / |{ lv_c_matnr }|.
Variante 4 (String-Template)
DATA: lv_matnr TYPE string VALUE '12345'
* 18-stellige Ausgabe mit führende Nullen
lv_matnr = |{ lv_matnr WIDTH = 18 ALPHA = IN }|.
WRITE: / |{ lv_matnr }|.