| 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 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.
- 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.
The data from legacy system includes:
- 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.
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 | S4HANA | 3500 Value contracts - 2390 Value contracts - 46935 Value contracts - 46935 |
| WP | Purchasing Contracts Header data Purchasing Contracts Line Item data Purchasing Contracts Account Assignment data | 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 (TBC )
Data Cleansing
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
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 orders 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 team4 |
| 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 |
|---|---|---|
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
Configuration Mapping Register Lin
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
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic | Cross Reference Table | Default Value | Conversion Rules (Logic) | Comments |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EKKO | EBELN | Purchasing Document Number | System Generated | ||||||||||
| EKKO | BUKRS | Company Code | Default | XXXX | |||||||||
| EKKO | BSTYP | Purchasing Document Category | Default | K | |||||||||
| EKKO | BSART | Purchasing Document Type | Default | MK or WK | MK - Quantity Contract WK - Value Contract | ||||||||
| EKKO | PINCR | Item Number Interval | System Generated | ||||||||||
| EKKO | LPONR | Last Item Number | System Generated | ||||||||||
| EKKO | LIFNR | Vendor Account Number | Logic | XREF??? | Depending on numbering (int/ext) | ||||||||
| EKKO | SPRAS | Language Key | Default | EN | |||||||||
| EKKO | ZTERM | Terms of Payment Key | Logic | Look up S4 Vendor number in LFB1 where Company Code (BUKRS) = XXXX to get payment terms (LFB1-ZTERM) | Get from S4 vendor | ||||||||
| EKKO | ZBD1T | Cash (Prompt Payment) Discount Days | System Generated | Defaulted during data load. | |||||||||
| EKKO | ZBD2T | Cash (Prompt Payment) Discount Days | System Generated | Defaulted during data load. | |||||||||
| EKKO | ZBD3T | Cash (Prompt Payment) Discount Days | System Generated | Defaulted during data load. | |||||||||
| EKKO | ZBD1P | Cash Discount Percentage 1 | System Generated | Defaulted during data load. | |||||||||
| EKKO | ZBD2P | Cash Discount Percentage 2 | System Generated | Defaulted during data load. | |||||||||
| EKKO | EKORG | Purchasing Organization | Logic | If vendor is affiliate (S4 LIFNR starts with TP) then set to EM01 else set to EM11. | EM01 - Affiliates EM11 - Direct Third Party EMIN - Indirect Third Party | ||||||||
| EKKO | EKGRP | Purchasing Group | Logic | retrieve EKGRP from MARC using material number and plant to join | Default to XXX until logic is confirmed | ||||||||
| EKKO | WAERS | Currency Key | Logic | If blank in source then default to EUR else pass through. | |||||||||
| EKKO | WKURS | Exchange Rate | Default | 1 | |||||||||
| EKKO | KUFIX | Indicator: Fixing of Exchange Rate | Default | Blank | |||||||||
| EKKO | BEDAT | Purchasing Document Date | Default | Todays Date | |||||||||
| EKKO | KDATB | Start of Validity Period | Pass Through | ||||||||||
| EKKO | KDATE | End of Validity Period | Logic | Set to to 31st Dec 9999 | |||||||||
| EKKO | IHREZ | Your Reference | Default | Blank | |||||||||
| EKKO | VERKF | Responsible Salesperson at Vendor's Office | Default | Blank | |||||||||
| EKKO | TELF1 | Vendor's Telephone Number | Logic | Get from S4 vendor | |||||||||
| EKKO | LLIEF | Supplying Vendor | Default | Blank | |||||||||
| EKKO | INCO1 | Incoterms | Logic / Constructed | Blank | Use overrride value from construct file if available, otherwise default to blank | ||||||||
| EKKO | INCO2 | Incoterms Location 1 | Logic / Constructed | Blank | Use overrride value from construct file if available, otherwise default to blank | ||||||||
| EKKO | KTWRT | Target Value for Header Area per Distribution | Default | 9,999,999.00 | |||||||||
| EKKO | UNSEZ | Legacy Number | Logic | Select legacy number | system &-& legacy number | ||||||||
| EKPO | EBELP | Item Number of Purchasing Document | Default | 10 | Only one item per contract so default to 10 | ||||||||
| EKPO | TXZ01 | Short Text | Pass Through | Get from S4 Material Master | |||||||||
| EKPO | MATNR | Material Number | Logic | XREF??? | If material exists in XREF then map to new S4 material number, otherwise pass through from source. | ||||||||
| EKPO | WERKS | Plant | Default | XXXX | |||||||||
| EKPO | LGORT | Storage Location | Default | 1000 | |||||||||
| EKPO | BEDNR | Legacy Contract Line Number | Default | 10 | Only 1 line per contract so default to 10 | ||||||||
| EKPO | MATKL | Material Group | Pass Through | Get from S4 Material Master | |||||||||
| EKPO | KTMNG | Target Quantity | Default | 999,999 | |||||||||
| EKPO | MEINS | Purchase Order Unit of Measure | XREF | XREF??? | retrieve TGT_MSEHI and populate this field; retrieve also TGT_ISOCODE and map it in Migration Cockpit field PO_UNIT_ISO; in Migration Cockpit mapping task, map TGT_MSEHI to TGT_ISOCODE | Map Source UOM to OneS4 UOM | |||||||
| EKPO | BPRME | Order Price Unit (Purchasing) | XREF | XREF??? | retrieve TGT_MSEHI and populate this field; retrieve also TGT_ISOCODE and map it in Migration Cockpit field PO_UNIT_ISO; in Migration Cockpit mapping task, map TGT_MSEHI to TGT_ISOCODE | Map Source UOM to OneS4 UOM | |||||||
| EKPO | BPUMZ | Numerator for Conversion of Order Price Unit into Order Unit | System Generated | source data unreliable, SAP will default it at load time from Material Master setup | |||||||||
| EKPO | BPUMN | Denominator for Conv. of Order Price Unit into Order Unit | System Generated | source data unreliable, SAP will default it at load time from Material Master setup | |||||||||
| EKPO | NETPR | Net Price in Purchasing Document (in Document Currency) | Logic | multiply with 1000 | |||||||||
| EKPO | PEINH | Price Unit | Default | 1000 | |||||||||
| EKPO | MWSKZ | Sales Tax Code | Pass Through | ||||||||||
| EKPO | INSMK | Stock Type | Logic / Constructed | read MARA.QMPUR and override using construct table if available | |||||||||
| EKPO | SPINF | Indicator: Update Info Record | Default | B | |||||||||
| EKPO | MAHN1 | Number of Days for First Reminder/Expediter | Logic | Look up Purchasing Value Key (MARA-EKWSL) from S4 material and get MAHN1 value from S4 config table T405 for the corresponding Material Purchasing Value Key | Defaulted from material config | ||||||||
| EKPO | MAHN2 | Number of Days for Second Reminder/Expediter | Logic | Look up Purchasing Value Key (MARA-EKWSL) from S4 material and get MAHN2 value from S4 config table T405 for the corresponding Material Purchasing Value Key | Defaulted from material config | ||||||||
| EKPO | MAHN3 | Number of Days for Third Reminder/Expediter | Logic | Look up Purchasing Value Key (MARA-EKWSL) from S4 material and get MAHN3 value from S4 config table T405 for the corresponding Material Purchasing Value Key | Defaulted from material config | ||||||||
| EKPO | UEBTO | Overdeliver Tolerance Limit | Logic | Look up Purchasing Value Key (MARA-EKWSL) from S4 material and get UEBTO value from S4 config table T405 for the corresponding Material Purchasing Value Key | Defaulted from material config | ||||||||
| EKPO | UEBTK | Indicator: Unlimited Overdeliver Allowed | Logic | Look up Purchasing Value Key (MARA-EKWSL) from S4 material and get UEBTK value from S4 config table T405 for the corresponding Material Purchasing Value Key | Defaulted from material config | ||||||||
| EKPO | UNTTO | Underdelivery Tolerance Limit | Logic | Look up Purchasing Value Key (MARA-EKWSL) from S4 material and get UNTTO value from S4 config table T405 for the corresponding Material Purchasing Value Key | Defaulted from material config | ||||||||
| EKPO | PSTYP | Item Category in Purchasing Document | Logic | Test in Relevancy report for mapped supplier then set to 3 else set to 0. | 0 - Standard 1 - Limit 2 - Consignment 3 - Subcontracting 4 - Material unknown 5 - Third-party 6 - Text 7 - Stock transfer 8 - Material group 9 - Service A - Enhanced Limit C - Stock prov.by cust. P - Return.trans.pack. | ||||||||
| EKPO | KNTTP | Account Assignment Category | Default | Blank | |||||||||
| EKPO | REPOS | Invoice Receipt Indicator | Default | X | |||||||||
| EKPO | WEBRE | Indicator: GR-Based Invoice Verification | Default | X | |||||||||
| EKPO | ABMNG | Standard release order quantity | Default | 1 | |||||||||
| EKPO | PLIFZ | Planned Delivery Time in Days | Logic | Get from material master | |||||||||
| EKPO | BSTAE | Confirmation Control Key | Default | ZTRC | ZGIB - Glb Inbound Del ZICH - PO Confirmations ZSNC - SNC PO Conf Cntrl ZTRC - Glb PO Conf MRP ZTRN - Glb PO Conf Non MRP | ||||||||
| EKPO | LBLKZ | Subcontracting vendor | Logic | Test in Relevancy report for mapped supplier then set to X else blank. | |||||||||
| EKPO | KANBA | Kanban Indicator | Default | Blank | |||||||||
| EKPO | WEORA | Acceptance At Origin | Logic | Test in Relevancy report for mapped supplier then set to X else blank. | Specifies whether the acceptance of the ordered goods is to take place at the point of origin (that is, on the supplier's premises). Set to X for xxxx suppliers. |
Transformation Mapping
| Mapping Table Name | Mapping Table Description |
|---|---|
| Material | XREF - Legacy to SyWay S4 |
| Plant | XREF - Legacy to SyWay S4 |
| Supplier | XREF - Legacy to SyWay S4 |
| Customer | XREF - Legacy to SyWay S4 |
| Procurement Plant | XREF - Legacy to SyWay S4 |
| Supplying Plant | XREF - Legacy to SyWay S4 |
| Rounding profile | XREF - Legacy to SyWay S4 |
| Company Code | XREF - Legacy to SyWay S4 |
| Purchasing Org | XREF - Legacy to SyWay S4 |
| Purchasing Group | XREF - Legacy to SyWay S4 |
| Principal Agreement number | XREF - Legacy to SyWay S4 |
| Incoterms | XREF - Legacy to SyWay S4 |
| Pricing Procedure | XREF - Legacy to SyWay S4 |
| Storage Location | XREF - Legacy to SyWay S4 |
| Tax code | 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. This will be done via Syniti DSP reports (DCT - TBC) |
| 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 DSP 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
Configuration
| Item # | Configuration Item |
|---|---|
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)- Intercompany (3027) |
7 | Vendor Subrange (TBC) |
8 | Business Partners (Customer) () |
9 | Purchase Contracts (9040)??/Outline agreements |
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) |
18 | Rounding Profile (TBC) |
19 | BP - Address Number |
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
- Master Data Standard is up to date as on the date of documenting this conversion approach and data load.
- 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.
