0% found this document useful (0 votes)
344 views16 pages

SAP Interfaces Explained: RFC, BAPI, IDOC

The document discusses various SAP interface acronyms and provides definitions and explanations of RFC, BAPI, IDOC, EDI, ALE, UDDI, SOAP, WSDL, REST, API, FTP, and SFTP. It groups the terms, compares their definitions, and uses examples to differentiate their purposes and applications.

Uploaded by

saurabh240386
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
344 views16 pages

SAP Interfaces Explained: RFC, BAPI, IDOC

The document discusses various SAP interface acronyms and provides definitions and explanations of RFC, BAPI, IDOC, EDI, ALE, UDDI, SOAP, WSDL, REST, API, FTP, and SFTP. It groups the terms, compares their definitions, and uses examples to differentiate their purposes and applications.

Uploaded by

saurabh240386
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

TECHLOREAN.

REPLY
LIFE IN TECH. SAP CONSULTANT.

SAP GENERAL, SAP INTERFACES

SAP Interfaces In A Nutshell | RFC, BAPI, IDOC, EDI,


ALE, UDDI, SOAP, WSDL, REST, API, FTP, SFTP

FEBRUARY 14, 2020SEPTEMBER 19, 2020 BY TECHLOREAN

It all looked like Alphabet soup when I encountered these acronyms for the first time. I even
mistook one for another. Admittedly this happened with IDOC vs ALE vs EDI.

By the end of this post, I do hope that I would have been able to help you sort these terms out. It
can get confusing, but I know I will be going back to this post from time to time.

Overview

Acronym Breakdown
Formal Definitions
Organizing / Grouping the Acronyms
Grouping and Differentiation Discussion
Summary
Additional References and Links

Acronym Breakdown

Let us start by getting familiarized with what these acronyms stand for. I will throw all the words
in the table below for your reference then we can try and sort them out later.

Here is a breakdown of what these acronyms stand for:

RFC Remote Function Call


BAPI Business Application Programming Interface
IDOC Intermediate Document
EDI Electronic Document Interchange
ALE Application Link Enabling
UDDI Universal Description Discovery and Integration
SOAP Simple Object Access Protocol Web Service
WSDL Web Service Definition Language
REST REpresentational State Transfer
API Application Programming Interface
FTP File Transfer Protocol
Secure File Transfer Protocol (or SSH File Transfer Protocol where SSH stands for
SFTP
Secure Shell)

By now, these acronyms may look something like this in your head:
Formal Definitions

Now, let us refer to their formal definitions and capabilities below.

RFC

Remote Function Call


Standard SAP interface for communication with SAP and/or other systems.
RFC calls function modules.

BAPI

Business Application Programming Interface


Specific methods for SAP business objects, which are stored in the Business Object Repository
(BOR) of the SAP system
Used for carrying out business tasks.
In SAP, BAPIs are stored as RFC-capable function modules in the ABAP Workbench Function
Builder.
BAPIs have standard business interfaces, which enable external applications (with the help of
SAP business objects) to access SAP processes, functions and data.

ALE

Application Link Enabling


Mechanism for the exchange of business data between R/3 applications.
It is a basic service within SAP Netweaver AS ABAP with which applications send and receive
IDocs.

IDOC

Intermediate Document
Standard data structure used in SAP applications to transfer data to and from SAP system
applications and external systems.
Using IDocs, companies with SAP ERP systems, for example, can exchange data with external
entities like their partners or customers.
It is a data container that exchanges data.
When we execute an outbound ALE or EDI Process, an IDOC is created.

EDI

Electronic Document Interchange


Exchange of business documents electronically between a business and its partners over a
communication network using a standard format. EDI requires IDoc.
Instead of the direct exchange of IDocs, data will first be converted to a uniform exchange
format, the so-called EDI format. A lot of companies request their vendors to send data
through EDI.
SAP does not provide EDI converters but there are EDI messages available in the standard
system for utilization.
UDDI

Universal Description Discovery and Integration


XML-based standard for describing, publishing, and finding web services.
UDDI is seen with SOAP and WSDL as one of the three foundation standards of web services.
Provides a mechanism for clients to dynamically find other Web services.
Acts as a directory of Web-services interfaces.

SOAP

Simple Object Access Protocol Web Service


It is an XML-based messaging protocol for exchanging information among computers.

WSDL

Web Service Definition Language


It is the standard format for describing a web service.

REST

REpresentational State Transfer


Architectural style for providing standards between computer systems on the web, making it
easier for systems to communicate with each other.
REST-compliant systems, often called RESTful systems, are characterized by how they are
stateless and separate the concerns of client and server.

API

Application Programming Interface


Allows your product or service communicate with other products and services without
having to know how they’re implemented.
This can simplify app development, saving time and money.
When you’re designing new tools and products—or managing existing ones—APIs give you
flexibility; simplify design, administration, and use; and provide opportunities for innovation.
APIs are sometimes thought of as contracts, with documentation that represents an
agreement between parties: If party 1 sends a remote request structured a particular way, this
is how party 2’s software will respond.

FTP

File Transfer Protocol


Standard Internet protocol for transmitting files between computers on the Internet.

SFTP

Secure File Transfer Protocol


or SSH File Transfer Protocol where SSH stands for Secure Shell
Secure version of File Transfer Protocol (FTP), which facilitates data access and data transfer
over a Secure Shell (SSH) data stream.

Organizing / Grouping the Acronyms

From the formal definitions, we can try to organize these terms and associate them to one
another. From the image shown earlier, I have added some colors to make these associations.

You will also notice a dashed line grouping because there is a high-level association between
them (including the gradient in colors) which we will eventually discuss.
Grouping and Differentiation Discussion

Now, let us go through these terms by color association: Yellow, Blue, Purple, and Pink.
ALE vs IDOC vs EDI

ALE vs IDOC vs EDI

First, we have the Yellow color association for


ALE, IDOC, and EDI. Let us visualize a vehicle
and a passenger.

From their formal definitions, you can think of ALE and EDI as vehicles. Treat IDOC as the
passenger with the information. Basically, there are 2 vehicles as options for the passenger.

ALE can only go from SAP to SAP locations (for example: SAP Dev Environment to SAP Test
Environment) while EDI can go from SAP to Non-SAP locations vice versa (for example: .NET
application to SAP Dev Environment vice versa).

ALE IDOC EDI


Data Exchange SAP to SAP Data Container Data Exchange SAP to Non-SAP
Vehicle (SAP to SAP) Passenger (with information) Vehicle (SAP to Non-SAP)
RFC vs BAPI

RFC vs BAPI

Second, we have the Blue color association for


RFC and BAPI. Let us visualize a telephone
operator or a call.

These are both function calls in SAP. You can think of these two as calls to operators. RFC would
cater to operators that will cover local calls only (SAP to SAP) while BAPI would cater to
operators who can cover international calls (local to abroad/international or SAP to Non-SAP vice
versa).

RFC would facilitate local calls while BAPI would facilitate international calls. BAPIs are
technically RFC enabled function modules. In this context, you can say that all BAPIs are RFC’s
but not all instances of RFC’s are BAPIs.

On a technical perspective, you can associate BAPI with Business Objects. These Business Objects
are created in a Business Object Repository which can be accessed by Non-SAP applications. For
example, a BAPI can be created / utilized to accommodate data coming from an external system
such as an order or sales order.

Another thing to note is that you can associate BAPI to Business Objects and an Object-Oriented
Programming (OOP) approach.
At this point it can still a bit confusing but in general you can associate BAPI as a function call
that enables external applications to access business processes and data in SAP.

RFC BAPI
RFC is a function call that can BAPI is an RFC-enabled function call that enables Non-
handle SAP to SAP. SAP to SAP interface.
Local Calls International Calls External / Non-SAP systems to SAP

FTP vs SFTP

FTP vs SFTP

Third, we have the Purple color association for


FTP and SFTP. Let us visualize a mail.

You can think of these two (on a high level) as documents. FTP as your regular mail and SFTP as
your encrypted email. The main purpose of FTP and SFTP is to bring files from one computer to
another (even from one system to another).

The only difference is that SFTP comes with a method for secure remote login from one
computer to another. There is a layer or shell of security for SFTP. Therefore, it is okay to
associate it to an encrypted email but not to a point that it would be taken too literally.
For example: if a client is expecting some files from a bank, the bank can send these files over
through SFTP from their server to the client’s server. These files will be brought from their
“computer” to the client’s “computer” and will be placed in a folder. In turn, the clients can move
these files from the said folder (accessed by the bank) and move it over to another server folder
where an application can access / consume the files for processing.

FTP SFTP
File Transfer Secured File Transfer. Shell.
Regular Mail (Postman Delivered) Email (With Encryption)

UDDI vs SOAP vs WSDL vs REST vs API

UDDI vs SOAP vs WSDL vs REST vs API

Lastly, we have the Pink color association for


UDDI, SOAP, WSDL, REST, and API. Let us
visualize the world wide web as web services.

These are all associated to Web Services. We can differentiate them as follows:

UDDI is the directory of web services interfaces. It is like a directory service where business
can list themselves and in turn search for web services.
UDDI uses WSDL to describe interfaces to web services.
SOAP is always in XML format and it serves as the message (with actual data)
WSDL is an XML document that describes the concerned web service. If this document
describes the web service, this document is part of the UDDI directory.
REST is an architectural style or pattern (explanation for the darker pink color) and it is
always associated to API (you might have heard of REST API). Unlike SOAP, it is not limited to
XML. It can cover plain text, HTML, XML, JSON, etc.
API is an agreement between applications. Think of it as a straightforward contract. An API
doesn’t care about another applications background. It just needs the application to fulfill the
end of the deal. A simple example would be a waiter.
This waiter would be your API. You mention your order to the waiter and the waiter
communicates / mentions your order to the chef. The chef then cooks your order. Once the
order is fully cooked, the waiter then delivers the order to you. This fulfills the example.
You made a request. You get your order. It is quite a cold example to mention that the
waiter on a high level doesn’t need to know both backgrounds (you and chef). The waiter
just needs to fulfill the “contract”.
From the visuals provided a while ago, there is a red dotted line to signify that all Web
Services are API’s but not all API’s are Web Services.

UDDI SOAP WSDL REST API


XML-based XML document
Directory of Architectural
messaging that describes Agreement
Web- Style + Plain text,
protocol for and explains the between
services HTML, XML,
exchanging the concerned web applications.
interfaces JSON, etc.
actual data/info. service
Just fulfill the
Sends the Architectural
Describe the Web contract. I do not
Directory. message with Style. Always
Service. need to know your
actual data. associated to API.
background.

Summary

open image in new tab to view a larger version

Here are some key words / phrases that we can associate with each:

Acronym Keywords / Key Phrases


SAP standard interface.
Calls function modules.
Enables function calls between SAP Systems.
RFC
Enables function calls between SAP and Non-SAP Systems.
SAP + SAP
SAP + Non-SAP
Has standard business interfaces for Non-SAP applications.
BAPI is implemented as a function module.
BAPI
BAPI is an RFC-enabled function module.
SAP + Non-SAP
Data exchange between R/3 Applications (SAP systems only).
ALE Through sending and receiving IDocs.
SAP + SAP
SAP standard data structure.
Data container.
Uses ALE processes.
IDOC
Between SAP and/or Non-SAP systems.
SAP + SAP
SAP + Non-SAP
Data exchange between different systems.
Through sending and receiving IDocs
EDI
From IDOCS to Conversion to EDI format.
SAP + Non-SAP
Web Service
Mechanism to find other Web Services
UDDI
Directory of web services interfaces
UDDI + SOAP + WSDL
Web Service
SOAP
XML-based messaging protocol for exchanging the actual data/info.
Web Service
WSDL
XML document that describes and explains the concerned web service.
Web Service
Architectural style of networked systems.
Lighter-weight alternative.
REST
Created to fix SOAP’s shortcomings.
Separation of client and server.
Can exchange data through Plain text, HTML, XML, JSON, etc.
All Web Services are API’s.
API Not all API’s are Web Services.
Agreement between applications.
FTP File Transfer
SFTP Secured File Transfer. Shell.
Additional References

Feel free to drop by these links for more information on each. Most of these go in depth on the
subject.

SAP Help RFC (https://help.sap.com/doc/saphelp_nw73/7.3.16/en-


RFC
US/48/88068ad9134076e10000000a42189d/content.htm?no_cache=true)
SAP Help BAPI (https://help.sap.com/doc/saphelp_nw73/7.3.16/en-
US/4d/c89000ebfc5a9ee10000000a42189b/content.htm?no_cache=true)
BAPI
Techopedia BAPI (https://www.techopedia.com/definition/16354/business-
application-programming-interface-bapi)
SAP Help IDoc
(https://help.sap.com/viewer/e54136ab6a4a43e6a370265bf0a2d744/4.2.13/en-
IDOC US/577710e16d6d1014b3fc9283b0e91070.html)
Guru99 IDoc Architecture (https://www.guru99.com/all-about-idocdefinition-
architecture-implementation.html)
SOAP SAP Community SOAP (https://archive.sap.com/documents/docs/DOC-18441)
Web TutorialsPoint What is SOAP
Service (https://www.tutorialspoint.com/soap/what_is_soap.htm)
Codecademy What is REST (https://www.codecademy.com/articles/what-is-rest)
REST Smartbear SOAP vs REST (https://smartbear.com/blog/test-and-monitor/soap-vs-rest-
whats-the-difference/)
Redhat What are APIs (https://www.redhat.com/en/topics/api/what-are-application-
programming-interfaces)
API APIFriends What is an API (https://apifriends.com/api-management/what-is-an-
api/)
HowToGeek What is an API (https://www.howtogeek.com/343877/what-is-an-api/)
Techtarget File Transfer Protocol
FTP
(https://searchnetworking.techtarget.com/definition/File-Transfer-Protocol-FTP)
Techopedia Secure File Transfer Protocol
SFTP
(https://www.techopedia.com/definition/1879/secure-file-transfer-protocol-sftp)
Techtarget Application Link Enabling
ALE (https://searchsap.techtarget.com/definition/Application-Link-Enabling)
SAPTutorial ALE Configuration (https://www.saptutorial.org/ale-configuration-sap/)
SAP Help EDI
(https://help.sap.com/doc/cd6fb65334e6b54ce10000000a174cb4/1511%20001/en-
US/frameset.htm?frameset.htm)
EDI
SAPBrainsOnline EDI Tutorial (https://sapbrainsonline.com/edi-tutorial)
SAPTrainingHQ EDI in SAP (http://www.saptraininghq.com/electronic-data-
interchange-edi-in-sap/)
TutorialsPoint WSDL Introduction
(https://www.tutorialspoint.com/wsdl/wsdl_introduction.htm)
WSDL
Service-Architecure WSDL (https://www.service-architecture.com/articles/web-
services/web_services_description_language_wsdl.html)
SAP Help UDDI (https://help.sap.com/doc/saphelp_scm50/5.0/en-
US/fe/0cb6f543994cd08bbbc6e0f22023e0/content.htm?no_cache=true)
TutorialsPoint UDDI Overview
UDDI (https://www.tutorialspoint.com/uddi/uddi_overview.htm)
Techtarget How Does SOAP relate to UDDI
(https://searchapparchitecture.techtarget.com/answer/How-does-SOAP-relate-to-
UDDI)

🙂
I hope this helps. Good luck!
ALE API BAPI EDI FEATURED FTP IDOC REST RFC SAP INTEGRATION SAP
INTERFACES SFTP SOAP UDDI WSDL

15 thoughts on “SAP Interfaces In A Nutshell | RFC, BAPI,


IDOC, EDI, ALE, UDDI, SOAP, WSDL, REST, API, FTP, SFTP”

1. Pingback: How To Fully Test XML Docs in SAP – SPROXY SXMB_MONI – Techlorean.
2. Pingback: 10 Must-Know Tips in Writing SAP Functional Specification Documents –
Techlorean.
3. Pingback: How to Resolve SAP IDoc Error Passing Data to Port – Root Cause and Fixes –
Techlorean.
4. Ibrahim Suleiman says:
FEBRUARY 8, 2021 AT 9:59 AM
I am gaining good understanding on IDOC, Agile, SAP MDG, Scrum, BRF frame work plus

 techlorean says:
🙂
FEBRUARY 9, 2021 AT 5:31 PM
Great to hear that Ibrahim! I was also thinking of writing a post on Agile and Scrum too

5. Anton says:
MARCH 6, 2021 AT 2:36 PM
Great Explanation!

6. Pingback: An Introduction to Postman for SAP Functional Consultants | API Testing with SAP
– Techlorean.
7. Pingback: SAP Interfaces | Exploring The SAP API Business Hub – Techlorean.
8. Pingback: SAP Central Finance Overview – Simplified – Techlorean.
9. Anonymous says:
NOVEMBER 23, 2021 AT 8:23 AM
Really helpful post. I struggle with visualizing these concepts and keep forgetting them, but
your post is detailed and simple.
Thank you for the effort I really appreciate it.

10. Anonymous says:


JANUARY 2, 2022 AT 12:31 AM
Brilliant article, but I think something important is missing in the picture: OData (and
Gateway) …

11. Anonymous says:


AUGUST 30, 2022 AT 8:57 PM
Using ALE we can exchange the data between SAP and non-sap systems as well.

12. hasila says:


NOVEMBER 3, 2022 AT 2:00 PM
really good, one-shot clarity. Thanks, and really appreciate the effort

13. Anonymous says:


DECEMBER 13, 2022 AT 2:42 PM
Information mismathc.. In one section it is mentioned RFC can do SAP to SAP only.. whereas in
another section it says it can do SAP to SAP and SAP to Non-SAP. Do not trust the content
completely. just go for Acronyms

14. Anonymous says:


DECEMBER 7, 2023 AT 12:25 PM
Simple explanations with examples! Thanks!!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Website Powered by WordPress.com.

You might also like