| Status | Lead Approval |
|---|---|
| Owner | |
| Stakeholders |
Purpose
The purpose of this document is to define the conversion approach to create 9040 - Purchasing Contracts and outline agreement in S/4 HANA.
A purchasing contract is a legally-binding purchase agreement that contains special conditions that are negotiated between a buyer and a seller, covering the supply of goods or the performance of services. The contract is valid for a specific period, during which goods and services are released against the contract. The purchasing contract enables buyers to create purchasing contracts for frequently procured goods or services. A released contract can be used as a source of supply for the procurement of goods or services through a purchase order, a goods and service acknowledgement or a supplier invoice. The releases made against the contract by these documents are updated in the contract..
An outline agreement in SAP MM is a long-term purchasing agreement with a vendor, defining terms, prices, and quantities for materials or services over a set period. The two main types are Contracts and Scheduling agreements,
In SAP ECC, contracts are as per the below
- Quantity Contracts (Contract type MK)
- Value Contracts (Contract type WK)
- Catalog Contracts (Contract type ZWK)
in SAP ECC, there are few outline agreements to be migrated into S/4.
A quantity contract is defined as the type of contract where the total quantity to be ordered during the validity period of the contract is known in advance. The contract is regarded as fulfilled when release orders totaling a given quantity have been issued.
When material is required, a Purchase Order is created with reference to the Contract for delivery of the material. The Purchase Orders, created with reference to contracts, are also known as call-off orders.
A value contract is defined as is a long-term, legally binding agreement with a customer or vendor to purchase/supply goods or services up to a specified total monetary value within a set period. It does not specify exact delivery dates or quantities, allowing for flexible release orders until the target value is met.
A catalog contract in SAP is defined as specialized, legally binding, long-term procurement agreement (value or quantity) published within a digital catalog to enforce negotiated pricing, It streamlines compliant purchasing by automatically applying agreed rates to catalog items, enabling users to order directly from pre-approved, contract-covered items in SAP.
The outline purchase agreement is often referred to as a blanket or umbrella purchase order. It is basically a long-term agreement between the purchasing department and vendor for material or services for a defined period of time. The purchasing department negotiates with the vendor a set of terms and conditions that are fixed for the period of agreement.
Conversion Scope
The scope of this document covers the approach for converting active Purchasing Contracts from Legacy Source Systems into S/4HANA
The data from legacy system includes:
- The plants and purchasing organizations are in the migration scope.
- The material and vendor in the Contracts are in the migration scope.
- The contract is still within the validity period.
- Only approved and released contracts can be migrated.
- Meta data for the contracts from Icertis (TBC- main source and need the data from R2 team).
- ECC Source list will be the one of the source to identify the scope of the contracts.
- Contracts scope will be verified with the one year consumption (TBC)
- Company codes are in migration scope.
- Material Groups are in migration scope.
- Vendor + Purchasing Organizations combination is in migration scope at Purchasing Document Header data level
- Material + Plant combination is in migration scope at Purchasing Document Item data level.
The data from legacy system excludes:
- Deletion Indicator (EKKO-LOEKZ) = "X" at Purchasing Document Header level
- Validity period End (EKKO-KDATE) < System date at Purchasing Document Header level
- Deletion Indicator (EKKO-LOEKZ) = "X" at Purchasing Document Item Data level
- Header contracts with no line item data.
- Open Purchase Orders, Quotation requests
- Master Conditions - During the creation of outline agreements, you can specify just one time period for each variable key.
Scales are not supported during the creation of outline agreements.
Volume rebate conditions in outline agreements are not taken into account.
Version management (document change management).
- ternal services (planned and unplanned services).
- Item categories (Third-Party, Enhanced Limits, Consignment, Subcontracting).
Multilevel item hierarchy.
Notes (only for information):
- If multiple records exist for the same material and vendor, select only the one with the most recent effective date.
- Migrating SAP purchasing contracts requires converting released, approved legacy agreements into active S/4HANA contracts, often maintaining original contract IDs.
- If Purchasing info record is already available, the price is taken from this info record.
Process-Flow diagram:
Important Tables for Purchasing Contracts:
- EKKO: Purchasing Document Header data.
- EKPO: Purchasing Document Item data.
- EKKN: Account Assignment in Purchasing Document
The following structures or features are supported in SAP S/4HANA:
Header Data
Supplier Address
Header Texts
Item Data
Delivery Addresses
Account Assignment
- Item Texts
List of source systems and approximate number of records
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
| PF2 | Purchasing Contracts Header data Purchasing Contracts Line Item data Purchasing Contracts Account Assignment data | 3500 Value contracts - 2390
Value contracts - 46935 Value contracts - 46935 Around 80000 | S4HANA | 3500 Value contracts - 2390 Value contracts - 46935 Value contracts - 46935 Around 80000 |
| WP2 | Purchasing Contracts Header data Purchasing Contracts Line Item data Purchasing Contracts Account Assignment data Purchasing Contracts Conditions data (Condition Types PB00 - Gross Price, PC- Percentage Contract)- S/4 will generate it. | 1350 Value contracts - 537
Value contracts - 21961 Value contracts - 21961
| S4HANA | 1350 Value contracts - 537
Value contracts - 21961 Value contracts - 21961
|
Additional Information
Multi-language Requirement
N/A
Document Management
Legal Requirement
N/A
Special Requirements
Different countries/regions have differing legal requirements (TBC)
Any intercompany contracts (TBC)
Target Design
The technical design of the target for this conversion approach. . The below table shows the specific Tables and Key fields as per the Migration Cockpit Template will provide all the details for the target design
| Field List for Migration Object: MM - Purchase contract | ||||||||
| Sheet Name | Group Name | Field Description | Importance | Type | Length | Decimal | SAP Structure | SAP Field |
| Header Data (mandatory) | ||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKKO | LEGACY_NUMBER | ||
| General Data | Company Code | mandatory for sheet | Text | 80 | S_EKKO | BUKRS | ||
| Agreement Type | mandatory for sheet | Text | 80 | S_EKKO | BSART | |||
| Supplier's Account Number | mandatory for sheet | Text | 80 | S_EKKO | LIFNR | |||
| Purchasing Organization | mandatory for sheet | Text | 80 | S_EKKO | EKORG | |||
| Purchasing Group | mandatory for sheet | Text | 80 | S_EKKO | EKGRP | |||
| Currency Key (ISO Format) | mandatory for sheet | Text | 80 | S_EKKO | WAERS | |||
| Administrative Data | Agreement Date | Date | S_EKKO | BEDAT | ||||
| Start of Validity Period | Date | S_EKKO | KDATB | |||||
| End of Validity Period | mandatory for sheet | Date | S_EKKO | KDATE | ||||
| Terms of Delivery and Payment | Target Value | Number | 15 | 2 | S_EKKO | KTWRT | ||
| Exchange Rate | Number | 9 | 5 | S_EKKO | WKURS | |||
| Indicator for Fixed Exchange Rate | Text | 1 | S_EKKO | KUFIX | ||||
| Terms of Payment Key | Text | 80 | S_EKKO | ZTERM | ||||
| First Payment in Days | Number | 3 | S_EKKO | DSCNT1_TO | ||||
| Discount for First Payment in % | Number | 5 | 3 | S_EKKO | DSCT_PCT1 | |||
| Second Payment in Days | Number | 3 | S_EKKO | DSCNT2_TO | ||||
| Discount for Second Payment in % | Number | 5 | 3 | S_EKKO | DSCT_PCT2 | |||
| Cash Discount Days | Number | 3 | S_EKKO | DSCNT3_TO | ||||
| Incoterms Version | Text | 80 | S_EKKO | INCOV | ||||
| Incoterms | Text | 80 | S_EKKO | INCO1 | ||||
| Incoterms Location 1 | Text | 70 | S_EKKO | INCO2_L | ||||
| Incoterms Location 2 | Text | 70 | S_EKKO | INCO3_L | ||||
| Reference Data | Your Reference | Text | 12 | S_EKKO | IHREZ | |||
| Our Reference | Text | 12 | S_EKKO | UNSEZ | ||||
| Sales Person | Text | 30 | S_EKKO | VERKF | ||||
| Telephone | Text | 16 | S_EKKO | TELF1 | ||||
| Taxes | Country/Region of Sales Tax ID Number | Text | 80 | S_EKKO | STCEG_L | |||
| Supplier Address (Not Applicable) | ||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_ADRC | LEGACY_NUMBER | ||
| Supplier Address | City | Text | 40 | S_ADRC | CITY | |||
| City Postal Code | Text | 10 | S_ADRC | POSTL_COD1 | ||||
| Street | Text | 40 | S_ADRC | STREET | ||||
| House Number | Text | 10 | S_ADRC | HOUSE_NO | ||||
| Country/Region | Text | 80 | S_ADRC | COUNTRY | ||||
| Region | Text | 80 | S_ADRC | REGION | ||||
| Header Texts( Not Applicable) | ||||||||
| Key | Legacy Purchasing Document Number | mandatory for sheet | Text | 80 | S_EKKO_TEXT | LEGACY_NUMBER | ||
| Text | Text ID | mandatory for sheet | Text | 80 | S_EKKO_TEXT | TDID | ||
| Text | mandatory for sheet | Text | unrestricted | S_EKKO_TEXT | TEXT | |||
| Item Data (mandatory) | ||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKPO | LEGACY_NUMBER | ||
| Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKPO | EBELP | |||
| General Data | Higher-Level Item | Number | 5 | S_EKPO | HL_ITEM | |||
| Item Is an Item Set | Text | 1 | S_EKPO | ISOUTLINE | ||||
| Item Category | Text | 80 | S_EKPO | PSTYP | ||||
| Account Assignment Category | Text | 80 | S_EKPO | KNTTP | ||||
| Product | Text | 80 | S_EKPO | MATNR | ||||
| Short Text | Text | 40 | S_EKPO | TXZ01 | ||||
| Plant | Text | 80 | S_EKPO | WERKS | ||||
| Storage Location | Text | 80 | S_EKPO | LGORT | ||||
| Product Group | Text | 80 | S_EKPO | MATKL | ||||
| Product Type Group | Text | 80 | S_EKPO | PRODUCTTYPE | ||||
| Confirmation Control Key | Text | 80 | S_EKPO | BSTAE | ||||
| Quantity and Price | Target Quantity | Number | 13 | 3 | S_EKPO | KTMNG | ||
| Release Order Quantity | Number | 13 | 3 | S_EKPO | ABMNG | |||
| Order Unit of Measure (ISO Format) | Text | 80 | S_EKPO | PO_UNIT_ISO | ||||
| Net Price | Number | 28 | 2 | S_EKPO | NETPR | |||
| Price Unit | Number | 5 | S_EKPO | PEINH | ||||
| Price Unit of Measure (ISO Format) | Text | 80 | S_EKPO | BPRME | ||||
| Numerator Conv. Price Unit -> Order Unit | Number | 5 | S_EKPO | BPUMZ | ||||
| Denominator Conv. Price Unit->Order Unit | Number | 5 | S_EKPO | BPUMN | ||||
| Update Info Record | Text | 80 | S_EKPO | SPINF | ||||
| Handling | First Reminder/Expediter | Number | 3 | S_EKPO | MAHN1 | |||
| Second Reminder/Expediter | Number | 3 | S_EKPO | MAHN2 | ||||
| Third Reminder/Expediter | Number | 3 | S_EKPO | MAHN3 | ||||
| Planned Delivery Duration in Days | Number | 3 | S_EKPO | PLIFZ | ||||
| Product Number Used by Supplier | Text | 35 | S_EKPO | VEND_MAT | ||||
| GR/IR Control | Underdelivery Tolerance Limit | Number | 3 | 1 | S_EKPO | UNTTO | ||
| Overdelivery Tolerance Limit | Number | 3 | 1 | S_EKPO | UEBTO | |||
| Indicator:Unlimited Overdelivery Allowed | Text | 1 | S_EKPO | UEBTK | ||||
| Tax Code | Text | 80 | S_EKPO | MWSKZ | ||||
| Shipping Instruction | Text | 80 | S_EKPO | EVERS | ||||
| Kanban Indicator | Text | 80 | S_EKPO | KANBA | ||||
| Indicator: Invoice Receipt | Text | 1 | S_EKPO | REPOS | ||||
| Indicator: GR-Based Invoice Verification | Text | 1 | S_EKPO | WEBRE | ||||
| Indicator: Acceptance At Origin | Text | 1 | S_EKPO | WEORA | ||||
| Process Flow Multiple Account Assignment | Distribution | Text | 80 | S_EKPO | VRTKZ | |||
| Partial Invoice | Text | 80 | S_EKPO | TWRKZ | ||||
| Terms of Delivery and Payment | Incoterms | Text | 80 | S_EKPO | INCO1 | |||
| Incoterms Location 1 | Text | 70 | S_EKPO | INCO2_L | ||||
| Incoterms Location 2 | Text | 70 | S_EKPO | INCO3_L | ||||
| Delivery Address (Not Applicable) | ||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_ADRC_2 | LEGACY_NUMBER | ||
| Item Number of Agreement | mandatory for sheet | Number | 5 | S_ADRC_2 | ITEM_NO | |||
| Delivery Address | City | Text | 40 | S_ADRC_2 | CITY | |||
| City Postal Code | Text | 10 | S_ADRC_2 | POSTL_COD1 | ||||
| Street | Text | 60 | S_ADRC_2 | STREET | ||||
| House Number | Text | 10 | S_ADRC_2 | HOUSE_NO | ||||
| Country/Region | Text | 80 | S_ADRC_2 | COUNTRY | ||||
| Region | Text | 80 | S_ADRC_2 | REGION | ||||
| Account Assignment | ||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKKN | LEGACY_NUMBER | ||
| Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKKN | ITEM_NO | |||
| Sequential Number of Account Assignment | mandatory for sheet | Number | 2 | S_EKKN | SERIAL_NO | |||
| Account Assignment | Quantity | Number | 13 | 3 | S_EKKN | MENGE | ||
| Distribution Percentage | Number | 3 | 1 | S_EKKN | VPROZ | |||
| G/L Account Number | Text | 80 | S_EKKN | GL_ACCOUNT | ||||
| Cost Center | Text | 80 | S_EKKN | COSTCENTER | ||||
| Profit Center | Text | 80 | S_EKKN | PROFIT_CTR | ||||
| Order | Text | 80 | S_EKKN | ORDERID | ||||
| Sales and Distribution Document Number | Text | 80 | S_EKKN | SD_DOC | ||||
| Sales Document Item | Number | 6 | S_EKKN | ITM_NUMBER | ||||
| Sales Order Delivery Schedule Line Item | Number | 4 | S_EKKN | ETENR | ||||
| WBS Element | Text | 80 | S_EKKN | WBS_ELEMENT | ||||
| Main Asset Number | Text | 80 | S_EKKN | ASSET_NO | ||||
| Asset Subnumber | Text | 4 | S_EKKN | SUB_NUMBER | ||||
| Item Texts (Not Applicable) | ||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKPO_TEXT | LEGACY_NUMBER | ||
| Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKPO_TEXT | EBELP | |||
| Text | Text ID | mandatory for sheet | Text | 80 | S_EKPO_TEXT | TDID | ||
| Text | mandatory for sheet | Text | unrestricted | S_EKPO_TEXT | TEXT | |||
Conditions Data
| Conditions See notes on Condition records below. | ||||||||
| Key | Condition Number | Text | 10 | KNUMV | ||||
| Item Number | Number | 6 | KPOSN | |||||
| Step Number | Number | 3 | STUNR | |||||
| Counter | Number | 2 | ZAEHK | |||||
| Conditions | Application | Text | 2 | KAPPL | ||||
| Condition Type | Text | 4 | KSCHL | |||||
| Condition Pricing Date | Date | KDATU | ||||||
| Condition Base Value | Number | 15 | 2 | KAWRT | ||||
| Calculation Type | Text | 1 | KRECH | |||||
| Amount | Number | 11 | 2 | KBETR | ||||
| Currency Key | Text | 5 | WAERS | |||||
| Cond exchange rate | Number | 9 | 5 | KKURS | ||||
| Pricing Unit | Number | 5 | 0 | KPEIN | ||||
| Condition Unit | Text | 3 | KMEIN | |||||
| Numerator | Number | 5 | 0 | KUMZA | ||||
| Denominator | Number | 5 | 0 | KUMNE | ||||
| Condition Category | Text | 1 | KNTYP | |||||
NOTES on CONDITION RECORDS ( (Confirmed by Youssef El Mokaddem)
In S/4HANA, purchasing Contracts Conditions data is stored in A016- Contract Item table When Purchasing Contracts are migrated via the Migration Cockpit, the system automatically generates a new condition document number (KNUMV) during Purchasing Contracts creation.
SAP purchasing contract conditions are stored primarily in A016 (condition record numbers by contract/item) and KONP (condition items/values), with pricing details in PRCD_ELEMENTS (S/4HANA) or KONV (ECC). These tables link contract document data (EKKO/EKPO) to pricing, discounts, and validity periods
For the conditions data make sure during the migration of contracts, the net price field (EKPO-NETPR) is well maintained to reflect the conditions data. All existing Price conditions (PB00 ; PC & ZI01) from ECC systems (WP2/PF2) will be migrated as part of Purchasing outline agreement creation with the new Price condition PMP0 in S/4.
Key SAP Purchasing Contract Condition Tables:
- A016: Document Index: Variable Key (Links contract to condition record number).
- KONP: Condition Item (Contains price, discount, or surcharge amount/percentage).
- PRCD_ELEMENTS: Pricing Element (S/4HANA - replaces KONV).
- KONV: Purchasing Condition Records (ECC).
- EKKO: Purchasing Document Header (Contract number).
- EKPO: Purchasing Document Item (Contract item).
Key Fields & Usage:
- Find Condition Records: Enter contract number (EBELN) and item (EBELP) in table A016 to find the condition record number (KNUMH).
- Get Condition Values: Pass the KNUMH from A016 to table KONP to get prices or percentages.
- Validity: Condition records are valid for specific periods stored within KONP.
There is no need to:
- Migrate A016 data
- Migrate KONV/KONP
- Maintain an XREF for KNUMV
- Populate EKKO/EKPO-KNUMV manually
- KNUMV is a technical, system-generated key and will be created automatically when the Purchasing Contracts and its conditions are loaded.
So the correct approach is to leave it blank — S/4 will generate it.
Data Cleansing
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
| CR01 | C-1 | Purchasing Document Header with no line items | Extract purchasing Document Header data from EKKO table and Purchasing Document Line Item data from EKPO table then produce the cleaning report to the business for the purchasing document numbers at the header level but there is no line item exists. | Complete table extract | PF2/WP2 |
| CR02 | C-1 | Purchasing Document Header with no Account assignment data | Extract purchasing Document Header data from EKKO table, Purchasing Document Line Item data from EKPO table and Account Assignment data from EKKN table where the Item category is presents then produce the cleaning report to the business for the purchasing document numbers at the header level but there is no Account Assignment data | Complete table extract | PF2/WP2 |
| CR03 | C-2 | Purchasing Document Header data is marked for the deletion but line item is active | Get the extract from EKKO where LOEKZ = "X" and generate the report from EKPO table where LOEKZ not equal to X | Complete table extract | PF2/WP2 |
| CR04 | C-2 | Purchasing Document Header data is marked for the deletion but Account Assignment data is active | Get the extract from EKKO where LOEKZ = "X" and generate the report from EKKN table where LOEKZ not equal to X | Complete table extract | PF2/WP2 |
| CR05 | C-2 | Purchasing Document Line Item data is marked for the deletion but Account Assignment data is active | Get the extract from EKPO where LOEKZ = "X" and generate the report from EKKN table where LOEKZ not equal to X | Complete table extract | PF2/WP2 |
| VR01 | C-2 | Purchasing Contracts and Outline agreements with Invalid date | Generate a validation report from EKKO table where the Validity Period End date (KDATE) is less than or equal to system date | PF2/WP2 | |
| VR02 | C-2 | Purchasing Contracts and Outline agreements - Material is set for the deletion flag or blocked indicator | Generate a validation report from EKKO table where the Material (MATNR) is marked for the deletion or blocked or both | PF2/WP2 | |
| VR03 | C-2 | Purchasing Contracts and Outline agreements - Material is set for the deletion flag or blocked indicator at the plant level | Generate a validation report from EKKO table where the Material (MATNR) and Plant (WERKS) combination is marked for the deletion or blocked or both | PF2/WP2 | |
| VR04 | C-2 | Purchasing Contracts and Outline agreements - Vendor is set for the deletion flag or blocked indicator at the purchasing view level | Generate a validation report from LFM1 table where the Vendor (LIFNR) and Purchasing Organization (EKORG) combination is marked for the deletion or blocked or both | PF2/WP2 |
Conversion Process
The high-level process is represented by the diagram below:
Data Privacy and Sensitivity
Extraction
Extract data from a source into Syniti Knowledge Platform's (SKP) staging tables. There are 2 possibilities:
- The data exists. Syniti Knowledge Platform's (SKP) connects to the source and loads the data into Syniti Knowledge Platform's (SKP) staging tables.
- . There are 3 methods:
- Perform full data extraction from relevant tables in the source system(s).
- Perform extraction through the application layer.
- Only if Syniti Knowledge Platform's (SKP); 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 Syniti Knowledge Platform's (SKP). This is to be conducted using DCT (Data Collection Template) in Syniti. (TBC)
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 |
|---|---|---|
| 1 | Full extract of Purchase contracts and outline scheduling agreements data from legacy ECC systems, PF2/WP2. Application of filters to lower the volumes | Syniti |
| 2 | Extract of config tables to check if config/reference data is available in the system. These will be used in the Syniti jobs for validation purposes | Syniti |
| 3 | Extraction Scope Definition - Identify the source systems and databases involved. Define the data objects (tables, fields, records) to be extracted. Establish business rules for data selection. | Syniti / Data team |
| 4 | Extraction Methodology - Specify the extraction approach (full, incremental, or delta extraction). Determine the tools and technologies used. Define data filtering criteria to exclude irrelevant records. | Syniti |
| 5 | Extraction Execution Plan- Establish execution timelines and batch processing schedules. Assign responsibilities for extraction monitoring. Document dependencies on other migration tasks. | Syniti |
| 6 | Data Quality and Validation - Define error handling mechanisms for extraction failures. | Syniti |
Selection Screen
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
| N/A | ||||
Data Collection Template (DCT) - TBC
Target Ready Data Collection Template will be created for data with exception of some fields which require transformation as mentioned in the transformation rule.
if business confirms that contract is needed then ‘DCT’ to be used to collect information for missing contracts (TBC)
DCT Rules
| Field Name | Field Description | Rule |
|---|---|---|
| TBC | ||
Extraction Dependencies
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Ensure that the necessary cleansing activities in legacy sources (PF2, WP2) are complete | Data/Business |
2 | Ensure that create, change and deletion of master data is freeze in PF2, WP2 Production system | Syensqo IT |
3 | Source System Availability
| Syensqo IT |
4 | Data Structure
| Syniti |
5 | Referential Integrity
| Syniti |
6 | Extraction Methodology
| Syniti |
7 | Performance and Scalability Considerations
| Syniti |
8 | Security and Compliance
| Syniti |
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 Syniti 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 Syniti.
- 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
Value Mappings Register Link: MM Config Values.xlsx - Google Sheets
Transformation Run Sheet
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Run EKKO, EKPO and EKKN Relevancy in Syniti | Syniti |
2 | Transformation Scope Definition | Data Team |
3 | Data Mapping and Standardization | Data Team |
4 | Business Rule Application | Data Team |
5 | Transformation Execution Plan | Syniti |
Transformation Rules
| Sheet Name | Group Name | Field Description | Importance | Type | Length | Decimal | Target Table | Target Field | Source Table | Source Field | Source Field Descriptions | Transformation Logic |
| Header Data (mandatory) | ||||||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKKO | LEGACY_NUMBER | EKKO | EBELN | Purchasing Document | System Generated Number Should be Unique (Applicable for both preload and post load) | ||
| General Data | Company Code | mandatory for sheet | Text | 80 | S_EKKO | BUKRS | EKKO | BUKRS | Company Code | XREF Derive via legacy to Skyway S4 Company Code mapping It is validated against relevant Company Code available in S/4 HANA. Customizing. Values of the Company Code already included in the "MM configuration values document"- Enterprise Structure tab. | ||
| EKKO | BSTYP | Purch. Doc. Category | Data Migration Cockpit Load template should be run for the below Purchasing Document Categories K - Contracts L- Outline Scheduling Agreement | |||||||||
| Agreement Type | mandatory for sheet | Text | 80 | S_EKKO | BSART | EKKO | BSART | Purchasing Doc. Type | Direct Mapping MK - Quantity Contract WK- Value Contract Value Mapping ZWK - CatLog contract | |||
| Supplier's Account Number | mandatory for sheet | Text | 80 | S_EKKO | LIFNR | EKKO | LIFNR | Vendor Number | XREF Derive via legacy to Skyway S4 Business Partner mapping Vendor used for Procurement & will take only those vendors which will be responsible for particular Purch Org and Plant. (Applicable for both preload and post load) | |||
| Purchasing Organization | mandatory for sheet | Text | 80 | S_EKKO | EKORG | EKKO | EKORG | Purch. Organization | XREF Derive via legacy to Skyway S4 Purchasing Organization mapping It is validated against relevant Purchase Organizations available in S/4 HANA. Customizing. Values of the Purchase Organizations already included in the "MM configuration values document"- Enterprise Structure tab. Rule: Check table LFM1 whether Vendor is extended to Purchasing Organization(EKORG) (Applicable for preload only as the record which are having vendors not extended to purchasing organization will fail in preload and hence won't pass through to load file and post load) | |||
| Purchasing Group | mandatory for sheet | Text | 80 | S_EKKO | EKGRP | EKKO | EKGRP | Purchasing Group | XREF Derive via legacy to Skyway S4 Purchasing Group mapping It is validated against relevant Purchasing Groups available in S/4 HANA. | |||
| Currency Key (ISO Format) | mandatory for sheet | Text | 80 | S_EKKO | WAERS | EKKO | WAERS | Currency | XREF Derive via legacy to Skyway S4 Purchasing Currency code mapping Defaulted from Vendor Master: LFM1-WAERS (in General) | |||
| Administrative Data | Agreement Date | Date | S_EKKO | BEDAT | EKKO | BEDAT | Document Date | Direct Mapping Date when Contract signed off | ||||
| Start of Validity Period | Date | S_EKKO | KDATB | EKKO | KDATB | Validity Per. Start | Direct Mapping Start date of validity period of Contract. | |||||
| End of Validity Period | mandatory for sheet | Date | S_EKKO | KDATE | EKKO | KDATE | Validity Period End | Direct Mapping End date of validity period of Contract. Only Contracts with End of validity period date in the future should be migrated | ||||
| Terms of Delivery and Payment | Target Value | Number | 15 | 2 | S_EKKO | KTWRT | EKKO | KTWRT | Target Val. (Header) | TBC Target value is Mandatory for Value Contract type - WK. For migration - only open Target value should be migrated | ||
| Exchange Rate | Number | 9 | 5 | S_EKKO | WKURS | EKKO | WKURS | Exchange Rate | Direct Mapping | |||
| Indicator for Fixed Exchange Rate | Text | 1 | S_EKKO | KUFIX | EKKO | KUFIX | Exchange Rate Fixed | Not used in ECC Only populated if exchange rate is fixed X- Yes Blank - No | ||||
| Terms of Payment Key | Text | 80 | S_EKKO | ZTERM | EKKO | ZTERM | Terms of Payment | XREF Values of the payment terms already included in the "MM configuration values document"- BP Suppliers tab: | ||||
| First Payment in Days | Number | 3 | S_EKKO | DSCNT1_TO | EKKO | ZBD1T | Payment in | Direct Mapping | ||||
| Discount for First Payment in % | Number | 5 | 3 | S_EKKO | DSCT_PCT1 | EKKO | ZBD1P | Disc.percent 1 | Direct Mapping | |||
| Second Payment in Days | Number | 3 | S_EKKO | DSCNT2_TO | EKKO | DSCNT2_TO | Payment in | Direct Mapping | ||||
| Discount for Second Payment in % | Number | 5 | 3 | S_EKKO | DSCT_PCT2 | EKKO | DSCT_PCT2 | Disc.percent 2 | Direct Mapping | |||
| Cash Discount Days | Number | 3 | S_EKKO | DSCNT3_TO | N/A | N/A | N/A | N/A | ||||
| Incoterms Version | Text | 80 | S_EKKO | INCOV | EKKO | INCOV | Not Used | Not used | ||||
| Incoterms | Text | 80 | S_EKKO | INCO1 | EKKO | INCO1 | Incoterms | XREF Derive via legacy to Skyway S4 Incoterms mapping Customizing. Values of the payment terms already included in the "MM configuration values document"- BP Suppliers tab: | ||||
| Incoterms Location 1 | Text | 70 | S_EKKO | INCO2_L | EKKO | INCO2_L | Incoterms (Part 2) | Direct Mapping | ||||
| Incoterms Location 2 | Text | 70 | S_EKKO | INCO3_L | N/A | N/A | N/A | N/A | ||||
| Reference Data | Your Reference | Text | 12 | S_EKKO | IHREZ | EKKO | IHREZ | Your Reference | Direct Mapping | |||
| Our Reference | Text | 12 | S_EKKO | UNSEZ | EKKO | UNSEZ | Our Reference | Direct Mapping | ||||
| Sales Person | Text | 30 | S_EKKO | VERKF | EKKO | VERKF | Salesperson | XREF | ||||
| Telephone | Text | 16 | S_EKKO | TELF1 | EKKO | TELF1 | Telephone | Direct Mapping | ||||
| Taxes | Country/Region of Sales Tax ID Number | Text | 80 | S_EKKO | STCEG_L | EKKO | STCEG_L | Country sls.tax no. | Direct Mapping | |||
| Item Data (mandatory) | ||||||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKPO | LEGACY_NUMBER | \EKPO | EBELN | Purchasing Document | System Generated Number Should be Unique (Applicable for both preload and post load) | ||
| Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKPO | EBELP | \EKPO | EBELP | Item | System Generated Number but make sure to have every line item in the scope for the purchasing Document Number. Duplicacy need to be removed based on Material and Plant Combination with Agreement no. | |||
| General Data | Higher-Level Item | Number | 5 | S_EKPO | HL_ITEM | N/A | N/A | N/A | N/A | |||
| Item Is an Item Set | Text | 1 | S_EKPO | ISOUTLINE | N/A | N/A | N/A | N/A | ||||
| Item Category | Text | 80 | S_EKPO | PSTYP | \EKPO | PSTYP | Item category | XREF Item category will be used on depending upon procurement. If we want to used o subcontracting, consignment and stock transfer process then we need to use item category K & L | ||||
| Account Assignment Category | Text | 80 | S_EKPO | KNTTP | \EKPO | KNTTP | Acct Assignment Cat. | XREF It has to be decided based on the legacy data and map to the respective account assignment as per Global Template. Varies according to the purchase order. If Item Category Blank and Account Assignment Blank, Material number is required | ||||
| Product | Text | 80 | S_EKPO | MATNR | \EKPO | MATNR | Material | XREF Derive via legacy to Skyway S4 Material Master mapping. Material number is optional. If material requires need to use mapping between legacy and new Material numbers | ||||
| Short Text | Text | 40 | S_EKPO | TXZ01 | \EKPO | TXZ01 | Short Text | Direct Mapping When Material number provided material short text would be copied from material Master. For Contracts without Materials Short text need to be populated manually or copied from Legacy Contract | ||||
| Plant | Text | 80 | S_EKPO | WERKS | \EKPO | WERKS | Plant | XREF Derive via legacy to Skyway S4 Plant mapping. | ||||
| Storage Location | Text | 80 | S_EKPO | LGORT | \EKPO | LGORT | Storage Location | XREF Storage location is optional in the Contract and couldn’t be populated if Plant is blank | ||||
| Product Group | Text | 80 | S_EKPO | MATKL | \EKPO | MATKL | Material Group | XREF Derive via legacy to Skyway S4 Material Group mapping. Material group is mandatory and need to be defined manually using mapping with Legacy system when Material master is not populated. Otherwise it would be copied from Material Master | ||||
| Product Type Group | Text | 80 | S_EKPO | PRODUCTTYPE | N/A | N/A | N/A | N/A | ||||
| Confirmation Control Key | Text | 80 | S_EKPO | BSTAE | \EKPO | BSTAE | Confirmation Control | XREF | ||||
| Quantity and Price | Target Quantity | Number | 13 | 3 | S_EKPO | KTMNG | \EKPO | KTMNG | Target Quantity | Direct Mapping For Quantity Contract type MK Target quantity should be defined. For Value Contract type WK Target quantity could be defined as 1. For migrated Contracts only open Target quantity should be populated (Applicable for both preload and post load) | ||
| Release Order Quantity | Number | 13 | 3 | S_EKPO | ABMNG | \EKPO | ABMNG | Stand.rel.order.qty. | Direct Mapping | |||
| Order Unit of Measure (ISO Format) | Text | 80 | S_EKPO | PO_UNIT_ISO | N/A | N/A | N/A | N/A | ||||
| Net Price | Number | 28 | 2 | S_EKPO | NETPR | \EKPO | NETPR | Net Order Price | Direct Mapping If an info record already exists for this position, the price will be taken over from this info record. | |||
| Price Unit | Number | 5 | S_EKPO | PEINH | \EKPO | PEINH | Price unit | Direct Mapping If an info record already exists for this position, the price unit will be taken over from this info record. | ||||
| Price Unit of Measure (ISO Format) | Text | 80 | S_EKPO | BPRME | \EKPO | BPRME | Order Price Unit | XREF Value mapping template should be defined between legacy and s/4 for the Order Price Unit | ||||
| Numerator Conv. Price Unit -> Order Unit | Number | 5 | S_EKPO | BPUMZ | \EKPO | BPUMZ | Quantity Conversion | Direct Mapping | ||||
| Denominator Conv. Price Unit->Order Unit | Number | 5 | S_EKPO | BPUMN | \EKPO | BPUMN | Quantity Conversion | Direct Mapping | ||||
| Update Info Record | Text | 80 | S_EKPO | SPINF | \EKPO | SPINF | Info Record Update | Direct Mapping | ||||
| Handling | First Reminder/Expediter | Number | 3 | S_EKPO | MAHN1 | \EKPO | MAHN1 | 1st Reminder/Exped. | Direct Mapping | |||
| Second Reminder/Expediter | Number | 3 | S_EKPO | MAHN2 | \EKPO | MAHN2 | 2nd Reminder/Exped. | Direct Mapping | ||||
| Third Reminder/Expediter | Number | 3 | S_EKPO | MAHN3 | \EKPO | MAHN3 | 3rd Reminder/Exped. | Direct Mapping | ||||
| Planned Delivery Duration in Days | Number | 3 | S_EKPO | PLIFZ | \EKPO | PLIFZ | Planned Deliv. Time | Direct Mapping | ||||
| Product Number Used by Supplier | Text | 35 | S_EKPO | VEND_MAT | \EKPO | IDNLF | Vendor Material Number | Direct Mapping | ||||
| GR/IR Control | Underdelivery Tolerance Limit | Number | 3 | 1 | S_EKPO | UNTTO | \EKPO | UNTTO | Underdel. Tolerance | Direct Mapping | ||
| Overdelivery Tolerance Limit | Number | 3 | 1 | S_EKPO | UEBTO | \EKPO | UEBTO | Overdeliv. Tolerance | Direct Mapping | |||
| Indicator:Unlimited Overdelivery Allowed | Text | 1 | S_EKPO | UEBTK | \EKPO | UEBTK | Unltd Overdelivery | Direct Mapping | ||||
| Tax Code | Text | 80 | S_EKPO | MWSKZ | \EKPO | MWSKZ | Tax Code | XREF Value mapping template should be defined between legacy and s/4 for the Tax Code | ||||
| Shipping Instruction | Text | 80 | S_EKPO | EVERS | \EKPO | EVERS | Shipping Instr. | XREF Value mapping template should be defined between legacy and s/4 for the shipping instructions | ||||
| Kanban Indicator | Text | 80 | S_EKPO | KANBA | \EKPO | KANBA | Kanban Indicator | Not used | ||||
| Indicator: Invoice Receipt | Text | 1 | S_EKPO | REPOS | \EKPO | REPOS | Invoice receipt | Direct Mapping | ||||
| Indicator: GR-Based Invoice Verification | Text | 1 | S_EKPO | WEBRE | \EKPO | WEBRE | GR-Based Inv. Verif. | Direct Mapping | ||||
| Indicator: Acceptance At Origin | Text | 1 | S_EKPO | WEORA | \EKPO | WEORA | Origin Acceptance | Not used | ||||
| Process Flow Multiple Account Assignment | Distribution | Text | 80 | S_EKPO | VRTKZ | \EKPO | VRTKZ | Distribut. Indicator | Direct Mapping | |||
| Partial Invoice | Text | 80 | S_EKPO | TWRKZ | \EKPO | TWRKZ | Partial invoice | Direct Mapping | ||||
| Terms of Delivery and Payment | Incoterms | Text | 80 | S_EKPO | INCO1 | \EKPO | INCO1 | Incoterms | XREF Derive via legacy to Skyway S4 Incoterms mapping Customizing. Values of the payment terms already included in the "MM configuration values document"- BP Suppliers tab: | |||
| Incoterms Location 1 | Text | 70 | S_EKPO | INCO2_L | \EKPO | INCO2_L | Incoterms (Part 2) | Direct Mapping | ||||
| Incoterms Location 2 | Text | 70 | S_EKPO | INCO3_L | \EKPO | INCO3_L | Incoterms Location 2 | Not used | ||||
| Account Assignment | ||||||||||||
| Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKKN | LEGACY_NUMBER | EKKN | LEGACY_NUMBER | Purchasing Document | System Generated Number Should be Unique (Applicable for both preload and post load) Applicable if Account Assignment Category is NOT BLANK | ||
| Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKKN | ITEM_NO | EKKN | EBELP | Item | System Generated Number but make sure to have every line item in the scope for the purchasing Document Number. Duplicacy need to be removed based on Material and Plant Combination with Agreement no. Applicable if Acc Assignment Category is NOT BLANK | |||
| Sequential Number of Account Assignment | mandatory for sheet | Number | 2 | S_EKKN | SERIAL_NO | EKKN | ZEKKN | Seq,No,Acct,Ass. | Mandatory Will default it to 1. As multiple account assignment is not in scenario Applicable if Acc Assignment Category is NOT BLANK | |||
| Account Assignment | Quantity | Number | 13 | 3 | S_EKKN | MENGE | EKKN | MENGE | Quantity | Direct Mapping | ||
| Distribution Percentage | Number | 3 | 1 | S_EKKN | VPROZ | EKKN | VPROZ | Distribution | Direct Mapping | |||
| G/L Account Number | Text | 80 | S_EKKN | GL_ACCOUNT | EKKN | SAKTO | G/L Account | XREF Derive via legacy to Skyway S4 G/L Accounts Mapping (Business input and validation also required) Applicable if Acc Assignment Category is NOT BLANK | ||||
| Cost Center | Text | 80 | S_EKKN | COSTCENTER | EKKN | KOSTL | Cost Center | XREF Derive via legacy to Skyway S4 Cost Centres Mapping (Business input and validation also required) Applicable if Acc Assignment Category is NOT BLANK | ||||
| Profit Center | Text | 80 | S_EKKN | PROFIT_CTR | EKKN | PRCTR | Profit Center | XREF Derive via legacy to Skyway S4 Cost Centres Mapping (Business input and validation also required) Applicable if Acc Assignment Category is NOT BLANK | ||||
| Order | Text | 80 | S_EKKN | ORDERID | EKKN | AUFNR | Order Number | Direct Mapping | ||||
| Sales and Distribution Document Number | Text | 80 | S_EKKN | SD_DOC | EKKN | VBELN | SD Document | XREF | ||||
| Sales Document Item | Number | 6 | S_EKKN | ITM_NUMBER | EKKN | VBELP | Item | Direct Mapping | ||||
| Sales Order Delivery Schedule Line Item | Number | 4 | S_EKKN | ETENR | EKKN | VETEN | Schedule Line | Direct Mapping | ||||
| WBS Element | Text | 80 | S_EKKN | WBS_ELEMENT | EKKN | WBS_ELEMENT | WBS Element | XREF Derive via legacy to Skyway S4 WBS Elements Mapping (Business input and validation also required) WBS populated if Account Assignment Category is P | ||||
| Main Asset Number | Text | 80 | S_EKKN | ASSET_NO | EKKN | ANLN1 | Asset | Direct Mapping Asset Number populated if Account Assignment Category is A | ||||
| Asset Subnumber | Text | 4 | S_EKKN | SUB_NUMBER | EKKN | ANLN2 | Sub-number | Direct Mapping Asset Number populated if Account Assignment Category is A | ||||
Transformation Mapping
Value mapping tables google drive path - MM Config Values.xlsx - Google Sheets
Transformation mapping sheet google drive path - Conversion Specification - Mappings - Google Sheets
| Mapping Table Name | Mapping Table Description |
|---|---|
| Material | XREF - Legacy to SyWay S4 |
| Plant | XREF - Legacy to SyWay S4 |
| Vendor Number | XREF - Legacy to SyWay S4 |
| Company Code | XREF - Legacy to SyWay S4 |
| Purchasing Organization | XREF - Legacy to SyWay S4 |
| Purchasing Group | XREF - Legacy to SyWay S4 |
| Incoterms | XREF - Legacy to SyWay S4 |
| Shipping Instructions | XREF - Legacy to SyWay S4 |
| Storage Location | XREF - Legacy to SyWay S4 |
| Tax code | XREF - Legacy to SyWay S4 |
| Currency | XREF - Legacy to SyWay S4 |
| Terms of Payment | XREF - Legacy to SyWay S4 |
| Item Category | XREF - Legacy to SyWay S4 |
| Acct Assignment Cat. | XREF - Legacy to SyWay S4 |
| Material Group | XREF - Legacy to SyWay S4 |
| Confirmation Control | XREF - Legacy to SyWay S4 |
| Order Price Unit | XREF - Legacy to SyWay S4 |
| G/L Account | XREF - Legacy to SyWay S4 |
| Cost Center | XREF - Legacy to SyWay S4 |
| Profit Center | XREF - Legacy to SyWay S4 |
| WBS Element | XREF - Legacy to SyWay S4 |
| Sales Document Number | XREF - Legacy to SyWay S4 |
| Sales document item number | XREF - Legacy to SyWay S4 |
| Sales person | XREF - Legacy to SyWay S4 |
Transformation Dependencies
List the steps that need to occur before transformation can commence| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | Data has been extracted from sources systems from the relevant tables | Syniti |
| 2 | Data merged | Syniti |
| 3 | Ensure that all required Configurations are in S/4 HANA - (Config documents should be complete) | Data Team/Syniti |
| 4 | XREF tables are ready | Data Team/Syniti |
5 | Source Data Integrity | Syniti |
6 | Referential Integrity | Syniti |
7 | Transformation Logic and Mapping Value Mappings Google Drive path - TBC | Data Team |
8 | Performance and Scalability Considerations | Syniti |
9 | Logging and Error Handling | Syniti |
Pre-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
Verify Count | Verify that the record count in the pre-load file is the same as the record count based on the relevancy (including deduplication) results |
Verify Count (Others) | Pre-Load validations record counts will be done to verify completeness and accuracy of the transformed data against DCT approved. - TBC |
Validate the mandatory fields | Validate there is value for all the mandatory fields |
Validate Primary Keys and Unique Constraints | Check for duplicate or missing primary key values, |
Test Referential Integrity | Confirm dependent records exist in related tables |
Accuracy
| Task | Action |
|---|---|
| Conversion accuracy | Data team to verify that the data staged in the preload tables are correct in terms of the mapping rules. |
| Valid to dates | Check valid to dates are migrated correctly |
| Valid from dates | Check valid from dates are migrated correctly |
| Valid to and from date | Verify date formats YYYYMMDD |
Error Reports | Verify that all necessary error reports have been validated and that errors have been addressed. |
Check Data Consistency | Compare field values across systems Validate data formats and structures |
Business
Completeness
| Task | Action |
|---|---|
| Count and Completeness check | All fields required as per mapping template rules must be completed. Validity reports checking each field in Syniti must be built to help check. |
| Valid to dates | Check valid to dates are migrated correctly |
| Valid from dates | Check valid from dates are migrated correctly |
| Valid to and from dates | Verify date formats YYYYMMDD |
Verify Count (Others) | Pre-Load validations record counts will be done to verify completeness and accuracy of the transformed data against DCT approved. (TBC) |
Verify Relevancy Rules | Verify that the relevancy rules were correctly applied |
Accuracy
| Task | Action |
|---|---|
| Conversion accuracy | Business team to verify that the data staged in the preload tables are correct in terms of the mapping rules. This will be done via Syniti reports/SAP reports |
Review Error Reports | Verify that all necessary error reports have been validated, and that errors have been addressed. |
Verify Transformation Rules | Verify that the transformation rules are correct and have been carried out correctly |
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 |
|---|---|---|
1 | Verify data extracted | Data Team/Functional - S2P |
2 | Verify data merged | Data Team/Functional - S2P |
3 | Verify XREF's are ready | Data Team/Functional - S2P |
4 | Verify reference data is in the system | Data Team/Functional - S2P |
5 | Verify Config is in the system | Data Team/Functional - S2P |
6 | Verify other necessary data has been loaded int he system (Plant, Material, Vendor, Company Code...) | Data Team/Functional - S2P |
7 | Release - Load signoff and go-ahead by Functional/Data Owner | Functional/Data Owner - S2P |
8 | Approval to stage/Pre-stage steps | Functional/Data Owner - S2P |
9 | Cross references/Value mappings imported into environment | Syniti |
10 | Extraction from source | Syniti |
11 | Extraction from S4 where needed | Syniti |
12 | Stage data for transformations | Syniti |
13 | Run transforms | Syniti |
15 | Provide access to Business to view the data in SKP | Syniti |
16 | Execute pre-load report | Syniti |
17 | Validate preload report - release | Syniti |
18 | Prepare and simulate | Syniti |
19 | Pre-load verification and approval to load | Functional/Data Owner - S2P |
20 | Load to S4 | Syniti |
21 | Complete Jira steps, Volumes and Timings | All - where applicable |
22 | Execute post-load report | Syniti |
23 | Post-load report verification/validation | Data Team/Functional/Data Owner - S2P |
24 | Object load completion approval | Data Owner - S2P |
25 | Load Scope Definition | Data team |
26 | Load Methodology | Syniti |
27 | Data Quality and Validation | Syniti |
28 | Load Execution Plan | Syniti |
29 | Logging and Reporting | Syniti |
Load Phase and Dependencies
Pre-requisites:
1) Vendor Master Data
2) Material Master data
3) Material Groups
4) Purchasing Info Records
5) G/L Accounts
6) Cost Centers
7) Profit Centers
8) WBS Elements
9) Asset Master Data
10) Sales Order data
S/4 HANA Data Migration Cockpit Template (for the reference to Syniti team to help the technical build for the conversion program:
Field List for Migration Object: MM - Purchase contract | ||||||||
Sheet Name | Group Name | Field Description | Importance | Type | Length | Decimal | SAP Structure | SAP Field |
Header Data (mandatory) | ||||||||
Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKKO | LEGACY_NUMBER | ||
General Data | Company Code | mandatory for sheet | Text | 80 | S_EKKO | BUKRS | ||
Agreement Type | mandatory for sheet | Text | 80 | S_EKKO | BSART | |||
Supplier's Account Number | mandatory for sheet | Text | 80 | S_EKKO | LIFNR | |||
Purchasing Organization | mandatory for sheet | Text | 80 | S_EKKO | EKORG | |||
Purchasing Group | mandatory for sheet | Text | 80 | S_EKKO | EKGRP | |||
Currency Key (ISO Format) | mandatory for sheet | Text | 80 | S_EKKO | WAERS | |||
Administrative Data | Agreement Date | Date | S_EKKO | BEDAT | ||||
Start of Validity Period | Date | S_EKKO | KDATB | |||||
End of Validity Period | mandatory for sheet | Date | S_EKKO | KDATE | ||||
Terms of Delivery and Payment | Target Value | Number | 15 | 2 | S_EKKO | KTWRT | ||
Exchange Rate | Number | 9 | 5 | S_EKKO | WKURS | |||
Indicator for Fixed Exchange Rate | Text | 1 | S_EKKO | KUFIX | ||||
Terms of Payment Key | Text | 80 | S_EKKO | ZTERM | ||||
First Payment in Days | Number | 3 | S_EKKO | DSCNT1_TO | ||||
Discount for First Payment in % | Number | 5 | 3 | S_EKKO | DSCT_PCT1 | |||
Second Payment in Days | Number | 3 | S_EKKO | DSCNT2_TO | ||||
Discount for Second Payment in % | Number | 5 | 3 | S_EKKO | DSCT_PCT2 | |||
Cash Discount Days | Number | 3 | S_EKKO | DSCNT3_TO | ||||
Incoterms Version | Text | 80 | S_EKKO | INCOV | ||||
Incoterms | Text | 80 | S_EKKO | INCO1 | ||||
Incoterms Location 1 | Text | 70 | S_EKKO | INCO2_L | ||||
Incoterms Location 2 | Text | 70 | S_EKKO | INCO3_L | ||||
Reference Data | Your Reference | Text | 12 | S_EKKO | IHREZ | |||
Our Reference | Text | 12 | S_EKKO | UNSEZ | ||||
Sales Person | Text | 30 | S_EKKO | VERKF | ||||
Telephone | Text | 16 | S_EKKO | TELF1 | ||||
Taxes | Country/Region of Sales Tax ID Number | Text | 80 | S_EKKO | STCEG_L | |||
Supplier Address (Not Applicable) | ||||||||
Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_ADRC | LEGACY_NUMBER | ||
Supplier Address | City | Text | 40 | S_ADRC | CITY | |||
City Postal Code | Text | 10 | S_ADRC | POSTL_COD1 | ||||
Street | Text | 40 | S_ADRC | STREET | ||||
House Number | Text | 10 | S_ADRC | HOUSE_NO | ||||
Country/Region | Text | 80 | S_ADRC | COUNTRY | ||||
Region | Text | 80 | S_ADRC | REGION | ||||
Header Texts( Not Applicable) | ||||||||
Key | Legacy Purchasing Document Number | mandatory for sheet | Text | 80 | S_EKKO_TEXT | LEGACY_NUMBER | ||
Text | Text ID | mandatory for sheet | Text | 80 | S_EKKO_TEXT | TDID | ||
Text | mandatory for sheet | Text | unrestricted | S_EKKO_TEXT | TEXT | |||
Item Data (mandatory) | ||||||||
Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKPO | LEGACY_NUMBER | ||
Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKPO | EBELP | |||
General Data | Higher-Level Item | Number | 5 | S_EKPO | HL_ITEM | |||
Item Is an Item Set | Text | 1 | S_EKPO | ISOUTLINE | ||||
Item Category | Text | 80 | S_EKPO | PSTYP | ||||
Account Assignment Category | Text | 80 | S_EKPO | KNTTP | ||||
Product | Text | 80 | S_EKPO | MATNR | ||||
Short Text | Text | 40 | S_EKPO | TXZ01 | ||||
Plant | Text | 80 | S_EKPO | WERKS | ||||
Storage Location | Text | 80 | S_EKPO | LGORT | ||||
Product Group | Text | 80 | S_EKPO | MATKL | ||||
Product Type Group | Text | 80 | S_EKPO | PRODUCTTYPE | ||||
Confirmation Control Key | Text | 80 | S_EKPO | BSTAE | ||||
Quantity and Price | Target Quantity | Number | 13 | 3 | S_EKPO | KTMNG | ||
Release Order Quantity | Number | 13 | 3 | S_EKPO | ABMNG | |||
Order Unit of Measure (ISO Format) | Text | 80 | S_EKPO | PO_UNIT_ISO | ||||
Net Price | Number | 28 | 2 | S_EKPO | NETPR | |||
Price Unit | Number | 5 | S_EKPO | PEINH | ||||
Price Unit of Measure (ISO Format) | Text | 80 | S_EKPO | BPRME | ||||
Numerator Conv. Price Unit -> Order Unit | Number | 5 | S_EKPO | BPUMZ | ||||
Denominator Conv. Price Unit->Order Unit | Number | 5 | S_EKPO | BPUMN | ||||
Update Info Record | Text | 80 | S_EKPO | SPINF | ||||
Handling | First Reminder/Expediter | Number | 3 | S_EKPO | MAHN1 | |||
Second Reminder/Expediter | Number | 3 | S_EKPO | MAHN2 | ||||
Third Reminder/Expediter | Number | 3 | S_EKPO | MAHN3 | ||||
Planned Delivery Duration in Days | Number | 3 | S_EKPO | PLIFZ | ||||
Product Number Used by Supplier | Text | 35 | S_EKPO | VEND_MAT | ||||
GR/IR Control | Underdelivery Tolerance Limit | Number | 3 | 1 | S_EKPO | UNTTO | ||
Overdelivery Tolerance Limit | Number | 3 | 1 | S_EKPO | UEBTO | |||
Indicator:Unlimited Overdelivery Allowed | Text | 1 | S_EKPO | UEBTK | ||||
Tax Code | Text | 80 | S_EKPO | MWSKZ | ||||
Shipping Instruction | Text | 80 | S_EKPO | EVERS | ||||
Kanban Indicator | Text | 80 | S_EKPO | KANBA | ||||
Indicator: Invoice Receipt | Text | 1 | S_EKPO | REPOS | ||||
Indicator: GR-Based Invoice Verification | Text | 1 | S_EKPO | WEBRE | ||||
Indicator: Acceptance At Origin | Text | 1 | S_EKPO | WEORA | ||||
Process Flow Multiple Account Assignment | Distribution | Text | 80 | S_EKPO | VRTKZ | |||
Partial Invoice | Text | 80 | S_EKPO | TWRKZ | ||||
Terms of Delivery and Payment | Incoterms | Text | 80 | S_EKPO | INCO1 | |||
Incoterms Location 1 | Text | 70 | S_EKPO | INCO2_L | ||||
Incoterms Location 2 | Text | 70 | S_EKPO | INCO3_L | ||||
Delivery Address (Not Applicable) | ||||||||
Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_ADRC_2 | LEGACY_NUMBER | ||
Item Number of Agreement | mandatory for sheet | Number | 5 | S_ADRC_2 | ITEM_NO | |||
Delivery Address | City | Text | 40 | S_ADRC_2 | CITY | |||
City Postal Code | Text | 10 | S_ADRC_2 | POSTL_COD1 | ||||
Street | Text | 60 | S_ADRC_2 | STREET | ||||
House Number | Text | 10 | S_ADRC_2 | HOUSE_NO | ||||
Country/Region | Text | 80 | S_ADRC_2 | COUNTRY | ||||
Region | Text | 80 | S_ADRC_2 | REGION | ||||
Account Assignment | ||||||||
Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKKN | LEGACY_NUMBER | ||
Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKKN | ITEM_NO | |||
Sequential Number of Account Assignment | mandatory for sheet | Number | 2 | S_EKKN | SERIAL_NO | |||
Account Assignment | Quantity | Number | 13 | 3 | S_EKKN | MENGE | ||
Distribution Percentage | Number | 3 | 1 | S_EKKN | VPROZ | |||
G/L Account Number | Text | 80 | S_EKKN | GL_ACCOUNT | ||||
Cost Center | Text | 80 | S_EKKN | COSTCENTER | ||||
Profit Center | Text | 80 | S_EKKN | PROFIT_CTR | ||||
Order | Text | 80 | S_EKKN | ORDERID | ||||
Sales and Distribution Document Number | Text | 80 | S_EKKN | SD_DOC | ||||
Sales Document Item | Number | 6 | S_EKKN | ITM_NUMBER | ||||
Sales Order Delivery Schedule Line Item | Number | 4 | S_EKKN | ETENR | ||||
WBS Element | Text | 80 | S_EKKN | WBS_ELEMENT | ||||
Main Asset Number | Text | 80 | S_EKKN | ASSET_NO | ||||
Asset Subnumber | Text | 4 | S_EKKN | SUB_NUMBER | ||||
Item Texts (Not Applicable) | ||||||||
Key | Legacy Agreement Number | mandatory for sheet | Text | 80 | S_EKPO_TEXT | LEGACY_NUMBER | ||
Item Number of Agreement | mandatory for sheet | Number | 5 | S_EKPO_TEXT | EBELP | |||
Text | Text ID | mandatory for sheet | Text | 80 | S_EKPO_TEXT | TDID | ||
Text | mandatory for sheet | Text | unrestricted | S_EKPO_TEXT | TEXT | |||
Configuration
| Item # | Configuration Item |
|---|---|
| N/A | |
Conversion Objects
| Object # | Preceding Object Conversion Approach |
|---|---|
1 | Purchase Info Record/Pricing Conditions (1094) |
2 | Material Master - Basic View (2019) |
3 | Materials - Additional data (2021) |
4 | Materials Purchasing View (2020) |
5 | Business Partners - General (3007) |
6 | Business Partners (Vendor)- (3027) |
7 | Vendor Subrange (TBC) |
10 | WBS Elements |
11 | Company Codes |
12 | Cost center |
13 | G/L Account |
14 | Profit center |
15 | Fixed Asset |
16 | Storage Locations |
17 | Sales Orders (Third party) |
Error Handling
| Error Type | Error Description | Action Taken |
|---|---|---|
Data | Vendor missing or blocked | Either exclude the record, or unblock/load the Vendor |
Config | Necessary number ranges not correct | Internal numbering must be set. |
Data | Incorrect document types | Fix incorrect data or missing entries |
Data | Material missing or blocked. | Either exclude the record, or unblock/load the Vendor |
Data | Invalid dates | Fix incorrect data or missing entries |
Data | Invalid data formats | Fix incorrect data or missing entries |
Pre-req | Missing Value mappings | Add missing value mappings and retry |
Data | Duplicates | Fix incorrect data or missing entries |
Data | Transformation misses | Build transformation and retry. |
Load | Authorization errors | Apply for the applicable authorization permission and retry |
Load | Technical load failures - If using Migration Cockpit- Simulation errors, etc | Investigate error and rectify. Retry simulation and/or load |
Data | Condition records contained in PO is not available in the target system. | Investigate, load condition record, or exclude the PO/Line |
Configuration | Configuration value for the field is not valid/missing | If it is a missing configuration item then engage Functional team to expedite and fix the error in the system. |
Invalid Data | Configuration value for the field is not valid. | The parameter entry needs to be reviewed (ex. invalid payment terms). If it is an invalid data, business needs to review and correct the source of the data either in PF2/WP2 or if it’s mapped in DCT. (TBC) |
Value Mappings (Transformation Mappings) | Missing or Invalid value mapping for the fields | If it is a missing or invalid value mapping fields then engage Functional team to expedite and fix the error in the system. |
Technical Setup | Interface / Connection issue within target system’s landscape | N/A – the data will be loaded directly to S/4HANA environment |
Authorization Error | <USER ID> is not authorized to access Business Partner create | Contact Basis to obtain Fire Fighter ID (or SyWay S4 approved data loading ID) or fix the authorization setup |
Post-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
Task | Action |
Verify count | The number of records presented in the preload needs to be compared to the post load. – Syniti report |
Field by field check | Compare source data to target data. |
Valid to dates | Check valid to dates are migrated correctly |
Valid from dates | Check valid from dates are migrated correctly |
Valid to and from dates | Verify date formats YYYYMMDD |
Verify Count (Others) | Post-Load validations record counts will be done to verify completeness and accuracy of the transformed data against DCT approved. (TBC) |
Accuracy
| Task | Action |
|---|---|
Conversion accuracy | Data team to verify that the data staged in the preload tables are correct in terms of the mapping rules. This will be done via Syniti DSP reports/SAP reports |
Valid to dates | Check valid to dates are migrated correctly |
Valid from dates | Check valid from dates are migrated correctly |
Valid to and from dates | Verify date formats YYYYMMDD |
Post Load Error Reports | Verify that all necessary post-load error reports have been validated, and that errors have been addressed. |
Business
Completeness
| Task | Action |
|---|---|
Verify count | The number of records presented in the preload needs to be compared to the post-load. – Syniti report |
Missing data | Check missing data which was supposed to be loaded |
Reconciliation | Participate in Post-load walkthroughs |
Verify Count (Others) | Post-Load validations record counts will be done to verify completeness and accuracy of the transformed data against DCT approved. (TBC) |
Validate Loaded Data | Validate, as per the loads files signed-off, that all records are in the target system |
Accuracy
| Task | Action |
|---|---|
Conversion accuracy | Business team to verify that the data staged in the preload tables are correct in terms of the mapping rules. This will be done via Syniti DSP reports/SAP reports |
Load failures | Value presented for load must be in the system |
Valid to dates | Check valid to dates are migrated correctly |
Valid from dates | Check valid from dates are migrated correctly |
Valid to and from dates | Verify date formats YYYYMMDD |
Review Post Load Error Reports | Verify that all necessary post load error reports have been validated, and that errors have been addressed. |
Validate Loaded Data | Validate, as per the loads files signed-off, that all records are in the target system |
Key Assumptions
- Purchasing Contracts are in scope based on data design and any exception requested by business.
- Migrate released and approved contracts only. Note that the supplier is not informed again after migration of a purchasing contract because only released purchasing contracts are migrated to the SAP solution.
- If a contract has not been released or approved in the legacy system, create a new purchasing contract with a new contract ID in the SAP solution and copy the data from the legacy system into the new purchasing contract in your SAP solution manually.
The contract ID in your SAP solution must be the same as in the legacy system. Change the contract ID for technical reasons only (for . if the number range of the migrated contracts would exceed the number range in the SAP solution).
If the purchasing contract is related to materials or services, the purchasing status must be set to active in the corresponding materials or services.
Migration of change history, document flow history and approval history is not supported.
Migration of administrative data is not supported, for example, creation date and time, creation user, last changed date and time.
