Hi Bala,
I also used to have the same question. And in BAPI vs Call Transaction war, BAPI is the unanimous winner..
But if you have some custom fields which needs to be populated, I found ORDE (FM IDOC_INPUT_ORDERS) has plenty of Customer Exits to play with.. Sometimes it is easy to meet the requirement using ORDE..
Regards,
Raju.