‎2006 Jun 08 7:13 PM
Hi,
Can any one help on the syntax.
if value format is 1.000 then I should get it as 1 and
if value format is 0.120 then it should remain as 0.120.
I have tried with systax mod but it does not work.
Any help would be appreciated.
Thanks,
Satish
‎2006 Jun 08 7:41 PM
Try:
REPORT ztest MESSAGE-ID 00.
DATA: p(6) TYPE p DECIMALS 3 VALUE '1.000',
q(6) TYPE p DECIMALS 3 VALUE '0.120',
i TYPE i.
MOVE p TO i.
IF i = p.
WRITE: /001 i.
ELSE.
WRITE: /001 p.
ENDIF.
MOVE q TO i.
IF i = p.
WRITE: /001 i.
ELSE.
WRITE: /001 q.
ENDIF.Rob
‎2006 Jun 08 7:17 PM
hi Mark,
One way of doing that is as below
data var1 type float value '1.000',
var2 type i.
var2 = var1.
write : var1, var2.
else,
<b> if var1 >= 1.
var2 = var1.
var1 = var2.
else.
var1 = var1.
endif.
write : var1, var2.</b>
Regards,
Santosh
‎2006 Jun 08 7:43 PM
‎2006 Jun 08 7:41 PM
Try:
REPORT ztest MESSAGE-ID 00.
DATA: p(6) TYPE p DECIMALS 3 VALUE '1.000',
q(6) TYPE p DECIMALS 3 VALUE '0.120',
i TYPE i.
MOVE p TO i.
IF i = p.
WRITE: /001 i.
ELSE.
WRITE: /001 p.
ENDIF.
MOVE q TO i.
IF i = p.
WRITE: /001 i.
ELSE.
WRITE: /001 q.
ENDIF.Rob
‎2006 Jun 08 7:43 PM
Hi Mark,
you can use 'frac' statement to check if the decimals part is '0' or not.
*Code starts here
*var1 can have either '0.120' or '1.000' value
data : var1 type p decimals 3,
var2 type p decimals 3,
var3 type i.
var2 = frac( var1 ).
if var2 eq 0. " true for '1.000' value
var3 = var1. "var3 will be '1' now
endif.
*else use var1 only which will be '0.120'
*Code end here
Cheers,
Vikram
Pls reward for helpful replies!!