Preface – This post is part of the Differences in ABAP for Interviews series.
Table of Contents
SAP has always been all about data. Since its evolution, SAP has deployed so many ways to play around data. It is also important for any business to access, transfer and store its data from internal and external sources. Keeping these things in mind, SAP has introduced (in different timelines) different ways to process data transfer. In this article, we will be focusing upon three of them as well the difference between SAP BDC, BAPI and OData.
SAP BDC stands for Batch Data Communication, is an application interface framework, used to process batch input sessions resulting into batch data transfer. They are also simply called Batch Input.
SAP BAPI stands for Business Application Programming Interface, are RFC function modules that enables external applications to access, process, migrate and store data in SAP. External applications mainly communicate with SAP using HTTP gateway.
SAP OData is a web gateway that converts SAP business data into a REST API. This REST API is capable of performing Create, Read, Update and Delete (CRUD) operations using HTTP gateway.
Difference between SAP BDC, BAPI and OData
|SAP BDC||SAP BAPI||SAP OData|
|BDC is the old method of moving legacy data to SAP.||BAPI is the new Interface based system for data manipulation.||SAP OData is an open source based API tool to perform activities over SAP data.|
|BDC is transaction oriented, hence where transactions run to extract data mainly from text file.||BAPI is interface oriented, hence data is processed via standard interfaces.||OData is API based on Object oriented methods, hence data is processed via API calls.|
|BDC is based upon reports.||BAPI is based upon RFC.||OData is based upon REST.|
|Good for uploading mass data internally.||Good for connecting SAP system to others.||Good for connecting SAP systems to UI5 and other UIs.|