Lesson 3 of 5
Selecting data by criteria
10 min
In the staging approach, your extraction decides which records arrive. In direct transfer, the cockpit selects them. Understanding how it selects is the difference between a migration you can explain and one that surprises everyone in reconciliation.
Company codes first
When you create a direct transfer project, you specify the company codes whose data should be selected from the source. SAP Learning describes the cockpit selecting data from the ECC source based on these company codes. From them, the cockpit derives the related organizational units, and then applies the selection criteria defined for each migration object, as described in the object's documentation. In the what-if, the project selects Alternadores' source company code (call it AD01, an illustrative code), and value mapping translates it and its plant to company code 1910 and plant 1910 Monterrey in the target.
- Company codesSpecified when creating the project: source company code AD01 (what-if)
- Derived organizationRelated plants, purchasing and sales organizations derived from the company code
- Object criteriaEach object applies its own rules, for example open items only, or records used by the company code
- Selection runRuns as background jobs and records what was selected per object
- ReviewCheck counts and samples before simulation and migration
Object criteria matter
Each object's documentation explains what is selected. A supplier object may select suppliers with company code data in the selected company codes; an open purchase order object selects orders that are still open by its definition of "open"; open item objects select items not yet cleared at selection time. Read these definitions with the data owners: if Contoso's definition of an "open PO" (for example, delivered but not fully invoiced) differs from the object's, the difference must be handled deliberately.
| Object (example) | Selection idea to confirm in the documentation | Question for the data owner |
|---|---|---|
| Supplier | Suppliers linked to the selected company codes | Do we want blocked or inactive suppliers? If not, clean them in ECC first |
| Product | Products relevant for plants of the selected company codes | Are obsolete products flagged for deletion so they are not selected? |
| Purchasing info record | Info records for selected suppliers, products and purchasing organizations | Are old prices still valid? |
| Open purchase order | Orders open by the object's definition | Does our "open" match: partially received, not fully invoiced? |
| AP open items | Supplier items not cleared at the selection date | What cutoff applies for the final load? |
Questions to settle for each object's selection. Exact rules are in each object's documentation.
Controlling what gets selected
- Clean the source: the most reliable way to exclude obsolete records is to block, flag or archive them in ECC before selection, according to the agreed rules.
- Extend the selection: SAP describes a BAdI for custom selection logic in direct transfer, available from SAP S/4HANA 2021 FPS0. Use it sparingly, document it, and test it like code.
- Review the result: SAP describes that selected records can be downloaded from 2021 FPS1 onwards. Use that list as the baseline for reconciliation.
Mapping still applies
Direct transfer removes extraction work, not decisions. After selection, the cockpit creates mapping tasks just as in the staging approach. In the what-if, the source company code AD01 and its plant are mapped to company code 1910 and plant 1910 Monterrey; Alternadores' payment terms, purchasing groups and material groups are mapped to the values Contoso already uses in its converted system. Amounts stay in MXN. Every mapping still needs the data owner's approval and a line in the mapping specification, and selection plus mapping together decide what arrives.
What would you do?
After selection, the Supplier object shows 1,460 suppliers for source company code AD01; the data owner expected about 1,200 active suppliers. What should the team do?
- Direct transfer selects by company codes specified at project creation, then by each object's criteria.
- Read each object's selection rules with the data owners; align definitions such as "open".
- Exclude obsolete data by cleaning the source; extend selection with the BAdI only where needed and supported.
- Review selected records and counts before simulation and migration.
Check your understanding · not graded
Lesson check
1. How does the cockpit start selecting data in a direct transfer project?
2. Where is the selection rule for an object described?
3. What is the most reliable way to keep obsolete suppliers out of a direct transfer?
4. Why agree expected counts per object before selecting?