Delta Extraction Missing Records After an Init
Records go missing after an init almost always because of a timing gap between when the setup table was filled and when the delta queue actually started collecting changes, or because the init selection was narrower than the full load scope. The fix is a scoped repair full load for the affected window, not another reinit, which resets the pointer but never recovers the lost records.
Covers why a small but specific set of records never shows up in BW after an LO Cockpit or generic delta init, even though the init itself completed green. Focuses on the timing and scope mismatches between setup table extraction and delta queue activation that cause silent, permanent gaps, and how to distinguish that from a queue that is simply stuck.
Published 16 Sept 2026· 1,162 words
The business symptom
Someone in finance or logistics reports that a handful of documents are simply not in the report, even though they can pull the document up in the source system without any problem. It is never all the data, which is what makes it confusing - reconciliation for most of the period matches perfectly, and the gap is often tied to a specific day, usually the day the extraction was reinitialized or a cutover happened. The business frames it as 'the report is missing some invoices from last Tuesday' rather than 'the delta is broken', because everything else loads fine on schedule afterward. Sometimes it only surfaces weeks later during month-end reconciliation, when someone finally sums document counts by creation date and finds a hole that lines up exactly with a known init or system copy date.
The configuration behind it
- Timing gap between setup table fill and delta queue activation: any document created or changed in the source between the moment the setup table is populated and the moment the delta queue starts collecting is captured by neither the init nor the first delta. This is the classic LO Cockpit trap when the setup table is filled while postings are still open.
- Unprocessed queue entries in LBWQ or SMQ1 left over from before the reinit. If these are deleted as part of the reinit cleanup rather than processed first, the changes they represent are gone permanently.
- Setup table selection narrower than the full load selection used in BW - for example the setup run restricted to a plant range while the InfoPackage or DTP pulls for all plants. Records outside the setup scope are never in the init and, because the delta pointer only starts after init, never appear later either.
- Safety interval (upper or lower limit) on the DataSource left at zero or set too small, so a document saved within that window falls between two extraction runs and is skipped by both.
- Orphan, unconfirmed init requests for other data targets sitting in the delta queue. RSA7 tracks one queue per source system shared across targets; an unresolved init for target B can suppress delta rows destined for target A.
- Generic delta based on a timestamp or numeric pointer field that gets populated asynchronously, after document save, by a background job (billing date, release job). The extraction pointer moves past the value before the field is even set, and the record is never picked up.
What to check
- RSA7 in the source system: check delta queue status, entry counts, and whether any unconfirmed init requests for other targets are sitting there.
- LBWQ and SMQ1: look for stuck qRFC LUWs under the extraction queue name from before the reinit - these must be processed, not deleted, before trusting the new init.
- LBWE or RSA3: rerun the setup table extraction with the exact selection used for the original init and compare record counts against what actually landed in BW for the same period.
- RSMO (or the process chain monitor): confirm the init request's technical and QM status, and note its exact timestamp - this is the boundary line for the missing window.
- SE16 on the source table: pull records by creation timestamp around the init cutover to see whether the suspect documents even exist in the extraction-relevant table at the right time.
- DataSource safety interval settings (LO Cockpit customizing or generic delta setup): confirm the interval is non-zero and covers realistic posting latency.
How to prove it in the data
Pull document counts by creation date from the source table for the suspect day and compare against the equivalent count in the BW InfoProvider for the same date, filtered by the same key figures used for reconciliation. Identify the specific document numbers present in source but absent in BW, then check their creation timestamp against the recorded init cutover time in RSMO - a cluster of missing documents falling exactly on or just before that timestamp confirms a timing-gap cause rather than a random load failure.
Resolution path
If the cause is a timing gap or narrow setup scope, this is a data fix: run a repair full load scoped to the affected date range or key range into a correction request, then reconcile against the source. No transport needed, but the cutover window and selection used must be documented so the repair is not repeated or missed. If the cause is unprocessed queue entries deleted during reinit, there is no clean recovery path other than the same scoped repair full load - the queue content itself cannot be resurrected. If the cause is a safety interval set to zero, that is a configuration change in the source system DataSource settings and needs to move through transport before the next reinit; pair it with a repair load covering the exposure window under the old setting. If the cause is orphan unconfirmed init requests for another target, resolve or delete those entries in RSA7 first - this is a data/administrative action, not a transport. If the cause is an asynchronous delta pointer field, the DataSource delta configuration needs to change to a field set at commit time or the safety interval needs to be widened to absorb the async delay; this is a config change requiring transport and a fresh init afterward.
The fix people try first (and why it fails)
The reflex is to delete the delta queue and run another full init, expecting it to pick up everything the first one missed. It resets the delta pointer going forward but does nothing to recover records that already fell into the gap - those are gone from both the old and new delta stream unless explicitly repaired. Worse, if the root cause is a safety interval or setup-table scope problem, the second init reproduces the exact same gap under a new timestamp, and the team ends up chasing the same missing-records complaint again a few weeks later, now with two unexplained holes instead of one.
Whose problem this is
This sits jointly between Basis, who manages the delta queue and qRFC processing on the source side, and the BW consultant who defines the init selection and safety interval. The handover note should record the exact init cutover timestamp, the setup table selection criteria used, the safety interval values in effect, and the date range applied for any repair full load done to close the gap.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-functional-issues/delta-extraction-missing-records-after-an-initERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.