When I change the ship-to party address(ex: street and city) in header->partner in VA01 transaction and hit the button 'Branch Transfer' (Implemented Badi which includes the bapi BAPI_PO_CREATE1 which creates PO(Transfer Order) in background) in main screen of VA01, then the ship-to address blanks out and just remains WE and Ship-to party no. and remaining everything like name, street, city and postal code erases.
When I did the same change without hitting the 'Branch Transfer' button in the same main screen of transaction VA01' it works fine and it kept all the fields like WE, Ship-to party no, name, street, city and postal code.
Actually what is happening is, the temporary address number WE $0000 has been clearing out in the function module 'ADDR_SINGLE_RESET' which is used in BAPI_PO_CREATE1 (which has been used in the BAdi implementation) after creating the PO that is why after control is coming back to the sales order from BAdi it is not showing the changed address.
I spent lot of time in debugging by checking what is happening before and after hitting 'Branch Transfer' button and I also checked the internal tables XVBPA and XVBADR but I didn't find the correct solution.
One more thing I would like to share with you is, once I change the ship-to party address in VA01 it is keeping the old address and new address in the tables XVBADR and XVBPA with the address numbers as WE $0000.
So is there a way where in the bapi call to stop clearing the temporary address number OR is there any alternative way like USER EXIT or BADI where I can retain the changed address even before and after calling the BAdi so that I can display the changed address ?