Hi Michael,
The problem might be related to raising no_more_data.
In the last part of the coding I see that you check on e_t_data. Are you sure that this internal table is refreshed (initialized) every next time? You could also check on table ausw_tab.
I suggest to try reproducing the issue with t/code RSA3. Choose the package size and no. of packages large enough so that you can simulate the no_more_data situation.
Best regards,
Sander