2009 Aug 19 12:32 PM
Hi Friends,
I have one internal table gt_ekpo in which fields such as ebeln, ebelp, mblnr, mjahr and budat are present.
I want to to delete all the records which have values present in budat(date) so i have tried following statement:-
LOOP AT gt_ekpo INTO ls_ekpo.
READ TABLE gt_ekpo INTO ls_ekpo WITH TABLE KEY budat = ls_ekpo-budat TRANSPORTING ebeln budat.
ENDLOOP.
READ TABLE gt_ekpo into ls_ekpo WITH TABLE KEY budat = ls_ekpo-budat transporting ebeln budat."ebeln = ls_ekpo-ebeln ebelp = ls_ekpo-ebelp mblnr = ls_ekpo-mblnr mjahr = ls_ekpo-mjahr
IF sy-subrc = 0.
DELETE gt_ekpo INDEX sy-tabix.
ENDIF.
it is giving me syntax error as declaration of ebeln key field is missing.........
one more thing if we use loop at for read then it will read multipple lines...rught?
Thanx
2009 Aug 19 12:36 PM
Hi,
Try like this
LOOP AT gt_ekpo.
if gt_ekpo-budat is not initial.
DELETE gt_ekpo INDEX sy-tabix.
endif.
ENDLOOP.
You wont require the read statement here.
Regards,
Vik
Edited by: vikred on Aug 19, 2009 5:08 PM
Hai
You can Use Like this:
Just use after Fetching data:
Delete GT_EKPO where budat is not initial.
2009 Aug 19 12:36 PM
Hi,
Try like this
LOOP AT gt_ekpo.
if gt_ekpo-budat is not initial.
DELETE gt_ekpo INDEX sy-tabix.
endif.
ENDLOOP.
You wont require the read statement here.
Regards,
Vik
Edited by: vikred on Aug 19, 2009 5:08 PM
2009 Aug 19 12:39 PM
2009 Aug 19 12:40 PM
Hai
You can Use Like this:
Just use after Fetching data:
Delete GT_EKPO where budat is not initial.
2009 Aug 19 2:08 PM
I would say do the way Vikred said:
LOOP AT gt_ekpo.
if gt_ekpo-budat is not initial.
DELETE gt_ekpo INDEX sy-tabix.
endif.
ENDLOOP.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |