Howdy!
Couple of pointers if you would like to use the "standard" EDI interfaces
You can import the orders to F47131/F47132 and run R47500 to ship confirm. However, if there are changes to quantity/location/lot, between F47132-F4211, R47500 will NOT ship confirm the line. (i.e the lines must match exactly)
We solved this at a client by importing the records twice to F47131/F47132 with different EDI document types. The first document type is to update F4211 with quantity/location/lot changes from the warehouse and was processed with R47131 to update the sales orders.
Then we process the second EDI document with R47500 to do the actual ship confirm
You could, of course, just run R47131 to update the sales orders and then run R42500 over the sales orders (batch ship confirm)
R42500 basically reads F4201/F4211 and writes entries to F47131/F47132. It then calls R47500 to do the actual ship confirm
Worth noting is that R47500 is a "mickey mouse" program. It will NOT read the actual ship date from F47132 and use it to ship confirm the order. The actual ship confirm will be system date (unless you modify it) ..and of course the match between F47132 and F4211 must be exact so there's no logic to backorder or cancel. This must done beforehand, including splitting F4211 lines to multiple locations
Also, be absolutely sure that when you export the order lines to the warehouse, the UBE checks F00095 Object reservations table. Otherwise you may be sending stuff to the warehouse while the user is editing the order and this may lead to inconsistenices.
first hand experience
Personally, i would just populate F47131/F47132 and write a custom UBE that reads the EDI table and calles Master bsfn to do the ship confirm (copying the fucntionality from P4205)
Hope this helps
/Aarto