Integration Approaches & Methods with SAP ERP system
Integration Approaches and Methods with SAP ERP system.
This might be helpful for folks, whoever is an entry level consultant of any external system that interacts with SAP.
This might be helpful for folks, whoever is an entry level consultant of any external system that interacts with SAP.
Below table engrosses the BAPI, BADI, RFC, FM, ODATA and IDOC
Acronym
BAPI | Business Application Programming Interface |
BADI | Business Add In |
ODATA | Open Data Protocol |
IDOC | Intermediate Document |
RFC | Remote Function Call |
FM | Functional Module |
Short Definitions
BAPI | BAPI is used as an exchange medium that interacts with SAP to send and get data from any external systems (majorly NON SAP systems). |
BADI | BADI's are custom enhancement programs on existing module can be called and consumed inside SAP systems only. |
ODATA |
OData interface is an open standard that can be consumed by any
application, program, software or device of the Non-SAP world that can
connect with SAP using the HTTP(s) protocol and can manipulate (read,
write, modify and understand i.e. parse and construct) an XML
document. OData uses the REST architecture. |
IDOC | Similar like BAPI, this is also an exchange medium with external systems but asynchronously. |
RFC |
It uses the SAP specific protocol, to communicate SAP and NON SAP
systems. If both the system uses ABAP programs, uses the interface CPI-C
(Computer Programming Interface for Communication). BAPI's are mounted on RFC to communicate with external systems (Majorly NON SAP systems). Every BAPI is a RFC but every RFC is not a BAPI. |
FM |
Functional Module are the procedures / programs to execute. It is
considered as reusable components, that can be utilised in any other
integration approaches - RFC, BADI, BAPI etc., Functional module is the business objects that tells the system what is the procedure to execute / what the system to do. |
Connections
BAPI | External Systems can Connect |
BADI | Only internal SAP systems |
ODATA | External Systems can Connect |
IDOC | External Systems can Connect |
RFC | Internal Systems can connect, exposed to external system using BAPI |
FM | Functional Module is not a integration method. It contains programs / code where other integration approaches can consume. |
Method of Integration
BAPI | Xml based |
BADI | Calling Function |
ODATA | Webservice (REST method) |
IDOC | Similar like Xml, Sent in text files. |
RFC | Calling Function |
FM | Not Applicable |
Call
BAPI | Synchronous |
BADI | Synchronous & Asynchronous |
ODATA | Synchronous & Asynchronous |
IDOC | Asynchronous |
RFC | Synchronous & Asynchronous |
FM | Not Applicable |
Specific Use Cases
BAPI |
Get the details of Purchase Order and Open GRN's, Posting an Invoice. Posting an Invoice with Synchronous call and receiving as response with Success (SAP document no) and Failure (Exception Message) |
BADI | Enhancement of Purchase Order Creation, for Country INDIA, additional tax validations w.r.t to GSTIN of a Vendor |
ODATA |
a. Document Present Status flow b. Posting an Incoming Invoice |
IDOC |
a. Getting the details of Material Master b. Creating a Purchase order in one system and posting a Sales Order in a different SAP system. * EDI (Electronic data interchange) |
RFC | GETDETAILS of a PO and Process |
FM | Any program to execute |
When to Use and When Not to Use
BAPI |
If you need a Immediate response and tight couple integration with
SAP. Target system should be always active. Any updates in SAP, will not be reflected in Client system on parametric control. Any External System can use Standard BAPI and Customised BAPI. Standard BAPI's can be customised and termed as mostly ZBAPI. ABAP programmers majorly copies the Standard BAPI and amend the code basis the specific requirement whichever is not available in standard BAPI and term it as ZBAPI. |
BADI |
Only SAP system uses BADI. Any enhancement in standard programs. NON SAP system cannot consume BADI. |
ODATA |
Webservice Protocol, familiar in data exchange. Failure modes and Caching to be addressed. |
IDOC |
If you do need a Immediate response. Target system not required to be active always. Errors should be manually corrected in target system if the integration of data is not successful. |
RFC |
Same as applies to BAPI. There are general categories of RFC, a. Synchronous RFC b. Asynchronous RFC c. Queued RFC d. Transactional RFC |
Comments
Post a Comment