Guys I have used com_partner_badi instead.
The problem that I was facing initially with this badi was as follows:
1)This BADI is only called if the employee responsible is blank.
2)In our system when we create a complaint it was being called at the time of selecting a transaction type which is when my code was populating the employee responsible, hence it was not being called again on saving the complaint.
3)My requirement was to get employee responsible after selecting the reason of transaction type.
So I put a condition in my badi that the code must only execute if I find a reason through CRM_ORDER_READ.
Now its working perfectly.
Thanks Faisal and Bhushan for helping out from time to time.