IT CanvassTalk to an advisor
SAP architecture · LessonReviewed by Anitha M, SAP Trainer, 13 yrs · Updated · Published · SAP S/4HANA 2023 · all levels

SAP Architecture RFC

RFC (Remote Function Call) is SAP’s core mechanism for calling function modules across systems, SAP-to-SAP or SAP-to-external. It underpins much of SAP’s integration, including BAPIs and many interfaces.

Quick answer

RFC lets a program call a function module in another system as if it were local, and nearly all SAP-to-SAP and external program communication runs on it. Synchronous RFC waits, asynchronous does not, transactional guarantees exactly-once execution and queued adds ordering. Destinations live in SM59, and connectors such as JCo and NCo use it from Java and .NET.

Key takeaways
  • Watch out: Misconfigured RFC destinations (SM59).

What RFC is

RFC lets a program invoke a function module that lives in another system as if it were local. It is the foundation of SAP’s remote communication: when one SAP system calls another, or an external program calls SAP, it is almost always via RFC under the hood.

Types of RFC

  • Synchronous (sRFC): caller waits for the result; both systems must be available.
  • Asynchronous (aRFC): caller does not wait.
  • Transactional (tRFC): guarantees the call executes once, even across outages.
  • Queued (qRFC): tRFC with ordering, used heavily in interfaces.

RFC destinations

Connections to other systems are defined as RFC destinations (transaction SM59), holding the target system, logon and connection details. Interfaces, BAPIs and IDoc distribution all rely on correctly configured, secure RFC destinations.

Why it matters

RFC errors are among the most common integration issues (a destination misconfigured, a system down, authorizations missing). Understanding RFC types and destinations is essential for building and troubleshooting SAP interfaces.

RFC in integration

External systems use RFC through SAP connectors/SDKs (e.g. the SAP JCo for Java, NCo for .NET) to call BAPIs/RFMs. Reliable interfaces use tRFC/qRFC so messages are not lost or reordered. RFC destinations and their security (least-privilege service users, secured gateway) are central.

When to use it

Use RFC for SAP-to-SAP and program-level integration where you call specific functions/BAPIs, choosing tRFC/qRFC for reliability. Cloud scenarios increasingly wrap this in APIs, but RFC remains vital in classic/hybrid landscapes.

Common pitfalls

  • Misconfigured RFC destinations (SM59).
  • Choosing the wrong RFC type for reliability needs.
  • Insecure RFC connections with excessive authorizations.

Frequently asked questions

What does RFC stand for, and how is it used in SAP architecture?
RFC (Remote Function Call) is SAP’s core mechanism for calling function modules across systems, SAP-to-SAP or SAP-to-external. It underpins much of SAP’s integration, including BAPIs and many interfaces.
Already working on SAP and stuck on a live ticket?Get an expert SAP developer on screen-share to finish your daily tasks with you. Deliver on time, protect your reputation and your job. Monthly support only, no task-wise plans.Task assigned · no idea where to startStill stuck · your job on the lineExpert joins your screenDelivered on timeExplore On Job Support