Alt. Measure

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 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 matnr
pf_menge_in type gsmng
pf_meins_in type meins
changing pf_menge_out type gsmng
pf_meins_out type 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 = 2
material_not_found = 3
meinh_not_found = 4
meins_missing = 5
no_meinh = 6
output_invalid = 7
overflow = 8
others = 9.
endif.
endform.
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

You might also like