Atlas Diagnostic

SAP qRFC and tRFC diagnostics

A first-pass structure for finding why RFC calls are stuck, failing, or executing out of order.

Reviewed

Core idea

Transactional RFC (tRFC) and queued RFC (qRFC) are the transport layers for many SAP integrations including ALE, IDoc, and custom interfaces. When RFC calls are stuck in a queue, fail with connection errors, or execute in the wrong order, the support goal is to identify whether the issue is in the RFC destination, the queue configuration, the executing function module, or the target system availability.

Always test the RFC destination in SM59 before reprocessing entries in SM58 or SMQ1/SMQ2. Reprocessing a queue against a broken destination just creates the same failure again.

Common symptoms

  • SM58 shows multiple tRFC entries in error status.
  • SMQ1 or SMQ2 shows queues with status SYSFAIL or MANUAL.
  • IDoc status 03 but partner reports the document never arrived.
  • RFC destination test (SM59) fails with connection or authorization error.
  • Queue scheduler is not running or queues are not being processed.

Likely causes

  • RFC destination unreachable: the target system is down, network path is broken, or the gateway is not responding.
  • Authorization failure: the RFC user lacks the required authorization in the target system.
  • Queue blocked: a previous failed entry is blocking the entire queue (serialization).
  • Function module error: the called function module fails in the target system due to data or application errors.
  • Queue scheduler not running: the qRFC scheduler (QOUT scheduler or QIN scheduler) is not active.

Where to check in SAP

  • SM59 — RFC destination configuration and connection test.
  • SM58 — tRFC monitor and error log.
  • SMQ1 — outbound qRFC queue status.
  • SMQ2 — inbound qRFC queue status.
  • SM50 / SM66 — work process status if RFC is executing synchronously.

Key tables / transactions / objects

  • ARFCSDATA / ARFCSSTATE — tRFC data and status.
  • TRFCQOUT / TRFCQIN — qRFC queue tables.
  • RFCDES — RFC destination definitions.

Diagnostic workflow

  1. Identify the RFC destination, function module, and the error symptom (stuck, failed, out of order).
  2. Test the RFC destination in SM59 to confirm basic connectivity.
  3. Check SM58 for tRFC errors and read the error text for each failed entry.
  4. Check SMQ1 / SMQ2 for queue status. Look for the first failed entry that may be blocking the queue.
  5. Verify the RFC user authorization in the target system if the error is authorization-related.
  6. Check if the queue scheduler is running and if the queue is registered for scheduling.

Typical fixes or next actions

  • Restart or correct the failed RFC entry in SM58 after fixing the underlying issue.
  • Unblock the queue in SMQ1 / SMQ2 by deleting or moving the failed entry if it is blocking subsequent calls.
  • Fix the RFC destination configuration if SM59 test fails.
  • Update the RFC user authorization in the target system.
  • Restart the queue scheduler if it is not running.

What to capture first

qRFC and tRFC issues are usually connectivity, authorization, or queue blocking problems. Capture: RFC destination, function module, queue name (if qRFC), error text, SM58 or SMQ1/SMQ2 status, and whether the issue is isolated or affecting multiple interfaces.

Boundaries and non-goals

This page is a diagnostic frame, not an RFC configuration guide. It does not cover RFC destination setup, SNC configuration, or load balancing. It does not replace SAP's RFC documentation.

This is not official SAP documentation and not a replacement for system-specific analysis.

Next diagnostic steps

Practical checklist

  • Collect RFC destination, function module, queue name, and SM58/SMQ1/SMQ2 status. Synthetic example: destination TEST_DEST_01, queue Q_1234567890.

  • Test the RFC destination in SM59 and capture the connection or authorization error.

  • Check SM58 for failed tRFC entries and read the error text before restarting.

  • Check SMQ1/SMQ2 for SYSFAIL or MANUAL status and identify the first blocking entry.

  • Verify the RFC user authorization in the target system if authorization is suspected.

  • Confirm the queue scheduler is running and the queue is registered for scheduling.

  • Safety limit: do not delete or move a failed queue entry until the underlying cause is documented.