| Status | Revision in Progress |
|---|---|
| Owner | |
| Stakeholders |
Purpose
The purpose of this document is to define the conversion approach to upload data in S/4 HANA.
---CHECKLIST---
- Logical Source and Target Systems are identified.
- Processing Type is specified (i.e. Direct Input, BAPI, IDoc, Web Service, OData API, etc.)
- Standard or custom load program name/BAPI/IDoc is specified to support this functionality.
- Data Mapping is provided for mappings which are not obvious to a suitably-skilled and experienced developer
- All translation requirements are clearly defined (including data validation rules, data derivation/calculation and default values, if applicable)Input and/or Output file layouts are provided for all record types possible
- Transaction volume is specifiedExecution frequency is specifiedRestart/Recovery requirements have been defined
- Error handling requirements are specified, including alerting requirement and expected action on failure.
- Application log requirement if applicable to be specified.
--- PENDING ---
- Update the Data Volume with a actual figures
- Rules for Data Merging (all systems)
- Mapping Rules & Conversion Rules
Conversion Scope
The scope of this document covers the approach for converting active Purchasing Info Records from legacy SAP ECC systems (PF2, WP2) into SAP S/4HANA, following the Procurement Master Data Design Standard.
For Syensqo, Info Records will be migrated to support operational purchasing, sourcing strategies, and integration with Ariba. These records will be validated, cleansed, and created centrally using the defined template and mapped fields.
From the current system landscape, Info Record data exists separately in the legacy systems (PF2 and WP2), with potential discrepancies in vendors, materials, pricing conditions, or purchasing organizations. Harmonization and validation are required to ensure accurate and consolidated data in S/4HANA. While PF2 and WP2 serve as source systems, extensive mapping and transformation logic will be necessary to produce properly formatted load templates in line with the target design.
The data from legacy system includes:
- Uncleansed data with Duplicated records
The data from legacy system excludes:
- EINA-LOEKZ - General Record marked for deletion
- EINE-LOEKZ - Purchasing Organization marked for deletion
- Vendors that are marked for deletion and are part of an Info Record
- Materials that are marked for deletion and are part of an Info Record
- Materials / Vendors / Plants that are Out of Scope
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
PF2 | The Purchasing Info Records will be extracted/collected via DCT. An initial extract of the relevant data will be provided in Google Sheet format to assist business in decision making on including any relevant data from Source Systems. Any additional data that need to be created to support the new design may be added in the DCT. A data review and standardization will be done across all Info Records in the DCT. | 125,000 | S4H | 125,000 |
WP2 | 309.289 | S4H | 309.289 |
Additional Information
Multi-language Requirement
Purchasing Info Records (PIRs) do not directly support multiple languages within the same record. However, texts associated with an Info Record, such as purchase order texts, info record texts, or material descriptions, can be maintained in multiple languages. In that case the following languages can be applied:
International Version | Description |
C | Simplified Chinese |
R | Cyrillic |
K | Kanji (Japanese) |
A | Arabic |
3 | Korean |
T | Thai |
H | Hangul |
Document Management
N/A
Legal Requirement
N/A
Special Requirements
Processing Type ETL:
The extraction and transformation will be done by Syniti, while the loading will be executed by a Standard tool of SAP Migration Cockpit.
- E - Extraction: Data will be Extracted from at least two source systems. This process will be executed by Syniti
- T - Transform: Data will be Cleansed, Transformed, Merged, and staging areas of Migration Cockpit will be updated by Syniti
- L - Loading: Data will be Loaded using the Migration Cockpit
Target Design
The technical design of the target for this conversion approach.
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
S_EINA | INFNR | Legacy Number of Purchasing Info Record | Text | 80 | Mandatory for sheet | |
S_EINA | MATNR | Product Number | Text | 80 | Mandatory for sheet Deduplication Criteria for Info Records Criteria / Field: Vendor Number (LIFNR) + Material Number (MATNR) Match Type: Exact match (subjected to conversion) Context: Key combination for identifying Info Record duplicates | |
S_EINA | MATKL | Product Group | Text | 80 | Optional - Apply a Data Conversion based on mapping table | |
S_EINA | LIFNR | Supplier's Account Number | Text | 80 | Mandatory for sheet Deduplication Criteria for Info Records Criteria / Field: Vendor Number (LIFNR) + Material Number (MATNR) Match Type: Exact match (subjected to conversion) Context: Key combination for identifying Info Record duplicates | |
S_EINA | TXZ01 | Short Text for Purchasing Info Record | Text | 40 | Optional - Copy value from source to target system. | |
S_EINA | SORTL | Sort Term for Non-Stock Info Records | Text | 10 | Optional - Copy value from source to target system. | |
S_EINA | MEINS | Order Unit (ISO Format) | Text | 80 | Mandatory - Apply a Data Conversion based on mapping table | |
S_EINA | UMREZ | Numerator for Conversion of Order Unit | Number | 5 | Optional - Copy value from source to target system. | |
S_EINA | UMREN | Denominator for Conversion of Order Unit | Number | 5 | Optional - Copy value from source to target system. | |
S_EINA | IDNLF | Product Number Used by Supplier | Text | 35 | Optional - Copy value from source to target system. | |
S_EINA | VERKF | Salesperson Responsible | Text | 30 | Optional - Copy value from source to target system. | |
S_EINA | TELF1 | Supplier's Telephone Number | Text | 16 | Optional - Copy value from source to target system. | |
S_EINA | MAHN1 | Days for First Reminder/Expediter | Number | 3 | Optional - Copy value from source to target system. | |
S_EINA | MAHN2 | Days for Second Reminder/Expediter | Number | 3 | Optional - Copy value from source to target system. | |
S_EINA | MAHN3 | Days for Third Reminder/Expediter | Number | 3 | Optional - Copy value from source to target system. | |
S_EINA | LMEIN | Base Unit of Measure (ISO Format) | Text | 80 | Optional - Copy value from source to target system. | |
S_EINA | VABME | Variable Purchase Order Unit Active | Text | 80 | Optional - Copy value from source to target system. | |
S_EINA | WGLIF | Supplier Product Group | Text | 18 | Optional - Copy value from source to target system. | |
S_EINA | KOLIF | Prior Supplier | Text | 80 | Optional - Copy value from source to target system. | |
S_EINA | URZLA | Country/Region of Origin | Text | 80 | Optional - Copy value from source to target system. | |
S_EINA | REGIO | Region | Text | 80 | Optional - Copy value from source to target system. | |
S_EINA | MFRNR | Manufacturer | Text | 80 | Optional - Copy value from source to target system. | |
S_EINA | LIFAB | Available (Deliverable) From | Date | 8 | Mandatory Deduplication Criteria for Info Records Criteria / Field: Available (LIFAB to LIFBI) Match Type: Overlapping / Redundant Context: Overlaps with same values may indicate duplicates; date ranges must be validated. | |
S_EINA | LIFBI | Available (Deliverable) Until | Date | 8 | Mandatory Deduplication Criteria for Info Records Criteria / Field: Available (LIFAB to LIFBI) Match Type: Overlapping / Redundant Context: Overlaps with same values may indicate duplicates; date ranges must be validated. | |
S_EINA | RELIF | Indicator: Regular Supplier | Text | 1 | Optional - Only one vendor per material should have EINA-RELIF = X in the target S/4HANA system. Conflict Handling for EINA-RELIF during Consolidation During the migration from multiple ECC source systems to a single S/4HANA as a target system, it is possible to encounter conflicting entries for the same material (MATNR) where more than one vendor (LIFNR) is flagged with EINA-RELIF = X (main procurement source). To resolve these conflicts, the following logic must be applied to determine a single vendor to retain the RELIF flag in the target system:
Only one vendor per material may be marked with EINA-RELIF = X in the target system. | |
S_EINA_TEXT | INFNR | Legacy Number of Purchasing Info Record | Text | 80 | mandatory for sheet | |
S_EINA_TEXT | TDSPRAS | Language Key | Text | 80 | mandatory for sheet | |
S_EINA_TEXT | TEXT | Text | Text | unrestricted | mandatory for sheet | |
S_EINE | INFNR | Legacy Number of Purchasing Info Record | Text | 80 | mandatory for sheet | |
S_EINE | EKORG | Purchasing Organization | Text | 80 | mandatory for sheet | |
S_EINE | ESOKZ | Purchasing Info Record Category | Text | 80 | mandatory for sheet Deduplication Criteria for Info Records Criteria / Field: Info Category (ESOKZ) Match Type: Exact Context: Different categories (Standard, Subcontracting, Pipeline, Consignment) should not be merged | |
S_EINE | WERKS | Plant | Text | 80 | Mandatory if plant-specific Info Records are used (Plant-specific flag is active in config) Deduplication Criteria for Info Records Criteria / Field: Plant (WERKS) Match Type: Exact match (subjected to conversion) Context: Relevant criteria when using plant-specific info records (EINE) | |
S_EINE | EKGRP | Purchasing Group | Text | 80 | Optional | |
S_EINE | WAERS | Currency Key(ISO Format) | Text | 80 | Deduplication Criteria for Info Records Criteria / Field: Currency (WAERS) Match Type: Exact Context: Currency mismatch may indicate different sourcing. | |
S_EINE | MINBM | Minimum Purchase Order Quantity | Number | 13 | Optional | |
S_EINE | NORBM | Standard Purchase Order Quantity | Number | 13 | mandatory for sheet | |
S_EINE | APLFZ | Planned Delivery Time in Days | Number | 3 | Optional | |
S_EINE | UEBTO | Overdelivery Tolerance Limit | Number | 3 | Optional | |
S_EINE | UEBTK | Indicator:Unlimited Overdelivery Allowed | Text | 1 | Optional | |
S_EINE | UNTTO | Underdelivery Tolerance Limit | Number | 3 | Optional | |
S_EINE | BWTAR | Valuation Type | Text | 10 | Optional | |
S_EINE | MTXNO | Ind: Prod. Master Rec. PO Text Not Rele. | Text | 1 | Optional | |
S_EINE | WEBRE | Indicator: GR-Based Invoice Verification | Text | 1 | Optional | |
S_EINE | KZABS | Ind: Order Acknowledgment Requirement | Text | 1 | Optional | |
S_EINE | MWSKZ | Tax on Sales/Purchases Code | Text | 80 | Optional | |
S_EINE | TXDAT_FROM | Valid-From Date of the Tax Rate | Date | Optional | ||
S_EINE | EVERS | Shipping Instructions | Text | 80 | Optional | |
S_EINE | BSTAE | Confirmation Control Key | Text | 80 | Optional | |
S_EINEOptional | XERSN | Ind: No Evaluated Receipt Settlem. (ERS) | Text | 1 | Optional | |
S_EINE | MHDRZ | Minimum Remaining Shelf Life | Number | 4 | Optional | |
S_EINE | IPRKZ | Period Ind. for Min. Remain. Shelf Life | Text | 80 | Optional | |
S_EINE | BSTMA | Maximum Purchase Order Quantity | Number | 13 | Optional | |
S_EINE | EXPRF_LAND1 | Foreign Trade: Country/Region | Text | 80 | Optional | |
S_EINE | EXPRF | Foreign Trade: Procedure | Text | 80 | Optional | |
S_EINE | RDPRF | Rounding Profile | Text | 80 | Optional | |
S_EINE | VENDOR_RMA_REQ | Supplier RMA Number Required | Text | 80 | Optional | |
S_EINE | AUT_SOURCE | Relevant for Automatic Sourcing | Text | 80 | Optional | |
S_EINE | SKTOF | Ind: Item Does Not Qualify for Cash Disc | Text | 1 | Optional | |
S_EINE | MEPRF | Price Determinat. (Pricing) Date Control | Text | 80 | Optional | |
S_EINE | INCOV | Incoterms Version | Text | 80 | Optional | |
S_EINE | INCO1 | Incoterms | Text | 80 | Mapping Table: Execute a mapping in order to identify the relevant Incoterm to be used This document (page 11) contains the valid Incoterms to be used: https://docs.google.com/document/d/1tlduZgiMCNiqAjiUA29J-KfihW7hPWAe/edit?tab=t.0 | |
S_EINE | INCO2_L | Incoterms Location 1 | Text | 70 | Most of the incoterms make this field mandatory. In case the source is empty for this field, raise an error in a report. List of necessary Incoterms Location | |
S_EINE | INCO3_L | Incoterms Location 2 | Text | 70 | Optional | |
S_COND | INFNR | Legacy Number of Purchasing Info Record | Text | 80 | mandatory for sheet | |
S_COND | EKORG | Purchasing Organization | Text | 80 | mandatory for sheet | |
S_COND | ESOKZ | Purchasing Info Record Category | Text | 80 | mandatory for sheet | |
S_COND | WERKS | Plant | Text | 80 | Mandatory if plant-specific Info Records are used (Plant-specific flag is active in config) | |
S_COND | KOPOS | Condition Sequence Number | Number | 2 | mandatory for sheet | |
S_COND | COND_TYPE | Condition Type | Text | 80 | mandatory for sheet | |
S_COND | VALID_FROM | Valid From | Date |
| mandatory for sheet | |
S_COND | VALID_TO | Valid To | Date |
| mandatory for sheet | |
S_COND | KRECH | Calculation Type | Text | 80 | Optional | |
S_COND | KBETR_EXT | Amount | Number | 31 | Optional Deduplication Criteria for Info Records Criteria / Field: Net Price (NETPR) for Condition PB00 Match Type: Numeric match / tolerance Context: Tolerate small differences (e.g., ±1%) due to rounding across systems | |
S_COND | KONWA | Condition Unit (Currency or Percentage) | Text | 80 | mandatory for sheet | |
S_COND | KPEIN | Condition Pricing Unit | Number | 5 | mandatory for sheet | |
S_COND | KMEIN | Condition Unit of Measure ISO | Text | 80 | mandatory for sheet | |
S_COND | KUMZA | Numerator for Conversion | Number | 5 | Optional | |
S_COND | KUMNE | Denominator for Conversion | Number | 5 | Optional | |
S_COND | MEINS | Base Unit of Measure ISO | Text | 80 | Optional | |
S_COND | KONMS | Condition Scale Unit of Measure ISO | Text | 80 | Optional | |
S_COND | EXCLUSION_IND | Condition Exclusion Indicator | Text | 80 | Optional | |
S_SCALES | INFNR | Legacy Number of Purchasing Info Record | Text | 80 | mandatory for sheet | |
S_SCALES | EKORG | Purchasing Organization | Text | 80 | mandatory for sheet | |
S_SCALES | ESOKZ | Purchasing Info Record Category | Text | 80 | mandatory for sheet | |
S_SCALES | WERKS | Plant | Text | 80 | Optional | |
S_SCALES | KOPOS | Condition Sequence Number | Number | 2 | mandatory for sheet | |
S_SCALES | COND_TYPE | Condition Type | Text | 80 | mandatory for sheet | |
S_SCALES | VALID_FROM | Valid From | Date |
| mandatory for sheet | |
S_SCALES | VALID_TO | Valid To | Date |
| mandatory for sheet | |
S_SCALES | LINE_NO | Scale Item Number | Number | 4 | mandatory for sheet | |
S_SCALES | KSTBM | Scale Quantity | Number | 15 | Optional | |
S_SCALES | KBETR | Scale Rate | Number | 31 | Optional | |
S_SCALES | SCALE_VAL | Scale Value | Number | 28 | Optional | |
S_SCALES | KBETR_VAL | Scale Rate | Number | 31 | Optional | |
S_EINE_TEXT | INFNR | Legacy Number of Purchasing Info Record | Text | 80 | mandatory for sheet | |
S_EINE_TEXT | EKORG | Purchasing Organization | Text | 80 | mandatory for sheet | |
S_EINE_TEXT | ESOKZ | Purchasing Info Record Category | Text | 80 | mandatory for sheet | |
S_EINE_TEXT | WERKS | Plant | Text | 80 | Optional | |
S_EINE_TEXT | TDSPRAS | Language Key | Text | 80 | mandatory for sheet | |
S_EINE_TEXT | TEXT | Text | Text | unrestricted | mandatory for sheet |
Data Cleansing
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
1094-001 | C1 | PIR missing in required Purchase organisation/Plant | 1) For all Procured materials PIR should be created, identify the recods not having a PIR | ||
|
|
|
| ||
1094-003 | C1 | Valid Period | 1) Only migrate PIRs with valid future dates. Like the Valid To date is in the future or not expired | ||
1094-004 | C1 | Missing Core Data | 1) Investigate/Exclude PIRs missing critical fields such as Vendor, Material, Purchase org, Plant, Info record type, Prices and conditions. Tolerance limits, Planned delivery time | ||
1094-005 | C2 | Archiving Indicator | 1) Exclude from selection of PIRs the ones marked for deletion or archiving | ||
1094-006 | C2 | Compare Supplier and PIR validity period/condition | 1) Exclude PIRs from the selection when the Vendor or Material is marked for deletion | ||
1094-007 | C2 | Check validity period of Purchasing Price (PB00) | 1) Check whether the Purchasing Price condition (PB00) has a valid From/To period (the range must include today's date). If the period is not within the valid range, skip the record and do not create it. | ||
1094-008 | C1 | Exclude records where the material is not active and/or Vendor is not active | 1) Exclude records where the material and Vendor is not active, | ||
1094-009 | C2 | PIR's without materials | 1) PIR without material is only allowed where the material is an indirect material. (Is this so in this project) | ||
1094-010 | C2 | PIR Intercompany in scope | 1) Vendor in info record must be the vendor assigned with supplying plant |
Conversion Process
The high-level process is represented by the diagram below:
Data Privacy and Sensitivity
Extraction
Extract data from a source into . There are 2 possibilities:
- The data exists. connects to the source and loads the data into . There are 3 methods:
- Perform full data extraction from relevant tables in the source system(s).
- Perform extraction through the application layer.
- Only if ; cannot connect to the source, data is loaded to the repository from the provided source system extract/report.
- The data does not exist (or cannot be converted from its current state). The data is manually collected by the business directly in . This is to be conducted using DCT (Data Collection Template) in
The agreed Relevancy criteria is applied to the extracted records to identify the records that are applicable for the Target loads
Extraction Run Sheet
| Req # | Requirement Description | Team Responsible |
|---|---|---|
001 | Extract data from source system based on relevancy rule Additionally consider the following objects are in scope
| SyWay Data Team |
002 | Google Sheet report pre-populated with PF2 and WP2 information to be generated based on relevancy criteria. | SyWay Data Team |
003 | Extract data from source system based on relevancy rule | SyWay Data Team |
004 | Google Sheet report pre-populated with PF2 and WP2 information to be generated based on relevancy criteria. | SyWay Data Team |
005 | Only extract data that is NOT marked for deletion Where: EINA-LOEKZ <> ”” | SyWay Data Team |
006 | Only extract records that are still valid Where: EINA-LIFBI >= Today’s date | SyWay Data Team |
007 | Extract Info Records for Vendors that are NOT marked for deletion and are part of an Info Record | SyWay Data Team |
008 | Extract Info Records for Vendors that are in scope | SyWay Data Team |
009 | Extract Info Records for Materials that are NOT marked for deletion and are part of the respective Info Record | SyWay Data Team |
| 010 | Extract Info Records for Materials that are in scope | SyWay Data Team |
| 011 | Extract Info Records for Plants that are in scope. Do this check when EINE-WERKS is different than initial | SyWay Data Team |
Selection Screen
A Target Ready Data Collection Template will be created for the required data, except for fields that need transformation as per the defined transformation rules. These templates will follow the format required by the target S/4HANA Info Record & Purchasing Pricing Configuration.| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
Data Collection Template (DCT)
Target Ready Data Collection Template will be created for data with exception of some fields which require transformation as mentioned in the transformation rule.The creation of Data collection template must be aligned with the field status of Info Record + Calculation Schema (configurations) for Condition types, Access sequence and Associated Condition Tables. For now, the following Template is prepared based on Pricing Configurations from S/4HANA Sandbox environment. This will be replaced once the pricing configuration is ready.
| Field Name | Field Description | Rule |
|---|---|---|
Extraction Dependencies
| Item # | Step Description | Team Responsible |
|---|---|---|
001 | Vendor - The Info Record is created for a specific vendor, therefore the vendor must exist and be active | S2P |
002 | Material - The Info Record is for a specific material, therefore the material must exist and be active | S2P |
003 | Purchasing Organization - Mandatory organizational level (configuration). Must be valid for both the vendor and material | S2P |
004 | Plant (optional) - If a plant-specific Info Record is used, the plant must be valid (included on scope) and maintained | FICO |
005 | Currency & UoM - Must align with vendor master and material master data | S2P |
006 | Tax Code - Should exist in system and be consistent with vendor's country and plant region | S2P |
007 | Conditions - Purchasing conditions (price, discounts, scales) are typically stored in condition records. Linked to Info Records via condition tables | S2P |
008 | Vendor Master Settings - The vendor must have the purchasing organization maintained in purchasing view | S2P |
Transformation
The Target fields are mapped to the applicable Legacy field that will be its source, this is a 3-way activity involving the Business, Functional team and Data team. This identifies the transformation activity required to allow to make the data Target ready:
- Perform value mapping and data transformation rules.
- Legacy values are mapped to the to-be values (this could include a default value)
- Values are transformed according to the rules defined in
- Prepare target-ready data in the structure and format that is required for loading via prescribed Load Tool. This step also produces the load data ready for business to perform Pre-load Data Validation
Transformation Run Sheet
| Item # | Step Description | Team Responsible |
| 1 | Identify target S/4HANA fields and determine applicable legacy source fields from both ECC systems WP2, PF2 | Functional Team (S2P)+ Data Team (S2P) |
| 2 | Review condition types and access tables used in each ECC source systems WP2, PF2 | Business Team + Functional Team (S2P) |
| 3 | Map legacy field values to S/4HANA target values (including field-level mapping and technical names) | Data Team (S2P), Data Team (Syniti) |
| 4 | Define value mapping rules for fields requiring standardization or harmonization across the two source systems WP2, PF2. | Functional Team (S2P)+ Data Team (S2P) |
| 5 | Identify and agree on default values where legacy data is incomplete or inconsistent | Business Team + Functional Team (S2P) |
| 6 | Configure transformation rules in Syniti Migrate (including calculated fields, formatting rules, etc.) | Data Team (Syniti), Data Team (S2P) |
| 7 | Review transformation logic and mappings with Business for confirmation | Business Team + Functional Team (S2P) |
| 8 | Perform initial transformation run and generate draft target-ready dataset | Data Team (Syniti), |
| 9 | Review draft target-ready data for structure and completeness | Data Team (S2P), Functional Team (S2P) |
| 10 | Share transformed data with Business for Pre-load Validation | Business Team |
| 11 | Incorporate feedback from Business and refine mappings or transformation logic as needed | Data Team (S2P) |
| 12 | Finalize and approve transformed data as Target Ready Load File | Business + Functional (S2P) + Data Team (S2P) |
| 13 | Handover final file to Load Team or trigger the load via Syniti Load Workbench | Data Team (Syniti), Data Load Team |
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
1094-001 | Legacy | EINA | INFNR | Legacy Number of Purchasing Info Record | S/4HANA | EINA | INFNR | Legacy Number of Purchasing Info Record | Generate the Info Record number and keep this mapping in a reference table (this might be used for Transactional Data). *depending on the upload method, the Info Record number would be automatically generated. |
1094-002 | Legacy | EINA | MATNR | Material | S/4HANA | EINA | MATNR | Material | Select the new Material Code from the mapping table and update the corresponding target structure accordingly. |
1094-003 | Legacy | EINA | MATKL | Material Group | MATKL | Material Group | MATKL | Material Group | Select the new Material Group from the mapping table and update the corresponding target structure accordingly. |
1094-004 | Legacy | EINA | LIFNR | Vendor | S/4HANA | EINA | LIFNR | Vendor | Select the new Vendor Code from the mapping table and update the corresponding target structure accordingly. |
1094-005 | Legacy | EINA | INCO1 | Incoterm | S/4HANA | EINA | INCO1 | Incoterm | Select the Incoterm Code from the mapping table and update the corresponding target structure accordingly. |
1094-006 | Legacy | EINA | MEINS | Order Unit | S/4HANA | EINA | MEINS | Order Unit | Select the new Order Unit Code from the mapping table and update the corresponding target structure accordingly. |
1094-007 | Legacy | EINA | MFRNR | Manufacturer | S/4HANA | EINA | MFRNR | Manufacturer | Select the new Manufacturer Code from the mapping table and update the corresponding target structure accordingly. |
1094-008 | Legacy | EINE | WERKS | Plant | S/4HANA | EINE | WERKS | Plant | Select the new Plant Code from the mapping table and update the corresponding target structure accordingly. |
1094-009 | Legacy | EINE | WAERS | Currency | S/4HANA | EINE | WAERS | Currency | Select the new Currency Code from the mapping table and update the corresponding target structure accordingly. |
1094-010 | Legacy | EINE | MWSKZ | Tax Code | S/4HANA | EINE | MWSKZ | Tax Code | Select the new Tax Code from the mapping table and update the corresponding target structure accordingly. |
Transformation Mapping
| Mapping Table Name | Mapping Table Description |
|---|---|
LIFNR | <Vendor> |
MATNR | <Material> |
WERKS | <Plant> |
EKORG | <Purchasing Organization> |
EKGRP | <Purchasing Group> |
MATKL | <Material Group> |
MEINS | <Unit of Measure> |
WAERS | <Currency> |
MWSKZ | <Tax Code> |
Proposal for mapping Tables
Vendors - all fields are key on the table
Create the mapping table LIFNR with the following structure
Source-Target System ID | From - Vendor | To - Vendor |
DF2|XX1 | 001000123 | 003000010 |
WD2|XX2 | 001000567 | 003000010 |
Materials - all fields are key on the table
Create the mapping table MATNR with the following structure
Source-Target System ID | From - Material | To - Material |
DF2|XX1 | 700000123 | 750 |
WD2|XX2 | 435679 | 750 |
Plant - all fields are key on the table
Create the mapping table WERKS with the following structure
Source-Target System ID | From - Plant | To - Pant |
DF2|XX1 | 1000 | C901 |
WD2|XX2 | 1000 | D901 |
Purchasing Organization - all fields are key on the table
Create the mapping table EKORG with the following structure
Source-Target System ID | From - Purch Org | To - Purch Org |
DF2|XX1 | 3000 | D903 |
WD2|XX2 | 3000 | D901 |
Purchasing Group - all fields are key on the table
Create the mapping table EKGRP with the following structure
Source-Target System ID | From - Purchasing Group | To - Purchasing Group |
DF2|XX1 | 100 | 100 |
WD2|XX2 | X01 | Z01 |
Material Group - all fields are key on the table
Create the mapping table MATKL with the following structure
Source-Target System ID | From - Material Group | To -Material Group |
DF2|XX1 | 43243200 | 43243200 |
WD2|XX2 | 43243200 | 43243299 |
Unit of Measure - all fields are key on the table
Create the mapping table MEINS with the following structure
Source-Target System ID | From - UOM | To - UOM |
DF2|XX1 | PC | PC |
WD2|XX2 | Z01 | PC |
Material Group - all fields are key on the table
Create the mapping table WAERS with the following structure
Source-Target System ID | From - Currency | To - Currency |
DF2|XX1 | EUR | EUR |
WD2|XX2 | ZEU | EUR |
Tax Code - all fields are key on the table
Create the mapping table WAERS with the following structure
Source-Target System ID | From - Tax Code | To - Tax Code |
DF2|XX1 | R0 | R0 |
WD2|XX2 | R9 | R0 |
Transformation Dependencies
List the steps that need to occur before transformation can commence| Item # | Step Description | Team Responsible |
|---|---|---|
| 001 | Value Mapping Tables are complete | Functional Team (S2P) + Data Team (S2P) |
| 002 | Info Record & Pricing configuration are complete | Functional Team (S2P) + Data Team (S2P) |
| 003 | Org structure configuration is complete | Functional Team (S2P) + Data Team (S2P) |
| 004 | Dependent Master Data records for Customer and Material are loaded | Functional Team (S2P) + Data Team (S2P) |
| 005 | Master Data – Vendor | Data Team (S2P) |
| 006 | Master Data – Material | Data Team (S2P) |
| 007 | Configuration – Purchasing Organization | Functional Team (S2P) |
| 008 | Configuration – Plant | Functional Team (S2P) |
| 009 | Configuration – Product Group | Functional Team (S2P) |
| 010 | Configuration – Vendor | Functional Team (S2P) |
| 011 | Configuration – Material | Functional Team (S2P) |
| 012 | Configuration – Material Group | Functional Team (S2P) |
| 013 | Configuration – Unit of Measure | Functional Team (S2P) |
| 014 | Configuration – Purchasing Organization | Functional Team (S2P) |
| 015 | Configuration – Purchasing Group | Functional Team (S2P) |
| 016 | Configuration – Incoterms | Functional Team (S2P) |
| 017 | Configuration – Condition Types | Functional Team (S2P) |
Pre-Load Validation
Project Team
The following pre-load validations will be performed by the Project Team.Completeness
| Task | Action |
|---|---|
| Configuration | Ensure necessary configurations are in place in target system and field mapping is aligned with access sequence, condition types |
| Review Mapping Table | Ensure all the source organization units are mapped with target values |
| Check Values | Validate the pre-load data confirming the values are aligned with target system format and |
| Validate template structure and required field population | Ensure mandatory fields are filled |
Total number of records | SyWay S2P Data Team to verify that the total number of relevant records from the DCT is equal to the total number of records in the Preload and Load Sheets. |
Vendor Validation | Check if the vendor exists in the target system and is active for the purchasing organization. This object has to be loaded before Info Records and Price Conditions. |
Material Validation | Check if the material exists in the target system and is active for the purchasing organization. This object has to be loaded before Info Records and Price Conditions. |
Mandatory Field Check | Verify whether all mandatory Fields are properly updated: EINA-LIFNR |
Info Record Category | Check if the Info Record Category (EINE-ESOKZ) has been properly migrated and in case of conversion check the final result. |
Accuracy
| Task | Action |
|---|---|
Conversion Accuracy | SyWay S2P Data Team to verify that all fields below meet pass the checks: |
Review Error Reports | Review and correct the errors. Achieve a zero-error record count as much as possible. Raise defects for data remediated and requiring a correction in the source data |
Value Format Validation | Ensure fields follow correct format for Dates / Currency / Decimals (according to user’s logon) |
Code & Value Mapping Validation | Check if all legacy values are mapped to valid target values (generally applicable for Materials / Vendors / UOM / Currency) |
Referential Integrity Check | Validate that linked data exists and matches. Check cases like: |
Duplicate Detection | Identify and remove duplicate entries in the dataset |
Business Rule Compliance | Ensure compliance with agreed rules, for instance |
| Review Mapping Table | Ensure all the source organization units are mapped with target values |
| Check mapping rules against configuration, including the fields relatedto prices and conditions ( access sequences, condition tables) | Cross-check mapping sheet with customizing entries |
| Perform format validation (date, currency, decimal separators) | Standardize format to match SAP accepted input (e.g., YYYYMMDD for dates) |
| Implement logic to detect duplicate condition records | Example: Run duplicate checks using key combinations (e.g., VKORG + MATNR + KUNNR) |
| Conduct dry runs using LTMC or BAPIs and review logs | Analyze load results and correct format or conversion errors |
Business
The following pre-load validations will be performed by the business.Completeness
| Task | Action |
|---|---|
| Review populated templates for missing or incorrect values | Use checklists to verify completeness and correctness before submission |
| Ensure all required fields were properly covered | Confirm that vendor/ material/ plant / price & conditions are not missed |
Accuracy
| Task | Action |
|---|---|
Conversion Accuracy | Verify that all fields below meet pass the checks: |
Review Error Reports | Review and correct the errors. Achieve a zero-error record count as much as possible. Raise defects for data remediated and requiring a correction in the source data |
Value Format Validation | Ensure fields follow correct format for Dates / Currency / Decimals (according to user’s logon) |
Code & Value Mapping Validation | Check if all legacy values are mapped to valid target values (generally applicable for Materials / Vendors / UOM / Currency) |
Referential Integrity Check | Validate that linked data exists and matches. Check cases like: |
Duplicate Detection | Identify and remove duplicate entries in the dataset |
Business Rule Compliance | Ensure compliance with agreed rules, for instance |
Outlier & Range Checks | Detect extreme or invalid values (e.g., out-of-range weights) |
Load
The load process includes:
- Execute the automated data load into target system using load tool or product the load file if the load must be done manually
- Once the data is loaded to the target system, it will be extracted and prepared for Post Load Data Validation
Load Run Sheet
| Item # | Step Description | Team Responsible |
|---|---|---|
| 001 | Confirm readiness of final approved data sets for each ECC source system WP2 and PF2 | Business / Functional Team |
| 002 | Validate transformation rules and mappings in Syniti tool | Data Team (S2P-Data) |
| 003 | Generate target-ready load files based on S/4HANA condition table format | Data Team (Syniti) |
| 004 | Review and approve load files before execution | Business / Functional Team |
| 005 | Execute automated data load using Syniti into the S/4HANA system (or generate manual load files if required) | Data Team (Syniti) |
| 006 | Monitor load progress and capture load statistics (records loaded, errors, duplicates, etc.) | Data Team (Syniti) / Technical Team |
| 007 | Extract loaded data from S/4HANA for post-load validation | Data Team (Syniti) |
| 008 | Perform post-load data validation (compare target data with source/approved files) for all loaded pricing condition types | Data Team (S2P-Data) |
| 009 | Log and resolve any data load errors or mismatches identified during validation | Data Team (S2P-Data) + Functional Team |
| 010 | Obtain business sign-off on successful load and validation | Business Team |
| 011 | Generate post load report is all steps are validated | Data Team (S2P-Data) / Data Team (Syniti |
| 012 | Archive load logs, error reports, and validation results for audit/compliance | Data Team (S2P-Data) / Data Team (Syniti) / PMO |
Load Phase and Dependencies
Configuration
| Item # | Configuration Item |
|---|---|
| Configurations | Ensure configurations related to Info Records and Purchasing Conditions are active |
| Organization Data | Ensure configurations for all the organization units in the current scope are imported into the target system |
Conversion Objects
| Object # | Preceding Object Conversion Approach |
|---|---|
Vendor | Execute a data conversion in order to retrieve the new vendor code |
Material | Execute a data conversion in order to retrieve the new material code |
Unit of Measure (UoM) | Execute a data conversion in order to retrieve the new UoM code |
Payment Terms | Execute a data conversion in order to retrieve the new Payment Term |
Error Handling
| Error Type | Error Description | Action Taken |
|---|---|---|
| Invalid Date Range | Valid From (DATAB) is after Valid To (DATBI) | Corrected the date range to ensure DATAB < DATBI and in required date format |
| Duplicate Records | Identical key combinations found more than once in the load file | Duplicates removed or merged as per business rule. Aligned with Business and documented for future loads |
| Unmapped Values | Values for fields like UoM, Currency, etc. not mapped in Syniti | Updated mapping tables; ensured value conversion aligned with S/4HANA settings |
| Invalid Currency Format | Incorrect currency formatting or unsupported currency code | Standardized to valid ISO currency codes (e.g., USD, EUR, JPY) |
| Invalid Number Format | KBETR or KPEIN contains special characters or comma separators | Cleaned formatting; ensured decimal values used with '.' as separator |
| Authorization Errors | Lack of access to execute load in target client/system | Raised access request; obtained necessary authorizations |
| Transformation Miss | Required transformation logic not applied before load | Re-applied transformation rules and revalidated source-target mapping |
| Obsolete Master Data | Vendor or material master data no longer exists in target system | Replaced or removed based on business input |
| Technical Load Failure | File not processed due to syntax/format error or system issue | Reviewed logs; regenerated file; re-executed load after resolving issue |
Post-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
| Change Info Record | Execute the price change of a migrated info record, and check if can be successfully saved |
Compare uploaded data against source file values | Use Custom reconciliation tools or Excel based comparison tools to validate the following ensure number of records loaded meets the load file record volume |
For Purchasing price, perform technical reconciliation with database tables (e.g., KONH, KONP) | Query SAP tables and match field-level values using SE16N or custom report |
Check for load errors or partial loads in AIF or LTMC | Review IDocs, BDC, or Legacy Transfer Migration Cockpit LTMC logs for any failures |
Accuracy
| Task | Action |
|---|---|
| Compare uploaded data against source file values | Use Custom reconciliation tools to validate the following
|
| Verify Key Field Values | Ensure values like Condition Type, Material, Customer, Sales Org, Validity Dates, and Rates are correctly populated |
Business
The involvement of the business team is essential to confirm the completeness and accuracy of Purchasing Conditions once the data is loaded into S/4HANA. By reviewing Info Records and their related condition records, they help ensure that the migration meets business expectations. This early validation minimizes the risk of errors, supports a seamless cutover, and guarantees that pricing mechanisms work as intended from the first day of system usage.Completeness
| Task | Action |
|---|---|
| Participate in Post-Load Walkthroughs | Join scheduled validation sessions with the migration and functional teams |
| Review Loaded Condition Records | Access the S/4HANA system to view loaded info records and purchasing price conditions |
| Check for Missing Records | Identify any missing records that were expected but not loaded |
Accuracy
| Task | Action |
|---|---|
| Compare Against Approved Load File | Cross-check data in S/4HANA against the final business-approved load file used for migration |
| Validate Accuracy of Converted/Transformed Data | Review any transformed fields (e.g., currency conversion, unit mappings) for correctness |
| Log and Report Discrepancies | Use provided discrepancy log format or defect management tool to report any findings |
Key Assumptions
- Master Data Standard is up to date as on the date of documenting this conversion approach and data load.
- is in scope based on data design and any exception requested by business.
See also
Change log
Workflow history
| Title | Last Updated By | Updated | Status | |
|---|---|---|---|---|
| There are no pages at the moment. | ||||
