|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > English > Function Module Examples Code > Unit Conversion |
Objective |
Knowledge using SAP Standard Function Module for unit material |
Support |
|
Contributor |
Albertus Reinandang ( reinandang@yahoo.com ) |
1.UNIT_CONVERSION_SIMPLE : Convert the quantity without knowing the material
Example :
REPORT ztest_fm201 NO STANDARD PAGE HEADING LINE-SIZE 1023.
PARAMETERS : pa_new LIKE t006-msehi OBLIGATORY,
pa_old LIKE t006-msehi OBLIGATORY,
pa_value LIKE plfh-mgvgw DEFAULT 10 OBLIGATORY.
START-OF-SELECTION.
DATA : lv_value_new LIKE plfh-mgvgw.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
input = pa_value
round_sign = 'X'
unit_in = pa_old
unit_out = pa_new
IMPORTING
output = lv_value_new.
WRITE : / lv_value_new.
2.CF_UT_UNIT_CONVERSION : Convert the quantity of a material.
Example :
REPORT ztest_fm20 NO STANDARD PAGE HEADING LINE-SIZE 1023.
PARAMETERS : pa_matnr LIKE mara-matnr OBLIGATORY,
pa_meins LIKE mara-meins,
pa_new LIKE t006-msehi OBLIGATORY,
pa_old LIKE t006-msehi OBLIGATORY,
pa_value LIKE plfh-mgvgw DEFAULT 10 OBLIGATORY.
START-OF-SELECTION.
DATA : lv_value_new LIKE plfh-mgvgw.
CALL FUNCTION 'CF_UT_UNIT_CONVERSION'
EXPORTING
matnr_imp = pa_matnr
meins_imp = pa_meins
unit_new_imp = pa_new
unit_old_imp = pa_old
value_old_imp = pa_value
IMPORTING
value_new_exp = lv_value_new
.
WRITE : / lv_value_new.
3.MATERIAL_UNIT_CONVERSION : Convert the quantity of a material with a two-step process and support for the quantity in a very large number.
Example :
REPORT ztest_fm203 NO STANDARD PAGE HEADING LINE-SIZE 1023.
PARAMETERS : pa_matnr LIKE mara-matnr OBLIGATORY,
pa_meins LIKE mara-meins OBLIGATORY,
pa_new LIKE t006-msehi OBLIGATORY,
pa_old LIKE t006-msehi OBLIGATORY,
pa_value LIKE plfh-mgvgw DEFAULT 10 OBLIGATORY.
START-OF-SELECTION.
DATA : lv_value_tmp LIKE plfh-mgvgw,
lv_value_new LIKE plfh-mgvgw.
"Step 1
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
matnr = pa_matnr
input = pa_value
meinh = pa_old
kzmeinh = 'X'
meins = pa_meins
IMPORTING
output = lv_value_tmp
EXCEPTIONS
conversion_not_found = 01
input_invalid = 02
material_not_found = 03
meinh_not_found = 04
meins_missing = 05
no_meinh = 06
output_invalid = 07
overflow = 08.
IF sy-subrc = 8.
RAISE overflow.
ENDIF.
"Step 2
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
matnr = pa_matnr
input = lv_value_tmp
meinh = pa_new
kzmeinh = space
meins = pa_meins
IMPORTING
output = lv_value_new
EXCEPTIONS
conversion_not_found = 01
input_invalid = 02
material_not_found = 03
meinh_not_found = 04
meins_missing = 05
no_meinh = 06
output_invalid = 07
overflow = 08.
IF sy-subrc = 8.
RAISE overflow.
ENDIF.
WRITE : / lv_value_new.