| Status | |
|---|---|
| Owner | RUAN-ext, Eric |
| Stakeholders |
The purpose of this document is to define the conversion approach to create Customer Hierarchy in S4 HANA.
There are different scenarios for the customer hierarchy information in various legacy systems.
In SAP S4 HANA, customers or prospect are managed as Business Partners (BP), enabling a more flexible and integrated data model. In the meantime, Global Hierarchies are used in the the new S4 Hana design. Global hierarchies are any characteristic hierarchies that are maintained centrally in the Fiori app Manage Global Hierarchies. This conversion spec will capture on the migration approach on how to convert the ECC customer hierarchies/group key and Salesforce Corporate group to S4 Hana Global Hierarchies. In the S4 Hana global hierarchy design, the sales area assignment between Business Partners are not required.
The table below summarizes the three scenarios and the S4 solution to be used to manage the customer hierarchy information.
| Scenario | Legacy System | Legacy System Data Source | Partner Type | Sales Area Related | S4 Hana Data Object |
|---|---|---|---|---|---|
| 1 | ECC (WP2 only) | The customer hierarchy is used, maintained via t-code VDH1N | Customer | Relevant | This will no longer be used in S4 Hana, therefore it is not in the migration scope. |
| 2 | ECC (WP2/PF2) | Group Key (KNA1-KONZS) field is used in customer general data | Customer | Not Relevant | Global Hierarchies will be used and maintained via Fiori App Manage Global Hierarchies. Sales Area data will not be applicable for the data maintenance. |
| 3 | Salesforce (iCare and Core CRM) | Related Accounts is used to link the Corporate group (Parent Company) with the Accounts (Prospect) | Prospect | Not Relevant | Global Hierarchies will be used and maintained via Fiori App Manage Global Hierarchies. Sales Area data will not be applicable for the data maintenance. |
The screenshot below is the demo of Fiori App "Manage Global Hierarchies".

The scope of this document covers the approach for converting active Customer Hierarchy from Legacy Source Systems into S4 HANA following the document "DD-FUN-050 Master Data Standard_3005-Customer Hierarchy".
The Customer hierarchy data from legacy systems includes:
| Scenario | Legacy System | Legacy System Data Source | Relevancy Rule |
|---|---|---|---|
| 1 | ECC (WP2/PF2) | Group Key (KNA1-KONZS) field is used in customer general data |
|
| 2 | Salesforce (iCare and Core CRM) | Related Accounts is used to link the Corporate group (Parent Company) with the Accounts (Prospect) |
|
The customer hierarchy data from legacy system excludes:
| Scenario | Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|---|
| 2 | WP2 | Group Key in customer general data | 31835 | S4 Hana ROW/China/CUI | 31835 |
| 2 | PF2 | Group Key in customer general data | 26150 | S4 Hana ROW/China/CUI | 26150 |
| 3 | iCare | Corporate Group and related accounts | 338 | S4 Hana ROW/China/CUI | 338 |
| 3 | Core CRM | Corporate Group and related accounts | 2167 | S4 Hana ROW/China/CUI | 2167 |
N/A
N/A
N/A
There will be 3 SAP instances, ROW (Rest of the World), China, CUI. This data object will be replicated to all 3 SAP instances.
With Functional input, document the technical design of the target fields that are in the scope of this document.
The technical design of the target for this conversion approach.
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
| HRRP_DIR_N | HRYTYP | Hierarchy Type | CHAR | 4 | Mandatory | |
| HRRP_DIR_N | HRYVALTO | Valid To | DATS | 8 | Mandatory | |
| HRRP_DIR_N | HRYVALFROM | Valid From | DATS | 8 | Mandatory | |
| HRRP_DIR_N | HRYSID | Hierarchy ID | CHAR | 20 | Mandatory | |
| HRRP_DIRT_N | HRYTXT | Hierarchy Description | CHAR | 50 | Mandatory | |
| HRRP_ATTR_NODE_N | HRYNODE | Hierarchy Node | CHAR | 50 | Mandatory | |
| HRRP_ATTR_NODE_N | PARNODE | Hierarchy Parent Node | CHAR | 50 | Mandatory | |
| Type | Type for Upload template only | Mandatory | ||||
All data cleansing should take place in the data source system as defined in this document, unless system limitations prevent it.
If data cleansing is managed outside of the source system (e.g. Syniti Migrate, 3rd Party Vendor, DCT), the necessary documentation must be produced and appended to this deliverable for sign-off.
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
| 3005-1 | C1 | Customer with Deleted Corporate Group(Group Key) | Group Key Status (ZZRGROUP-ZZRDEL) is 'D' Invalid, but it is assigned to a customer in migration scope | Customer/Name1/Country/Street/Group Key/Group Key description | WP2/PF2 |
| 3005-2 | C1 | Prospect with Deleted Corporate Group(Group Key) | Group Key Status (ZZRGROUP-ZZRDEL) is 'D' Invalid, but it is assigned to a prospect in migration scope | Prospect/Account Name/Country/Address/Corporate Group /Corporate Group description | iCare/Core |
| 3005-3 | C2 | Customer with blank Corporate Group (Group Key) | Customer in migration scope, but the group key is blank | Customer/Name1/Country/Street | WP2/PF2 |
| 3005-4 | C2 | Prospect with blank Corporate Group (Group Key) | Prospect in migration scope, but the group key is blank | Prospect/Account Name/Country/Address/ | iCare/Core |
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
For SAP ECC, the process begins with extracting raw data (KNA1) from source systems, such as Syensqo ECC system (i.e., WP2/PF2) . The extracted data is then staged for transformation. For Salesforce, a flat file including Related Accounts information will be shared, 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.

Extract data from a source into Syniti Migrate for SAP S4 Hana. Syniti Migrate connects to the source and loads the data into Syniti Migrate. There are 2 methods:
a. Perform full data extraction from relevant tables (KNA1) in the SAP ECC (WP2/PF2).
b. Data is loaded to the repository from the Salesforce system extract/report.
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 |
|---|---|---|
| 3005-001 | - Identify the source systems (WP2/PF2) and databases involved. - Define the data objects (tables such as KNA1, fields, records) to be extracted. - Establish business rules for data selection. | Syniti Syniti / L2C Data team |
| 3005-002 | - Specify the extraction approach (full, incremental, or delta extraction). - Determine the tools and technologies used. - Define data filtering criteria to exclude irrelevant records. | Syniti |
| 3005-003 | - Establish execution timelines and batch processing schedules. - Assign responsibilities for extraction monitoring. - Document dependencies on other migration tasks. | Syniti |
| 3005-004 | - Define error handling mechanisms for extraction failures. | Syniti |
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
| N/A | ||||
<Object> DCT Rules
| Field Name | Field Description | Rule |
|---|---|---|
| N/A | ||
List the steps that need to occur before extraction can commence
| 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 |
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:
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | Identify target S4 HANA fields and determine applicable legacy source fields from ECC system WP2/PF2 + Salesforce system (iCare and Core CRM) | Functional Team (L2C)+ Data Team (L2C) |
| 2 | Map legacy field values to S4 HANA target values (including field-level mapping and technical names) | Data Team (L2C), Data Team (Syniti) |
| 3 | Define value mapping rules for fields requiring standardization or harmonization across the source systems, ECC system WP2 + Salesforce system (iCare and Core CRM) | Functional Team (L2C)+ Data Team (L2C) |
| 4 | Identify and agree on default values where legacy data is incomplete or inconsistent | Business Team + Functional Team (L2C) |
| 5 | Configure transformation rules in Syniti Migrate | Data Team (Syniti), Data Team (L2C) |
| 6 | Review transformation logic and mappings with Business for confirmation | Business Team + Functional Team (L2C) |
| 7 | Perform initial transformation run and generate draft target-ready dataset | Data Team (Syniti), |
| 8 | Review draft target-ready data for structure and completeness | Data Team (L2C), Functional Team (L2C) |
| 9 | Share transformed data with Business for Pre-load Validation | Business Team |
| 10 | Incorporate feedback from Business and refine mappings or transformation logic as needed | Data Team (L2C) |
| 11 | Finalize and approve transformed data as Target Ready Load File | Business + Functional (L2C) + Data Team (L2C) |
| 12 | Handover final file to Load Team or trigger the load via Syniti Load Workbench | Data Team (Syniti), Data Load Team |
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| 1 | S4 Hana | HRRP_DIR_N | HRYTYP | Hierarchy Type | Default - CH02 (this refers to Customer Hierarchy Analytics) | ||||
| 2 | S4 Hana | HRRP_DIR_N | HRYVALTO | Valid To | Default - 31/12/9999 | ||||
| 3 | S4 Hana | HRRP_DIR_N | HRYVALFROM | Valid From | Default - 1/1/2027 | ||||
| 4 | S4 Hana | HRRP_DIR_N | HRYSID | Hierarchy ID | Default - CUST_HIER | ||||
| 5 | S4 Hana | HRRP_DIRT_N | HRYTXT | Hierarchy Description | Default - Customer Hierarchy | ||||
| 6 | Scenario 1: SAP ECC: Group Key Scenario 2: Salesforce field: | KNA1 Account - CoreCRM Account - iCare | KUNNR SLV10_Acc_Id__c X_18D_Account_ID_C | Customer Account ID Account ID | S4 Hana | HRRP_ATTR_NODE_N | HRYNODE | Hierarchy Node (To determine "ID" field in the upload template) | Rule - There are 3 scenario based on the "Type" in the upload template. Scenario 1: ECC
Scenario 2: Salesforce "Node" - Apply this value based on Corporate Group in Salesforce. Repeat based on each Corporate Group (ParentId /PRS_Code_Parent_c( Corporate Group)
After getting all the BP number, remove the duplicate BP based on same Node. Mapping table is MAP_KUNNR for Customer/Prospect |
| 7 | Scenario 1: SAP ECC: Group Key Scenario 2: Salesforce field: | KNA1 Account - CoreCRM Account - iCare | KONZS ParentId PRS_Code_Parent_c | Group Key Corporate Group CG PRS Code | HRRP_ATTR_NODE_N | PARNODE | Hierarchy Parent Node (To determine "Parent ID" in the upload template) | Rule - There are 3 scenario based on the Type in the upload template.
| |
| 8 | S4 Hana | Type | "Type" field from Upload template | There are 3 drop-downs based on the Type in the upload template. | |||||
| Mapping Table Name | Mapping Table Description |
|---|---|
| MAP_KUNNR | ECC customer /SF Prospect vs S4 Hana BP number mapping |
| 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 |
| 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, such as the BP Customer, Prospect, and Corporate Group in S4 Hana. |
| 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 |
|
| Task | Action |
|---|---|
| Compare Data Counts |
|
| Review populated templates for missing or incorrect values | Use checklists to verify completeness and correctness before submission |
| Task | Action |
|---|---|
| Check Data Consistency |
|
The load process includes:
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | Confirm readiness of final approved data sets for each ECC source system WP2 and PF2 and Salesforce system | Business / Functional Team |
| 2 | Validate transformation rules and mappings in Syniti tool | Data Team (L2C-Data) |
| 3 | Generate target-ready load files based on S4 Hana condition table format | Data Team (Syniti) |
| 4 | Review and approve load files before execution | Business / Functional Team |
| 5 | Execute the Fiori App Manage Global Hierarchies, the import option in the S4 Hana system | Data Load Team |
| 6 | Monitor load progress and capture load statistics (records loaded, errors, duplicates, etc.) | Data Team (Syniti) / Technical Team |
| 7 | Extract loaded data from S4 Hana for post-load validation | Data Team (Syniti) |
| 8 | Perform post-load data validation (compare target data with source/approved files) for all loaded pricing condition types | Data Team (L2C-Data) |
| 9 | Log and resolve any data load errors or mismatches identified during validation | Data Team (L2C-Data) + Functional Team |
| 10 | Obtain business sign-off on successful load and validation | Business Team |
| 11 | Archive load logs, error reports, and validation results for audit/compliance | Data Team (L2C-Data) / Data Team (Syniti) / PMO |
The Import template from Fiori app 'Manage Global Hierarchies' will be used.

Load Phase and Dependencies
The Customer Hierarchy will be loaded in the pre-cutover period.
Before loading, it will have dependency on the definition of Hierarchy ID by function team.
List the Configurations required before loading can commence
| Item # | Configuration Item |
|---|---|
| 1 | Define the Hierarchy ID in Fiori App 'Manage Global Hierarchies' |
| Object # | Preceding Object Conversion Approach |
|---|---|
| 3007 | Business Partners - General (Role 000000) |
| 3009 | Business Partners - Prospect (BUP002) |
The table below depicts some possible system errors for this data object during data load. All data load error is to be logged as defect and managed within the Defect Management
| Error Type | Error Description | Action Taken |
|---|---|---|
| Data Error | The Business partner is not defined | Validate the BP relevancy rule and maintain the BP if it is in migration scope |
| Task | Action |
|---|---|
| Perform Source-to-Target Comparisons | Validate that migrated data matches source records count. |
| Task | Action |
|---|---|
| Conduct Post-Migration Reconciliation | Generate reports comparing pre- and post-migration data, compare the fields value are identical. |
| Perform Manual Testing | Run Fiori App Manage Global Hierarchies, and perform manual spot-checks for additional assurance. |
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
| Task | Action |
|---|---|
| Perform Source-to-Target Comparisons | Validate that migrated data matches source records count. |
| Conduct Post-Migration Reconciliation | Go through post-load validation reports comparing pre- and post-migration data. |
| Task | Action |
|---|---|
| Perform Manual Testing | Run Fiori App Manage Global Hierarchies, and perform manual spot-checks for additional assurance. |
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.