What's manner is better for sending RosettaNet PO t

I have a project need to send RosettaNet PO/PO change/PO cancellation to SAP and SAP should return PO confirmation outside,but I don’t know whether I should use IDOC or use BAPI as the SAP interface.Could someone give me a good advice?Thank you!