| Status | In Progress |
|---|---|
| Owner | RUAN-ext, Eric |
| Stakeholders |
Purpose
The purpose of this document is to define the conversion approach to create Customer Hierarchy in S/4 HANA.
In SAP ECC, the customer hierarchy is a tree-like hierarchy where each node is a customer (including parent and child customers). The primarily purpose is used for pricing, rebates, and reporting across related customers. It will be maintained via transaction code VDH1N.
In SAP S/4HANA, customers are managed as Business Partners (BP), enabling a more flexible and integrated data model. Hierarchy nodes are created as BPs with sales area data. It is still maintained via VDH1N (or Fiiori app Display/Maintain Customer Hierarchy), but enhanced with validity periods, governance, and inheritance.
Conversion Scope
The scope of this document covers the approach for converting active Customer Hierarchy from Legacy Source Systems into S/4HANA following the Customer Hierarchy Master Data Design Standard.
The data from legacy system includes:
- For Parent, the sales area data has the sales organization in scope and the BP general data/sales view data is migrated.
- For Child, the sales area data has the sales organization in scope and the sales view is still active.
- Valid-to is after go live date
- There is pricing or rebate indicator in the source system
The data from legacy system excludes:
- The BP general is not in migration scope
- or the sales view for Child is not in migration scope
- Valid-to is before go live date
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
| WP2 | Customer Hierarchy | 1856 | S4 Hana ROW | 1856 |
| WP2 | Customer Hierarchy | N/A | S4 Hana China | N/A |
| WP2 | Customer Hierarchy | N/A | S4 Hana CUI | N/A |
Additional Information
Multi-language Requirement
N/A
Document Management
N/A
Legal Requirement
CMMC 2.0 is a mandatory DoD cybersecurity certification for contractors handling Controlled Unclassified Information (CUI) and Federal Contract Information (FCI). CUI includes sensitive technical data (e.g., design specs, system info) related to U.S. military and space applications. The Composites Business handles CUI and is therefore within CMMC scope. Without certification, the business risks disqualification from existing and future DoD programs.
It is mandatory to implement CMMC-compliant systems and processes to for all the organizations that are dealing with CUI.
Therefore, there will be one SAP instance specifically for CUI related entities.
Special Requirements
Different SAP Instance Migration Approach
Please refer to the link for the entity mapping for each instance. SAP instance mapping based on company code
- To identify the record is for which SAP instance, it will follow below logic.
- map the sales org to company code first, then map the company code to the SAP instance based on the mapping file.
Target Design
The technical design of the target for this conversion approach.
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
| KNVH | MANDT | MANDT | Client | CLNT | 3 | Internal |
| KNVH | HITYP | HITYP | Cust.hierarchy type | CHAR | 1 | Mandatory |
| KNVH | KUNNR | KUNNR | Customer | CHAR | 10 | Mandatory |
| KNVH | VKORG | VKORG | Sales Organization | CHAR | 4 | Mandatory |
| KNVH | VTWEG | VTWEG | Distribution Channel | CHAR | 2 | Mandatory |
| KNVH | SPART | SPART | Division | CHAR | 2 | Mandatory |
| KNVH | DATAB | DATAB | Valid from | DATS | 8 | Mandatory |
| KNVH | DATBI | DATBI | Valid to | DATS | 8 | Mandatory |
| KNVH | HKUNNR | HKUNNR | Higher-level customer | CHAR | 10 | Mandatory |
| KNVH | HVKORG | HVKORG | Higher-lev.SalesOrg | CHAR | 4 | Mandatory |
| KNVH | HVTWEG | HVTWEG | HgLv distrib.channel | CHAR | 2 | Mandatory |
| KNVH | HSPART | HSPART | Higher-level division | CHAR | 2 | Mandatory |
| KNVH | GRPNO | GRPNO | Routine Number | NUMC | 3 | Not in use |
| KNVH | BOKRE | BOKRE | Rebate | CHAR | 1 | Not in use |
| KNVH | PRFRE | PRFRE | Price determination | CHAR | 1 | Not in use |
| KNVH | HZUOR | HZUOR | Hierarchy assignment | NUMC | 2 | Not in use |
| KNVH | NODE_GUID | NODE_GUID | Customer Hier. Node GUID | CHAR | 32 | Not in use |
| KNVH | NODE_ID | NODE_ID | Customer Hierarchy Node ID | CHAR | 20 | Not in use |
Data Cleansing
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
| 3005-1 | C1 | Remove obsolete customer | Customer has general data marked as for deletion | Higher Customer Number/Name/Customer/Name/Sales Organization/Distribution Channel/Division/Deletion Indicator | WP2 |
| 3005-2 | C1 | Remove customer with obsolete sales data | Customer has the sales area data marked for deletion | Higher Customer Number/Name/Customer/Name/Sales Organization/Distribution Channel/Division /Deletion Indicator | WP2 |
Conversion Process
The high-level process is represented by the diagram below:
The ETL (Extract, Transform, Load) process is a structured approach to data migration and management, ensuring high-quality data is seamlessly transferred across systems. Here’s a breakdown of its key components:
1. Extraction
The process begins with extracting metadata and raw data from source systems, such as Syensqo ECC system (i.e., WP2/PF2) periodically. The extracted data is then staged for transformation.
2. Transformation
Once extracted, the data undergoes cleansing, consolidation, and governance. This step ensures data integrity, consistency, and compliance with business rules. The transformation process includes:
- Data validation to remove inconsistencies.
- Standardization to align formats across datasets.
- Business rule application to refine data for operational use.
3. Loading
The transformed data is then loaded into the target S4 Hana system.
Data Privacy and Sensitivity
Extraction
Extract data from a source into Syniti Migrate for SAP ROW and SAP China relevant entities. There are 2 possibilities:
- The data exists. Syniti Migrate connects to the source and loads the data into Syniti Migrate. 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 Migrate 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 Migrate. This is to be conducted using DCT (Data Collection Template) in Syniti Migrate
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 |
|---|---|---|
| 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 Syniti / LTC Data team |
| 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 |
| Extraction Execution Plan | - Establish execution timelines and batch processing schedules. - Assign responsibilities for extraction monitoring. - Document dependencies on other migration tasks. | Syniti |
| 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)
Target Ready Data Collection Template will be created for data with exception of some fields which require transformation as mentioned in the transformation rule.DCT Rules
| Field Name | Field Description | Rule |
|---|---|---|
| N/A | ||
Extraction Dependencies
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | Source System Availability
| Syensqo IT |
| 2 | Data Structure
| Syniti |
| 3 | Referential Integrity
| Syniti |
| 4 | Extraction Methodology
| Syniti |
| 5 | Performance and Scalability Considerations
| Syniti |
| 6 | 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 Migrate 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 Migrate
- Prepare target-ready data in the structure and format that is required for loading via prescribed Load Tool. This step also produces the load data ready for business to perform Pre-load Data Validation
Transformation Run Sheet
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | Transformation Scope Definition - Identify the source and target data structures. - Define business rules for data standardization. - Establish data cleansing requirements to remove inconsistencies. | Data Team |
| 2 | Data Mapping and Standardization - Align source fields with target fields. - Ensure unit consistency (e.g., currency, measurement units) | Data Team |
| 3 | Business Rule Application - Implement data enrichment/collection if applicable - Apply conditional transformations based on predefined logic/business rules | Data Team |
| 4 | Transformation Execution Plan - Define batch processing schedules. - Assign responsibilities for monitoring execution. - Establish error-handling mechanisms | Syniti |
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| 1 | WP2 | KNVH | MANDT | Client | S4 | KNVH | MANDT | Client | Internal - |
| 2 | WP2 | KNVH | HITYP | Cust.hierarchy type | S4 | KNVH | HITYP | Cust.hierarchy type | Mapping - |
| 3 | WP2 | KNVH | KUNNR | Customer | S4 | KNVH | KUNNR | Customer | Mapping - Map based on S4 BP |
| 4 | WP2 | KNVH | VKORG | Sales Organization | S4 | KNVH | VKORG | Sales Organization | Rule - Follow Higher-lev.SalesOrg HVKORG |
| 5 | WP2 | KNVH | VTWEG | Distribution Channel | S4 | KNVH | VTWEG | Distribution Channel | Rule - Follow higher level DC, i.e., if higher DC is export, then this is export. |
| 6 | WP2 | KNVH | SPART | Division | S4 | KNVH | SPART | Division | Default - Default to 01 - Product |
| 7 | WP2 | KNVH | DATAB | Valid from | S4 | KNVH | DATAB | Valid from | Copy - |
| 8 | WP2 | KNVH | DATBI | Valid to | S4 | KNVH | DATBI | Valid to | Copy - |
| 9 | WP2 | KNVH | HKUNNR | Higher-level customer | S4 | KNVH | HKUNNR | Higher-level customer | Mapping - Map based on S4 BP |
| 10 | WP2 | KNVH | HVKORG | Higher-lev.SalesOrg | S4 | KNVH | HVKORG | Higher-lev.SalesOrg | Mapping - Mapping - Refer to MAP_VKORG |
| 11 | WP2 | KNVH | HVTWEG | HgLv distrib.channel | S4 | KNVH | HVTWEG | HgLv distrib.channel | Rule - Get the distribution channel from S4 KNVV records based on legacy KUNNR/VKORG legacy value combinations |
| 12 | WP2 | KNVH | HSPART | Higher-level division | S4 | KNVH | HSPART | Higher-level division | Default - Default to 01 - Product |
| 13 | WP2 | KNVH | GRPNO | Routine Number | S4 | KNVH | GRPNO | Routine Number | Not in Use - |
| 14 | WP2 | KNVH | BOKRE | Rebate | S4 | KNVH | BOKRE | Rebate | Not in Use - |
| 15 | WP2 | KNVH | PRFRE | Price determination | S4 | KNVH | PRFRE | Price determination | Not in Use - |
| 16 | WP2 | KNVH | HZUOR | Hierarchy assignment | S4 | KNVH | HZUOR | Hierarchy assignment | Not in Use - |
| 17 | KNVH | NODE_GUID | Customer Hier. Node GUID | Not in Use - | |||||
| 18 | KNVH | NODE_ID | Customer Hierarchy Node ID | Not in Use - |
Transformation Mapping
| Mapping Table Name | Mapping Table Description |
|---|---|
| MAP_VKORG | Sales Organization Mapping Table |
| MAP_VTWEG | Distribution Channel Mapping Table |
| MAP_SPART | Division Mapping table |
Transformation Dependencies
List the steps that need to occur before transformation can commence| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | Source Data Integrity - Ensure extracted data is complete, accurate, and consistent. - Validate that data types and formats align with transformation requirements. | Syniti |
| 2 | Referential Integrity - Ensure dependent records are transformed together or in advance | Syniti |
| 3 | Transformation Logic and Mapping - Define data mapping rules between source and target schemas. | Data Team |
| 4 | Performance and Scalability Considerations - Optimize transformation processes for large datasets. - Ensure system resources can handle transformation workloads | Syniti |
| 5 | Logging and Error Handling - Maintain detailed logs of transformation activities. - Define error-handling procedures for failed transformations | Syniti |
Pre-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
| Compare Data Counts |
|
| Validate the mandatory fields | Validate there is value for all the mandatory fields |
| Validate Primary Keys and Unique Constraints |
|
| Test Referential Integrity | Confirm dependent records exist in related tables |
Accuracy
| Task | Action |
|---|---|
| Validate the transformation | Validate the fields which require transformation have the value after transformation instead of the original field value |
| Check Data Consistency |
|
Business
The following pre-load validations will be performed by the business.Completeness
| Task | Action |
|---|---|
| Compare Data Counts |
|
| Review populated templates for missing or incorrect values | Use checklists to verify completeness and correctness before submission |
Accuracy
| Task | Action |
|---|---|
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 | Load Scope Definition - Identify the target system and database structure. - Define data objects (tables, fields, records) to be loaded. - Establish business rules for data validation. | Data team |
| 2 | Load Methodology - Specify the loading tools and technologies (Migration Cockpit, LSMW, custom loading program). | Syniti |
| 3 | Data Quality and Validation - Ensure data integrity checks (null values, duplicates, format validation). - Perform pre-load validations to verify completeness. - Define error handling mechanisms for load failures | Syniti |
| 4 | Load Execution Plan - Establish execution timelines and batch processing schedules. - Assign responsibilities for monitoring execution. - Document dependencies on other migration tasks | Syniti |
| 5 | Logging and Reporting - Maintain detailed logs of loading activities. - Generate summary reports on loaded data volume and quality. - Define escalation procedures for errors | Syniti |
Load Phase and Dependencies
The Customer Hierarchy will be loaded in the pre-cutover period.
Before loading, it will have dependency on the configuration. The configuration needs to be transported into the respective system first.
Configuration
| Item # | Configuration Item |
|---|---|
| 1 | Assign sales are to customer hierarchy type |
Conversion Objects
| Object # | Preceding Object Conversion Approach |
|---|---|
| 3007 | Business Partners - General (Role 000000) |
| 3003 | Business Partners - Customer (Sales and Service) - FLCU01 |
Error Handling
| Error Type | Error Description | Action Taken |
|---|---|---|
| Configuration Error | There is error message "Sales area assignment is not permitted" when assigning the child customer to parent customer | Send the configuration to function team to transport the configuration |
Post-Load Validation
Project Team
The following post-load validations will be performed by the Project Team.Completeness
| Task | Action |
|---|---|
| Perform Source-to-Target Comparisons |
|
Accuracy
| Task | Action |
|---|---|
| Execute Sample Queries and Reports |
|
| Conduct Post-Migration Reconciliation | Generate reports comparing pre- and post-migration data. |
Business
Post-load validation is a critical step in data migration, ensuring that transferred data is accurate, complete, and functional within the target system.
1. Ensuring Data Integrity
After migration, data must be consistent with its original structure. Post-load validation checks for missing records, incorrect mappings, and formatting errors to prevent discrepancies.
2. Business Continuity
Faulty data can disrupt operations, leading to financial losses and inefficiencies. Validating post-load data ensures that applications function as expected, preventing downtime.
3. Error Detection and Resolution
By validating data post-migration, businesses can detect anomalies early, reducing the cost and effort required for corrections
Completeness
| Task | Action |
|---|---|
| Perform Source-to-Target Comparisons |
|
| Conduct Post-Migration Reconciliation | Go through reports comparing pre- and post-migration data. |
Accuracy
| Task | Action |
|---|---|
| Perform Manual Testing | Conduct manual spot-checks for additional assurance. |
Key Assumptions
- Master Data Standard is up to date as on the date of documenting this conversion approach and data load.
- Customer hierarchy is in scope based on data design and any exception requested by business.
- There will be 3 SAP instances, one for ROW, one for China and one for CUI only.
- For SAP CUI instance, the migration activity will be handled by US based data consultant.
See also
Change log
Workflow history
| Title | Last Updated By | Updated | Status | |
|---|---|---|---|---|
| There are no pages at the moment. | ||||
