Integrating Magento with SAP ECC 6.0 Backend
I'm a freshly graduated (read: inexperienced) developer who's been tasked with determining the feasibility of integrating Magento with an SAP-based backend. No developer at our company has any experience working with either SAP or Magento, so I was hoping that the Stack Overflow community may be able to point me in the right direction with my research. We're a small company (four full-time developers) and the timeline on this project would be tight, so I'm trying to gather as much information as possible.
The client has a tiered pricing structure, tax calculation logic, promotional deals, and automatic freight determination all implemented in an SAP ECC 6.0 system. They would like to migrate all their online stores over to Magento while continuing to utilize all existing functionality in SAP. The idea is to accomplish this by overriding certain modules in Magento to place remote calls to SAP BAPIs.
I've investigated SAPRFC, which looks promising but relatively stale in terms of update frequency. Do any developers have experience using SAPRFC with SAP ECC 6.0 (with or without Magento integration)? If so, what were your experiences, and what were the biggest risk factors involv开发者_如何学运维ed?
Any comments, suggestions, or links to resources would be greatly appreciated.
I am not sure but I thought the saprfc project (php) has stopped its development. I therefore recommend you using a standard technology which is supported by both php and SAP: SOAP Web Services.
On the SAP side you can generate Web Services for all the BAPIs and Function Modules that exist. Simply start the Transaction SE80 --> open your Function Module (it must be RFC callable) --> right click on it and choose create Web Service.
some links on the SAP Developer Network:
- Providing and Consuming Web Services in ABAP
- Web Services Development in ABAP
as soon as you have a wsdl you can use SoapClient
in php to call your SAP backend.
Don't be too surprised that there is not much movement when it comes to RFC development - the RFC technology is sta b le (not stale :-)) so that the libraries usually don't need to change much. I don't know SAPRFC personally, but that's rather because I'm not much into PHP. I'm not sure whether Java would be an option...
IMHO, using RFC is an excellent idea because it's a proven and fast technology and the BAPIS are documented and supported. Note that no matter which technology you choose, you'll need someone with advanced FI and SD knowledge (both general and customer-specifics) because otherwise you won't even be able to fill the input parameters correctly. And you'll need access to a 'live' and customized system - it's next to impossible to mock up a system you don't have any experience with.
I'd begin by looking for BAPIs in that area - I'm neither into financials nor SD, so I can't help you there. If you know which BAPIs are present, you might get a better idea of what is or is not possible. A tight coupling (with the SAP system being called multiple times during the course of the transaction) is usually harder to achieve because BAPIs are usually transactional - one call to create the sales order, one call to commit, that's it. If you don't find a way for a tight coupling between Magento and the SAP system, maybe you could generate the Magento config and catalog data from the SAP data periodically (personally, I'd write an ABAP program to export the data - mainly because of the performance and because SAP has an excellent scheduling system) and only transfer the orders back (I'm reasonably sure there's a BAPI for that).
精彩评论