IDoc status 64 — IDoc Status 64 Ready for Application Transfer
Status 64 is an inbound-only status meaning the IDoc has completed ALE inbound processing (syntax check, partner profile lookup, filtering, version conversion) and is queued to be handed to the application posting function module. It has not been posted yet. If it stays at 64 instead of moving to 53 or 51, the queue or background dispatch mechanism that should pick it up is stalled.
This page covers inbound IDoc status 64, the queued-for-application-transfer state that sits between successful ALE processing and actual posting. It focuses on why IDocs stall here, usually a stopped queue or missing background job, and how to safely clear the backlog without creating duplicate application documents.
Published 16 Sept 2026· 1,022 words
What the status means
Status 64 belongs to the inbound processing chain. By the time an IDoc reaches 64, it has already passed syntax and semantic checks, partner profile determination, and any inbound filtering or version conversion. It is sitting in a dispatch queue, waiting to be handed off to the posting function module associated with its message type. The next status should be 53 if posting succeeds or 51 if the application rejects it. Status 64 is designed to be transient, typically lasting seconds. When IDocs accumulate at 64 in volume, or sit there for hours, the dispatch mechanism itself, not the IDoc data, is usually the problem. This status exists mainly for partner profiles configured to process inbound IDocs via background scheduling or queued RFC rather than immediate synchronous processing.
Why it appears
- Partner profile set to background processing but the collection job that picks up status 64 IDocs is not scheduled, has been deleted, or is running with a variant that excludes the relevant message type or logical system.
- Inbound qRFC queue is stopped or has an entry with SYSFAIL at the head of it, blocking every subsequent IDoc in the same queue from being dispatched, even though only one IDoc is actually broken.
- tRFC entries stuck due to a target system connection issue at the time of transfer, leaving the queue paused pending manual confirmation or restart.
- Large batch load of inbound IDocs outpacing the processing job's run frequency, so IDocs sit at 64 simply waiting their turn in a growing backlog.
- Lock contention on the target master data or document number range, causing the posting attempt to be deferred or silently skipped by the background job without raising a hard error.
- Serialized queue configuration (same queue name shared across message types by design or by mistake) meaning an unrelated interface's failure blocks this one's dispatch.
- Workflow-triggered follow-on processing not firing because the workflow event linkage for status 64 was never activated or was deactivated during a transport.
What to inspect
- WE02 or WE05: confirm the volume of IDocs stuck at 64, their message type, and whether they share a partner or logical system.
- WE20: check the partner profile's inbound parameters for the message type, specifically whether processing is set to trigger immediately or by background program, and which queue name is assigned.
- SMQ2: inspect the inbound queue for entries in SYSFAIL or stopped state; a queue blocked at one entry explains why everything behind it is still at 64.
- SM58: check for tRFC failures around the time the backlog started, particularly connection timeouts to the application server.
- SM37: verify the background job responsible for dispatching status 64 IDocs actually ran, completed, and covered the right variant.
- SM12: check for long-running locks on the master data or document objects the posting function module needs.
How to reprocess safely
Identify and clear the actual blockage before touching the IDocs. If a qRFC queue is stopped, restart the blocking entry in SMQ2 once its underlying cause is understood; do not just delete it. If the background dispatch job was not scheduled or excluded the message type, correct the job variant or schedule and let it run rather than manually forcing posting outside the standard path. Once the queue or job is confirmed healthy, reprocess through BD87, selecting the affected IDocs and message type, and let the standard posting function module run. Duplicate-posting risk is low at this stage because no application document has been created yet, but verify this is true for every IDoc in the batch before mass reprocessing, since a mixed batch can include some that already advanced to 53 through a parallel job run. Reprocess in the same sequence the IDocs were received if the message type is sequence-dependent, for example master data before dependent transactional data.
Never run a custom program to post the underlying business document directly while the original IDoc is still queued at 64. Once the queue resumes normal operation, it will dispatch the same IDoc and post it again, creating a duplicate document that then requires manual reversal and reconciliation on the application side.
The fix people try first (and why it fails)
The reflex is to select every IDoc stuck at 64 in BD87 and hit process, assuming reprocessing itself clears the backlog. If the real cause is a stopped qRFC queue or a locked resource, mass reprocessing just resubmits the same IDocs into the same broken pipe, and they land right back at 64 or move to a worse error status. Worse, if someone also manually posts the business document in parallel to unblock the business user, the queue eventually recovers and posts the original IDoc too, producing a duplicate.
Whose problem this is
Queue and job monitoring is a Basis or integration team responsibility, since the fix usually involves SMQ2, SM58, or job scheduling rather than IDoc data. Functional teams get involved only to confirm whether the affected message type is sequence-dependent and whether it is safe to release a backlog in bulk once the underlying queue or job issue is resolved.
Common pitfalls
IDocs at 64 look identical to genuinely healthy in-flight IDocs when the display is refreshed slowly, so a monitoring dashboard can under-report a growing backlog until someone checks the actual queue. A single erroring IDoc at the head of a shared queue can silently stall dozens of unrelated interfaces, so the fix belongs to that one entry, not to every IDoc showing 64. Sequence-dependent message types compound the problem: releasing the queue and letting a backlog process out of order can cause application errors further downstream that look unrelated to the original stall.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-idoc/status-64ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.