Skip to content
IT Canvass
SAP ABAP development · Lesson

RFC

Quick answer

When you build an RFC for others to call, use flat, well-documented parameters, return status/messages clearly, and consider reliability (tRFC/qRFC for guaranteed, ordered delivery).

Key takeaways

  • A function module flagged as "Remote-Enabled" can be invoked across systems via RFC.
  • Remote calls use an RFC destination (defined in SM59) naming the target system and logon.
  • Building and calling RFCs is core to SAP integration development.
  • Watch out: Not handling RFC exceptions (system down/unreachable).

Remote-enabled function modules

A function module flagged as "Remote-Enabled" can be invoked across systems via RFC. This is how SAP exposes callable logic to other SAP systems and to external programs (through connectors/SDKs). BAPIs are, technically, specially-defined remote-enabled function modules.

Calling a remote function

CALL FUNCTION 'Z_GET_CUSTOMER' DESTINATION 'RFC_TARGET'
  EXPORTING iv_kunnr = lv_kunnr
  IMPORTING es_data  = ls_data
  EXCEPTIONS communication_failure = 1 system_failure = 2 OTHERS = 3.
IF sy-subrc <> 0. " handle RFC error
ENDIF.

Destinations and error handling

Remote calls use an RFC destination (defined in SM59) naming the target system and logon. Robust code always handles the communication_failure/system_failure exceptions, remote systems can be down or unreachable, and RFC errors are among the most common integration issues.

Designing remote-enabled FMs

When you build an RFC for others to call, use flat, well-documented parameters, return status/messages clearly, and consider reliability (tRFC/qRFC for guaranteed, ordered delivery). Good interface design here makes integrations robust.

Common pitfalls

  • Not handling RFC exceptions (system down/unreachable).
  • Wrong or missing destination (SM59).
  • Complex parameters that are hard to call remotely.

Want to learn this properly?

Our live, instructor-led SAP Training covers this hands-on, with real projects and a certification path.

Check your understanding

  1. Which statement is true of RFC?

    • A. A function module flagged as "Remote-Enabled" can be invoked across systems via RFC.
    • B. The General Ledger (G/L) is the central record of an organisation’s financial accounting in SAP FI, every…
    • C. Troubleshooting FI focuses on the recurring issues in financial postings and processes, posting errors…
    Show answer

    A. A function module flagged as "Remote-Enabled" can be invoked across systems via RFC.

    Covered in the “Remote-enabled function modules” section of this lesson.

  2. Which of these also applies to RFC?

    • A. This is how SAP exposes callable logic to other SAP systems and to external programs (through…
    • B. Guessing instead of reading the log/dump.
    • C. Treating short answers as complete.
    Show answer

    A. This is how SAP exposes callable logic to other SAP systems and to external programs (through…

    Covered in the “Remote-enabled function modules” section of this lesson.

  3. Which part of the Learn SAP curriculum covers RFC?

    • A. SAP TCodes
    • B. SAP ABAP development
    • C. SAP career guide
    Show answer

    B. SAP ABAP development

    This lesson sits in the SAP ABAP development section of the Learn SAP course.

Frequently asked questions

What does RFC stand for in SAP?

RFC-enabled function modules let ABAP code be called remotely, from another SAP system or an external program, and let ABAP call out to other systems. Building and calling RFCs is core to SAP integration development.

Which transaction codes come up with RFC?

Remote calls use an RFC destination (defined in SM59) naming the target system and logon.

What is worth remembering about RFC in practice?

When you build an RFC for others to call, use flat, well-documented parameters, return status/messages clearly, and consider reliability (tRFC/qRFC for guaranteed, ordered delivery).

What tends to go wrong with RFC?

Not handling RFC exceptions (system down/unreachable). Wrong or missing destination (SM59). Complex parameters that are hard to call remotely.
CallWhatsAppEnquire