Hi Guru's,
i am getting one problem while doing the sales order.i am using two condition types.mwstservice tax
mwesEducation cess
i have given the calculation type 17 for Education cess in the pricing procedure.
in the sales order its showing that suppose if the service tax is Rs 2.78 , system is takling RS2.80. i want this value to be Rs 3.
If Service tax Is Rs 2.28 paise i want it rounded to be Rs 2.
Thanks in advance
Regards
Satya.
Hi Satya,
you can modify condition value formula to always round up for your condition type.
Something like :
round up result
z_arbfeld = ( xkomvkawrt * xkomvkbetr ).
if z_arbfeld ge 0.
z_arbfeld = ( z_arbfeld + 49999 ) / 100000.
else.
z_arbfeld = ( z_arbfeld  49999 ) / 100000.
endif.
xkwert = z_arbfeld.
Hi,
With the help of Abaper, you will be able to use this as a solution for rounding to rupees.

Include RV64A601
rounding rule for closest interger value
FORM FRM_KONDI_WERT_601.
data: da_xkwerx(15).
unpack xkwert to da_xkwerx.
*
move '00' to da_xkwerx+13.
*
*
*
pack da_xkwerx to xkwert.
data : lgort1 like lipslgort .
data : d1(13) , d6(13) .
data : d2 type p decimals 2 .
data : d3 type p decimals 0 .
data : d4 type p decimals 2 .
data d5(2) .
data : d8(3) .
unpack xkwert to d1 .
d2 = d1 .
d3 = d2 .
unpack d3 to d6.
d5 = d6+11(2) .
if d5 >= 50 .
d8 = 100  d5 .
d1 = d6 + d8 .
else .
d1 = d6  d5 .
endif .
*pack d1 to xkwert .
select single lgort into lgort1 from lips where
vbeln = kompvgbel and
posnr = kompvgpos .
IF SYSUBRC = 0 .
if lgort1 = 'JSTO'.
d1 = 0 .
pack d1 to xkwert.
else .
pack d1 to xkwert.
endif .
ELSE .
pack d1 to xkwert.
ENDIF .

Regards,
Rajesh Banka
Add a comment