Hi,
Only when you use cursor and when all data records are selected sy-subrc <> 0. and no_more_data will be raised. It is always advisable to use cursor to handle large amount of data . In your case try to give RAISE no_more_data at the end of your logic when e_t_data is appended.
Regards,
Raghavendra.