Для перевода количества из одной единицы измерения в другую существует функциональный модуль: MATERIAL_UNIT_CONVERSION. Данный ФМ может преобразовывать либо из базисной ЕИ в альтернативную, либо наоборот. Для преобразования из одной АЕИ в другую можно либо дважды вызвать MATERIAL_
Пример его использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
DATA: gv_ves_t TYPE F VALUE '1.342', gv_ves_tb TYPE F, gv_material TYPE matnr VALUE 'Номер материала', gv_error TYPE STRING, gv_werks TYPE werks VALUE 'Завод', gv_charge TYPE charg_d VALUE 'Партия'. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING INPUT = gv_material IMPORTING OUTPUT = gv_material. CALL FUNCTION 'OIB_MATERIAL_UNIT_CONVERSION' EXPORTING iv_matnr = gv_material iv_plant = '1000' iv_charg = gv_charge iv_inuom = 'TB' iv_outuom = 'TO' iv_quantity = gv_ves_t IMPORTING ev_quantity = gv_ves_tb EXCEPTIONS error_material_read = 1 conversion_failed = 2 OTHERS = 3. IF sy-subrc <> 0. WRITE: sy-subrc. ELSE. WRITE gv_ves_tb STYLE cl_abap_format=>o_simple. ENDIF. |