‎2007 Aug 29 12:45 PM
Is the correct code for the below requirement.
1.Check if operating concern(I_ERKRS) is 0001 than go to step 2 else go to step
2.Read each record of T_Item which is of structure CE10001 table and verify
the value for item category(CE10001-PSTYV) .
3. If the item Category (CE10001-PSTYV) is TAS Than change Warehouse cost value field (CE10001-VV504) value to 0.00 irrespective of its current value).
Else dont change value of warehouse cost value field(CE10001-VV504).
4.Exit from the function module.
<b>Code:</b>
CASE i_erkrs.
WHEN '0001'.
LOOP AT t_item.
MOVE-CORRESPONDING t_item TO ce1_0001.
IF ce1_0001-pstyv = 'TAS'.
ce1_0001-vv504 = '0.00'.
ELSE.
ENDIF.
MOVE-CORRESPONDING ce1_0001 TO t_item.
MODIFY t_item FROM t_item.
ENDLOOP.
EXIT.
ENDCASE.
Thanks,
sudhakar
‎2007 Aug 29 12:48 PM
use endif before modify.
only den it makes sense.
CASE i_erkrs.
WHEN '0001'.
LOOP AT t_item.
MOVE-CORRESPONDING t_item TO ce1_0001.
IF ce1_0001-pstyv = 'TAS'.
ce1_0001-vv504 = '0.00'.
ELSE.
MOVE-CORRESPONDING ce1_0001 TO t_item.
ENDIF.
MODIFY t_item FROM t_item.
ENDLOOP.
EXIT.
ENDCASE
‎2007 Aug 29 12:51 PM
also i dont c ny need for da exit statement as well...
plz reward points if it helps
‎2007 Aug 29 12:52 PM
yes u r right.
u can write simply like this.
CASE i_erkrs.
WHEN '0001'.
LOOP AT t_item.
MOVE-CORRESPONDING t_item TO ce1_0001.
IF ce1_0001-pstyv = 'TAS'.
ce1_0001-vv504 = '0.00'.
ENDIF.
MOVE-CORRESPONDING ce1_0001 TO t_item.
<b>MODIFY t_item.</b>
ENDLOOP.
EXIT.
ENDCASE.
(Or)
<b>CASE i_erkrs.
WHEN '0001'.
LOOP AT t_item.
IF t_item-pstyv = 'TAS'.
t_item-vv504 = '0.00'.
ENDIF.
MODIFY t_item.
ENDLOOP.
EXIT.
ENDCASE.</b>
rgds,
bharat.
‎2007 Aug 29 12:57 PM
SEE THIS CODE:
CASE i_erkrs.
WHEN '0001'.
LOOP AT t_item.
MOVE-CORRESPONDING t_item TO ce1_0001.
IF ce1_0001-pstyv = 'TAS'.
ce1_0001-vv504 = '0.00'.
ELSE.
<b>CONTINUE.</b>
ENDIF.
MOVE-CORRESPONDING ce1_0001 TO t_item.
MODIFY t_item FROM t_item.
ENDLOOP.
EXIT.
ENDCASE.
regards,
srinivas
<b>*reward for useful answers*</b>
‎2007 Aug 29 1:14 PM