SAP functional issueObjectQueue blocked in the outbound tRFC monitorModuleBTP_INTEGRATION

Outbound tRFC Queue Stuck or Not Processing

An outbound tRFC queue is blocked because the oldest LUW in that queue is failing and, since qRFC/tRFC queues process strictly in sequence, every entry behind it waits indefinitely. The fix is almost never 'unblock the queue' but diagnosing why the first entry fails: bad data, a dead RFC destination, a locked target system, or missing authorization.

This page covers outbound tRFC/qRFC queues that stop processing in the SM58/SMQ1 monitor, which typically manifests as IDocs, BTP integration calls, or cross-system postings piling up without reaching the target. It focuses on the serial-processing behaviour that turns one bad LUW into a whole frozen queue and on separating data fixes from connectivity or Basis fixes.

Published 16 Sept 2026· 989 words

The business symptom

The complaint usually arrives as 'orders placed this morning still have not appeared in the warehouse system' or 'the cloud portal shows nothing since 9am, but we know postings were made'. Sometimes it is phrased as a specific document: 'this sales order has been sitting for three hours'. Nobody mentions tRFC by name at this stage. A functional consultant checks the source document, finds it saved and released correctly on the sending side, and only then escalates to Basis or integration support, who open SM58 or SMQ1 and see a growing backlog of entries in one queue, all with the same age as the oldest failed one, none of them moving.

The configuration behind it

  • First entry in the queue is failing on the target side (short dump, missing authorization, invalid parameter, locked object) and because qRFC/tRFC queues are strictly serial per queue name, every LUW behind it waits regardless of its own validity.
  • RFC destination pointing to the target system is down, has expired logon credentials, or the trust relationship has broken; for BTP scenarios the Cloud Connector tunnel to the on-premise or SAP system is disconnected or its access control list no longer covers the required resource.
  • Target system is locked for maintenance, the client is locked against RFC logon, or the technical communication user is locked or expired in the target.
  • The RFC/communication user lacks authorization for the specific function module or business object being called, which produces a consistent failure only on that call and not on the connection test.
  • Target system work processes or the gateway are exhausted, so calls queue up on arrival even though the destination itself tests fine.
  • An administrator explicitly deactivated the queue (the 'no send' or blocked flag in SMQ1) during a migration, cutover, or investigation and never reactivated it, so new entries accumulate behind a queue that was never meant to run.
  • The background scheduler responsible for triggering qRFC processing (the QOUT/QIN scheduler destinations) is not running or was reset, so entries sit ready but nothing dispatches them even though the destination and target system are healthy.

What to check

  • SM58: filter by date and user, sort by age, open the oldest entry first and read its status text and return code rather than assuming all entries share the same cause.
  • SMQ1: check the queue's status flag for SYSFAIL, NOSEND, or a manual block, and confirm whether the queue is registered and active rather than paused.
  • SM59: run the connection test and the authorization test separately on the destination used by the queue; a green connection test does not prove the calling user has authorization for the target function module.
  • ST22 and SM21 on the target system for a matching short dump or system log entry at the timestamp of the first failed LUW.
  • For BTP-routed calls, the Cloud Connector monitor for tunnel status and the exposed system's access control list.
  • SMQR/SMQS to confirm the outbound scheduler registration is active and not stopped.

How to prove it in the data

In SM58, filter the specific queue name over the affected time window and sort by execution date; the oldest entry's status and return code is the actual root cause, and its timestamp marks exactly when the backlog started. Compare that timestamp against SM21 and ST22 on the target system, and against the Cloud Connector connection log if BTP routing is involved, to confirm the failure is connectivity, authorization, or data, not a coincidence of load.

Resolution path

When the first LUW fails on bad business data, the fix is a data correction on the source side, not a system change: correct the underlying document or master data, then retrigger the specific LUW rather than mass-retrying the queue. When the cause is a dead or misconfigured RFC destination, correcting the destination is a configuration change made directly in the client, and if it must be replicated across systems it goes through transport of the destination definition; this is a Basis-owned change. When the target system or client is locked, the fix is operational (unlock, communicate maintenance window) and not something the queue itself needs touched for. When authorization is missing for the technical user, the fix is a role or authorization assignment in the target system, typically transported through the usual authorization change path. When the scheduler is stopped, restarting the QOUT/QIN scheduler registration clears the backlog without touching any individual entry. Only after the root cause is fixed should the first LUW be reprocessed or, if genuinely obsolete, deleted with functional sign-off.

The fix people try first (and why it fails)

The reflex fix is deleting the blocked queue entries in SM58 or SMQ1 to 'clear the backlog', or repeatedly hitting execute LUW without reading the error text. Deleting entries discards real business transactions silently; downstream systems never receive them and reconciliation breaks days later when someone notices missing postings. Repeated blind retries against a dead destination or locked target just generate more dumps and RFC timeouts without changing the outcome, and can mask the fact that the scheduler itself has stopped.

Whose problem this is

Basis and integration teams own the RFC destination, gateway, and scheduler health. Functional teams own the business data inside the failing LUW. The handover note should state the queue name, the TID of the first failed entry, its exact error text, whether the destination tested clean, and whether it is safe to delete versus needing correction and replay.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-functional-issues/queue-blocked-in-the-outbound-trfc-monitorERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.