‎2006 Oct 31 9:05 AM
i have a table in alv with info that i wont to display .the table do some calcultion and i wont that when one field (row)is empty put in 0 (zero). i write code lie this but it dont work any suggestion.
this is the code :
ORM utilization .
LOOP AT itab INTO wa_itab.
IF wa_itab-util IS INITIAL.
wa_itab-util = '0'.
ELSEIF wa_itab-reg > 0.
wa_itab-util = wa_itab-yyquota - wa_itab-reg.
MODIFY itab FROM wa_itab TRANSPORTING util.
CLEAR wa_itab.
ENDIF.
ENDLOOP.
ENDFORM. " utilization
‎2006 Oct 31 9:08 AM
Hi,
Instead it would be fine if you define field itab-util as
NUMC instead if char and keep data size same as it is for char. Hence it shall take by default 0 value instead of blank.
This will solve your query.
*REWARD if so
‎2006 Oct 31 9:08 AM
Hi,
Instead it would be fine if you define field itab-util as
NUMC instead if char and keep data size same as it is for char. Hence it shall take by default 0 value instead of blank.
This will solve your query.
*REWARD if so
‎2006 Oct 31 9:09 AM
try..
LOOP AT itab INTO wa_itab.
IF wa_itab-util = ''.
wa_itab-util = '0'.
MODIFY itab FROM wa_itab TRANSPORTING util.
ELSEIF wa_itab-reg > 0.
wa_itab-util = wa_itab-yyquota - wa_itab-reg.
MODIFY itab FROM wa_itab TRANSPORTING util.
CLEAR wa_itab.
ENDIF.
ENDLOOP.
‎2006 Oct 31 9:13 AM
Hi,
You are modifying the internal table only in else statement. use that modify statement after if. It may work.
Try this
LOOP AT itab INTO wa_itab.
IF wa_itab-util = ''.
wa_itab-util = '0'.
MODIFY itab FROM wa_itab TRANSPORTING util.
CLEAR wa_itab.
ELSEIF wa_itab-reg > 0.
wa_itab-util = wa_itab-yyquota - wa_itab-reg.
MODIFY itab FROM wa_itab TRANSPORTING util.
CLEAR wa_itab.
ENDIF.
ENDLOOP.
If it helps you kindly reward the points.
Regards,
Kiran i
‎2006 Oct 31 9:14 AM
hi,
its ALV,
so i think u can do this in field catlog itself.
check this options in the field catlog.
lzero(1) type c, " leading zero
no_zero(1) type c, " write no-zero
rgds
anver
<i>pls makr points if hlped</i>