IDoc statusObject01ModuleBTP_INTEGRATION

IDoc status 01 — IDoc Status 01 Outbound Generated

Status 01 means an outbound IDoc has been created by the sending application with its control and data records written to the database, but it has not yet been handed to the port for RFC or file dispatch. It is the earliest outbound status and normally clears within seconds; if it persists, the dispatch step never ran.

Covers outbound IDoc status 01, the point right after IDoc creation and before it reaches the communication port. Explains the difference between a normal transient 01 (waiting for a collection job) and a genuinely stuck one, and what to check before pushing it forward to avoid creating a duplicate outbound document.

Published 16 Sept 2026· 1,058 words

What the status means

Status 01 is set the instant an outbound IDoc's control record and data segments are written by the generating program, whether that program is output determination (NAST), a change pointer report, a distribution model trigger, or a custom function module call. At this point the IDoc exists in the database with a number but has not been passed to the ALE/EDI layer for actual transmission. The next expected status is 02 (error passing data to port) or 03 (data passed to port successfully). Because the gap between creation and port handoff is normally a synchronous call within the same program, IDocs sitting at 01 for more than a few minutes indicate the dispatch step was skipped or failed silently rather than a normal in-flight condition, except where collection-mode processing is deliberately configured.

Why it appears

  • Partner profile output mode set to collect IDocs for periodic transfer, and the scheduled collection/dispatch job has not run yet or was never scheduled — the most common cause, and often not a fault at all.
  • The background job responsible for picking up collected outbound IDocs (a periodic RBD-style collective dispatch program) is not scheduled, is disabled, or failed on a prior run and was never restarted.
  • Custom interface code created the IDoc via a master IDoc distribution call but never invoked the subsequent dispatch/communication step, leaving the IDoc permanently orphaned at 01 by construction.
  • Basis resource exhaustion — no free dialog or background work processes, or the RFC destination used for port dispatch was locked or unreachable — caused the synchronous handoff after creation to abort without raising a visible error.
  • The tRFC or qRFC layer used underneath the port never picked up the LUW because the queue was blocked by an earlier failed entry, so the IDoc never advanced past creation even though the call was attempted.
  • A short dump occurred in the same logical unit of work right after the IDoc control record was committed but before the port call executed, so the IDoc got created and committed independently of the failed dispatch attempt.
  • The output type or partner profile configuration was changed mid-cycle and existing collected IDocs from before the change are stranded because the new configuration path does not pick up old entries.

What to inspect

  • Display the IDoc in WE02 or WE05 and note the creation timestamp; compare against how long 01 should normally last for that message type.
  • Check the partner profile in WE20 for the partner and message type to see whether output mode is set to transfer immediately or collect IDocs.
  • If collection mode is configured, check SM37 for the periodic collective dispatch job — confirm it is scheduled, check its last run time and any error log.
  • Check SMQ1 (outbound queue) if qRFC is used underneath the port, for blocked or stuck LUWs tied to the same RFC destination.
  • Check ST22 for short dumps around the IDoc creation timestamp in the same user or background context.
  • Use BD87 to view the current status and confirm no reprocessing has already been attempted for this specific IDoc number.

How to reprocess safely

Identify why the dispatch step never ran before touching anything: missing job, wrong output mode, blocked queue entry, or a code path that never calls the distribution API. If it is a missing or failed background job, fix the job schedule and let the next run pick up the IDoc — no manual reprocessing needed. If the partner profile output mode is wrong, correct it, but be aware the correction only affects future IDocs unless the existing one is manually pushed forward. If a queue entry is blocking qRFC, clear the blocking entry first, then let normal processing resume rather than forcing the specific IDoc. Manual reprocessing from BD87 should only be used once the root cause is confirmed fixed, and only once per IDoc number — reprocessing pushes the existing control record forward to the port, it does not create a new IDoc, so the duplicate-posting risk here is lower than for mid-chain statuses, provided the fix is applied to the configuration or job rather than to the source document.

The fix people try first (and why it fails)

The common mistake is going back to the source document and re-triggering the output — reprinting an invoice, re-releasing a delivery, or re-running output determination — instead of pushing the existing IDoc that is already sitting at 01. This generates a second, brand-new outbound IDoc for the same business document with a different IDoc number, while the original stuck IDoc is still sitting there unresolved. If the underlying job or queue issue is later fixed and the original also gets dispatched, the receiving system ends up with two IDocs for one document, producing a duplicate goods receipt, duplicate invoice, or duplicate order confirmation downstream.

Whose problem this is

Basis or the integration/interface team owns the job scheduling, RFC destination health, and queue diagnostics behind a stuck 01. The functional or application consultant owning the source document confirms whether the outbound message is still needed before anything is reprocessed or reissued, since the document's business state may have moved on since the IDoc was created.

Common pitfalls

A batch of IDocs sitting at 01 is not automatically an incident — collection-mode partner profiles are designed to leave IDocs there until the scheduled dispatch job runs, so the first check is always whether that job exists and is due, not whether something is broken. IDoc numbers appearing to skip around 01 can also mislead investigators into thinking data was lost, when the gap is simply concurrent creation by other processes. Because the failure at this stage is often silent — no application error, no dump, just a program that returned without calling the port step — status 01 volume needs to be watched over time rather than judged from a single snapshot.

Related SAP objects

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

Source: ERPClimb — https://erpclimb.com/sap-idoc/status-01ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.