REPORT ztest_nonround.
DATA: w_input TYPE p DECIMALS 3,
w_output TYPE p DECIMALS 2,
w_decimal_digit TYPE i .
MOVE ‘1452.345′ TO w_input.
MOVE ‘2′ TO w_decimal_digit.
PERFORM noround USING w_input w_decimal_digit
CHANGING w_output.
WRITE: w_output.
*&——————————————————————–*
*& Form noround
*&——————————————————————–*
FORM noround USING us_input us_dec_digit
CHANGING ch_ouput.
DATA: w_lc_inte(20) TYPE n ,
w_lc_deci(20) TYPE n ,
w_lc_bef_truc(20) TYPE c ,
w_lc_aft_truc(20) TYPE c .
w_lc_bef_truc = us_input.
SPLIT w_lc_bef_truc
AT ‘.’
INTO w_lc_inte w_lc_deci.
CONCATENATE w_lc_inte ‘.’ w_lc_deci+0(us_dec_digit) INTO w_lc_aft_truc.
ch_ouput = w_lc_aft_truc.
ENDFORM. “noround
DATA: w_input TYPE p DECIMALS 3,
w_output TYPE p DECIMALS 2,
w_decimal_digit TYPE i .
MOVE ‘1452.345′ TO w_input.
MOVE ‘2′ TO w_decimal_digit.
PERFORM noround USING w_input w_decimal_digit
CHANGING w_output.
WRITE: w_output.
*&——————————————————————–*
*& Form noround
*&——————————————————————–*
FORM noround USING us_input us_dec_digit
CHANGING ch_ouput.
DATA: w_lc_inte(20) TYPE n ,
w_lc_deci(20) TYPE n ,
w_lc_bef_truc(20) TYPE c ,
w_lc_aft_truc(20) TYPE c .
w_lc_bef_truc = us_input.
SPLIT w_lc_bef_truc
AT ‘.’
INTO w_lc_inte w_lc_deci.
CONCATENATE w_lc_inte ‘.’ w_lc_deci+0(us_dec_digit) INTO w_lc_aft_truc.
ch_ouput = w_lc_aft_truc.
ENDFORM. “noround