Funktionsbaustein UNIT CONVERSION SIMPLE
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Siehe Sammlung Funktionsbausteine.
Dieser Funktionsbaustein UNIT_CONVERSION_SIMPLE wandelt Einheiten ineinander um. Die Einheiten müssen in der Tabelle T006 enthalten sein.
Die Umrechnung sollte nur dann durchgeführt werden, wenn Inputmaßeinheit <> Outputmaßeinheit ist. Ansonsten ist eine Umrechnung nicht nötig und man kann die Menge direkt zuweisen.
Beispiel Gewichtsumrechnung
- Hier werden die Gewichte von Lieferungen in KG umgerechnet.
if ls_likp-gewei <> 'KG'.
DATA: lv_brgew TYPE brgew.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
input = ls_likp-btgew
NO_TYPE_CHECK = 'X'
ROUND_SIGN = ' '
unit_in = ls_likp-gewei
unit_out = 'KG'
IMPORTING
ADD_CONST =
DECIMALS =
DENOMINATOR =
NUMERATOR =
output = lv_brgew
EXCEPTIONS
CONVERSION_NOT_FOUND = 1
DIVISION_BY_ZERO = 2
INPUT_INVALID = 3
OUTPUT_INVALID = 4
OVERFLOW = 5
TYPE_INVALID = 6
UNITS_MISSING = 7
UNIT_IN_NOT_FOUND = 8
UNIT_OUT_NOT_FOUND = 9
OTHERS = 10.
IF SY-SUBRC <> 0.
"Implement suitable error handling here
ENDIF.
endif.
- Hier werden die Volumen in Lieferungen in Kubikmeter umgerechnet.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
input = <fs_likp>-volum
NO_TYPE_CHECK = 'X'
ROUND_SIGN = ' '
unit_in = <fs_likp>-voleh
unit_out = 'M3'
IMPORTING
ADD_CONST =
DECIMALS =
DENOMINATOR =
NUMERATOR =
output = lv_volum
EXCEPTIONS
conversion_not_found = 1
division_by_zero = 2
input_invalid = 3
output_invalid = 4
overflow = 5
type_invalid = 6
units_missing = 7
unit_in_not_found = 8
unit_out_not_found = 9
OTHERS = 10.
IF sy-subrc <> 0.
* Implement suitable error handling here
ELSE.
ADD lv_volum TO cv_volum.
ENDIF.
Literatur
- Function Modules in ABAP: A Quick Reference Guide, von Tanmaya Gupta, S. (EN)
- Common SAP R/3 Functions Manual, von William Lawlor, S. (EN)