Freitag, 21. Dezember 2012

Führende Nullen

Im ABAP findet man immer wieder folgenden Code
UNPACK lf_field TO lf_field.
Damit wird erreicht dass das Feld mit führenden Nullen aufgefüllt wird.
Manchmal gibt es auch den Ansatz den  Wert in ein NUMC Feld zu schieben und dann wieder retour.

Normalerweise sollte man aber für das Auffüllen der Nulllen bzw. der Umwandlung von Daten in ein internes Format, die SAP eigenen Konvertierungsexits verwenden!
Diese werden auch in der Domäne des entsprechenden Datentyps definiert!

Der FuBa Name setzt sich dann wie folgt zusammen

CONVERSION_EXIT_xxx_INPUT
CONVERSION_EXIT_xxx_OUTPUT

xxx wird durch den entsprechenden Exit welcher in der Domäne hinterlegt ist ersetzt!

Für Datentypen welche führende Nullen haben, ist dies in der Regel der Exit ALPHA

_INPUT fügt dann die führenden Nullen hinzu und
_OUTPUT entfernt diese dann

Beispiel

DATA: lf_partner TYPE bu_partner.
lf_partner = '1001'.
"lf_partner => 1001
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'  EXPORTING    input  = lf_partner  IMPORTING    output = lf_partner.
"lf_partner => 0000001001