Вы находитесь на странице: 1из 2

http://wiki.sdn.sap.

com/wiki/display/ABAP/To+convert+the+Unit+of+Measure+to+alte rnate+UOM form convert_to_base_uom using pf_matnr type pf_menge_in type pf_meins_in type changing pf_menge_out type pf_meins_out type matnr gsmng meins gsmng meins.

* define internal table to cache the base UOM types: begin of lty_meins_rec, matnr type matnr, meins type meins, end of lty_meins_rec. types: lty_meins_tab type hashed table of lty_meins_rec with unique key matnr. data: ls_wa type lty_meins_rec. statics: lt_meins type lty_meins_tab. * first, find the base UOM clear pf_meins_out. read table lt_meins into ls_wa with table key matnr = pf_matnr. if sy-subrc = 0. pf_meins_out = ls_wa-meins. else. select single meins from mara into ls_wa-meins where matnr = pf_matnr. if sy-subrc 0. "doesn't exist. try PC ls_wa-meins = 'ST'. endif. ls_wa-matnr = pf_matnr. pf_meins_out = ls_wa-meins. insert ls_wa into table lt_meins. endif. * now convert the qty if pf_meins_in = pf_meins_out. pf_menge_out = pf_menge_in. else. call function 'MATERIAL_UNIT_CONVERSION' exporting input = pf_menge_in kzmeinh = 'X' matnr = pf_matnr meinh = pf_meins_in meins = pf_meins_out type_umr = '3' importing output = pf_menge_out exceptions conversion_not_found = 1

input_invalid material_not_found meinh_not_found meins_missing no_meinh output_invalid overflow others endif. endform.

= = = = = = = =

2 3 4 5 6 7 8 9.

Declare an datatype Integer and move the value to it. It will automatically round off. DATA : A type I, B type P decimals 2. B =3D 145.45. A =3D B. Write A. B =3D 145.54. A =3D B. Write A. =0D

Вам также может понравиться