Boomi for SAP: BW Extraction mode
BW Extraction is a source mode in the Boomi for SAP connector that reads business-ready data from SAP BW DataSources (Extractors) instead of raw SAP tables. Use this mode when you need SAP's application-layer logic already applied, or when you need delta extractions from SAP.
Prerequisites
| Requirement | Details |
|---|---|
| Boomi for SAP | Licensed and configured. The connector connects to the Boomi for SAP Core API, not directly to SAP. |
| New Data Flow experience | BW Extraction is available only in the new Data Flow experience, not the classic UI. |
| Boomi for SAP connection | API endpoint plus API token. If you run multiple SAP systems, also supply the SAP System ID. |
| Active BW DataSources | The DataSources you want to extract must be active in SAP. Your SAP administrator activates them in the Boomi for SAP UI or with SAP transaction /IXBX/ZBX006. |
| Delta initialization | For DataSources configured in SAP to deliver deltas, your SAP administrator must initialize the delta in SAP before extraction works. |
| Extraction scope defined in SAP | If you need the extraction limited to particular records or a date range, configure this on the SAP side. You cannot filter this in the Data Flow. |
| Extraction events sent from SAP | Confirm with your SAP administrator that BW extraction events are being sent for the DataSource (transaction /IXBX/ZBX007) and align your schedule to it. A run returns zero rows if no extraction is waiting. |
| Extraction cleanup in SAP | Ask your SAP administrator to schedule a recurring job that deletes processed and unprocessed extractions in SAP (transaction /IXBX/ZBX009). Without it, extractions accumulate over time. |
No additional roles or permissions are required. Anyone who can create and edit Data Flows can configure BW Extraction.
Before you start: one DataSource, one Data Flow
A single Data Flow can extract multiple BW DataSources at once (Multi Tables mode). The rule below applies to a single DataSource, not to the Data Flow as a whole.
Do not configure the same BW DataSource in more than one Data Flow using the same connection. Each extraction that SAP produces for a DataSource can be consumed only once. Whichever Data Flow reads it first receives the data. Every other Data Flow pointing at the same DataSource gets nothing for that extraction, with no error to indicate it.
Before you add a DataSource to a BW Extraction Data Flow, confirm no other Data Flow already uses it, then apply the following:
- Use each BW DataSource in exactly one Data Flow.
- If several Targets need the same DataSource, extract it once into a single Target, then distribute from there downstream.
- If you must run more than one Data Flow on a DataSource, for example while migrating from one Target to another, make sure only one is active at a time. Pause or disable the other.
- Apply the same rule to test and production Data Flows that point at the same SAP system.
Configure a BW Extraction Data Flow
To configure BW Extraction, follow the Boomi for SAP walkthrough. In Step 4: Configure the schema, select BW Extraction as the extraction method alongside Standard Extraction and CDC.
Full and delta DataSources
Whether a DataSource is full or delta is set in SAP, not in Boomi for SAP. BW Extraction has no incremental setting.
| SAP update mode | Extraction type | What Boomi receives |
|---|---|---|
UPDMODE = F | Full | A snapshot of the data. |
UPDMODE = D | Delta | The changes since the last extraction. |
Each run reads every extraction waiting for the DataSource in SAP. You do not choose a delta window in the Data Flow.
RECORDMODE column
For delta DataSources, the RECORDMODE column appears in the Schema tab like any other field. Boomi loads it to the Target on every record, with the letter that SAP sent.
Boomi does not interpret RECORDMODE. It doesn't drop, flag, or change records based on it. To act on it, filter or transform on RECORDMODE downstream.
| RECORDMODE | Name | What the record contains |
|---|---|---|
"" (blank) | After image | Current state of the record after it was created or changed. |
N | New image | A newly created record. |
X | Before image | State before a change. Quantities and amounts are negative. |
R | Reverse image | Record cancelled or deleted in SAP. Quantities and amounts are negative. |
D | Delete | Record deleted in SAP. Only key fields are populated. |
A | Additive image | Only the change in quantities and amounts. |
Y | Update image | Update image. Rarely used. |
The letters that appear depend on the DataSource's delta process in SAP. For example, 2LIS_11_VAITM sends blank, X, and R records.
Not every DataSource reports deletes. After-image-only DataSources, such as most master data and generic RSO2 deltas, never send R or D. Their RECORDMODE stays blank. This is SAP behavior, not a defect.
Choosing a loading mode
In Tables Definitions, choose the loading mode for each DataSource:
| Loading mode | Behavior |
|---|---|
| Upsert Merge | Records are upserted into the Target on the key columns. A changed record replaces its previous version instead of duplicating it. This is the default. |
| Append Only | Every extracted record is inserted with no deduplication. Applies automatically if you define no key columns. |
Overwrite is not available for BW Extraction.
The DataSource's key fields are used as merge keys automatically for Upsert Merge. If a DataSource does not define key fields, mark the key columns yourself in the Data Flow's column mapping.
If a run retries under Append Only, the same records can be inserted twice. Boomi delivers at least once. If you need no duplicates, use Upsert Merge with the correct key columns.
Get the current state of the data
How you calculate the current state depends on the DataSource's RECORDMODE values.
-
DataSources that send before and reverse images (
XandR): Sum all rows. Each before image cancels the earlier after image, so the total equals the current state. For example, the following query returns the current total ofHSL:SELECT SUM(HSL) FROM target; -
DataSources that send
D: Take the latest record for each key, then exclude keys whose latest record isD.
Troubleshooting
- Run succeeds with zero rows: No extraction was waiting for this DataSource in SAP. This is normal, not an error.
- Rows are missing from the Target: Another Data Flow is configured on the same DataSource and consumed the extraction first. Confirm no other Data Flow uses this DataSource. See Before you start: one DataSource, one Data Flow.
- SAP delta not initialized for this DataSource: The DataSource is configured for delta in SAP, but the delta has not been initialized. Ask your SAP administrator to initialize it (transaction RSA7), then rerun the Data Flow.
- You do not have access to this DataSource, or the DataSource is not found: Your SAP user is not authorized for the DataSource, or it was deactivated in SAP (transaction
/IXBX/ZBX006). Confirm access and status with your SAP administrator. - No merge keys were selected: You chose Upsert Merge, but neither SAP nor your column mapping defines a key. Mark the key columns in the Data Flow's column mapping, or switch to Append Only.
- Deleted records do not appear, or
RECORDMODEis blank for every record: The DataSource is an after-image-only DataSource, so SAP never sendsRorDrecords. This is SAP behavior, not an error. See RECORDMODE column. - Duplicate records after a retry: Under Append Only, a retried run can insert the same records again. Switch to Upsert Merge with the correct key columns.
- More extractions accumulate than expected, or old data keeps reappearing: No cleanup job is running in SAP. Ask your SAP administrator to schedule a recurring job to delete processed and unprocessed extractions (transaction
/IXBX/ZBX009).