Hi Sai,
This is too late to reply this post, but to let everyone know about the issue I am posting here.
Start new UI session and put breakpoint at BUPR_EMPLO_DELETE and check parameter IV_X_SAVE everytime, till you get the error message. The parameter IV_X_SAVE should be same/consistent (either ' ' or 'X') in whole Logical Unit of Work. It should not change in between.
I faced the same kind of problem and found that standard was passing IV_X_SAVE = ' ' and in our custom code we were passing IV_X_SAVE = 'X'. I changed it to IV_X_SAVE = ' ' and my problem got resolved.
You can try the same. Please post the alternate solution if you find it.
Best Regards,
Rahul Koshti