Status

  Approved

OwnerRUAN-ext, Eric 
Stakeholders

Purpose

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. 

  • First scenario is in SAP ECC, customer hierarchy is used to save the hierarchy information. 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 is maintained via transaction code VDH1N.
  • Second scenario is in Customer General data, the field Group Key is used to assign the Parent company to each customer.  The Group key is defined in PRS system, and synced to SAP ECC (WP2/PF2) in a custom table (ZZRGROUP in PF2. ZWPUT068  in WP2).
  • Third scenario is in Salesforce, Corporate group is defined as a type of Account in Salesforce, then it is used to link related accounts (such as Prospect) accordingly. The Corporate Group definition is the same as Group Key mentioned in the second scenario. 

 

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.


ScenarioLegacy SystemLegacy System Data SourcePartner TypeSales Area RelatedS4 Hana Data Object
1ECC (WP2 only)The customer hierarchy is used, maintained via t-code VDH1NCustomerRelevantThis will no longer be used in S4 Hana, therefore it is not in the migration scope.
2ECC (WP2/PF2)Group Key (KNA1-KONZS) field is used in customer general dataCustomerNot RelevantGlobal Hierarchies will be used and maintained via Fiori App Manage Global Hierarchies. Sales Area data will not be applicable for the data maintenance.
3Salesforce (iCare and Core CRM)Related Accounts is used to link the Corporate group (Parent Company) with the Accounts (Prospect)ProspectNot RelevantGlobal 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".


Conversion Scope

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:

 

ScenarioLegacy SystemLegacy System Data SourceRelevancy Rule
1ECC (WP2/PF2)Group Key (KNA1-KONZS) field is used in customer general data
  1. Customer general data is in migration scope, and defined as Business Partner in S4 Hana system, which will have dependency on CNV-3007 Business Partners - General (Role 000000).
  2. Group Key is not blank
  3. Group Key Status (ZZRGROUP-ZZRDEL) is not 'D' Invalid
2Salesforce (iCare and Core CRM)Related Accounts is used to link the Corporate group (Parent Company) with the Accounts (Prospect)
  1. Prospect is in migration scope and defined as Business Partner in S4 Hana system, which will have dependency on CNV3009-Business Partners - Prospect (BUP002)
  2. There is related Account information maintained for the prospect 
  3. Group Key Status (ZZRGROUP-ZZRDEL) is not 'D' Invalid


The customer hierarchy data from legacy system excludes:

  1. For child node, the Business Partner General data is not in migration scope of the Customer or Prospect
  2. For parent node, the Corporate Group / Group key is not in migration scope of S4 Hana system when the status is marked as D - Invalid in PF2 table ZZRGROUP
  3. For ECC (WP2 only), the customer hierarchy maintained via t-code VDH1N


List of source systems and approximate number of records
ScenarioSourceScope

Source Approx No. of Records

Target SystemTarget Approx

No. of Records

2WP2Group Key in customer general data31835S4 Hana ROW/China/CUI*20260222 remove CUI31835
2PF2Group Key in customer general data26150S4 Hana ROW/China/CUI*20260222 remove CUI26150
3iCareCorporate Group and related accounts338S4 Hana ROW/China/CUI*20260222 remove CUI338
3Core CRMCorporate Group and related accounts2167S4 Hana ROW/China/CUI*20260222 remove CUI2167

Additional Information

Multi-language Requirement

N/A

Document Management

N/A

Legal Requirement

N/A

Special Requirements

There will be 3 SAP instances, ROW (Rest of the World), China, CUI. This data object will be replicated to all 3 SAP instances.



Target Design

The technical design of the target for this conversion approach.

TableFieldData ElementField DescriptionData TypeLengthRequirement
HRRP_DIR_NHRYTYP
Hierarchy TypeCHAR4Mandatory
HRRP_DIR_NHRYVALTO
Valid ToDATS8Mandatory
HRRP_DIR_NHRYVALFROM
Valid FromDATS8Mandatory
HRRP_DIR_NHRYSID
Hierarchy IDCHAR20Mandatory
HRRP_DIRT_NHRYTXT
Hierarchy DescriptionCHAR50Mandatory
HRRP_ATTR_NODE_NHRYNODE
Hierarchy NodeCHAR50Mandatory
HRRP_ATTR_NODE_NPARNODE
Hierarchy Parent NodeCHAR50Mandatory

Type
Type for Upload template only

Mandatory








Data Cleansing

IDCriticalityError Message/Report DescriptionRuleOutputSource System
3005-1C1Customer 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/Region/Leading GBU* 20260312 updateWP2/PF2
3005-2C1Prospect with Deleted Corporate Group(Group Key)Group Key Status (ZZRGROUP-ZZRDEL) is 'D' Invalid, but it is assigned to a prospect in migration scopeProspect/Account Name/Country/Address/Corporate Group /Corporate Group description/Region/Leading GBU* 20260312 updateiCare/Core
3005-3C2Customer with blank Corporate Group (Group Key)Customer in migration scope, but the group key is blankCustomer/Name1/Country/Street/Group Key/Region/GBU* 20260312 updateWP2/PF2
3005-4C2Prospect with blank Corporate Group (Group Key)Prospect in migration scope, but the group key is blankProspect/Account Name/Country/Address/Group Key/Region/GBU* 20260312 updateiCare/Core



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
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. 




Data Privacy and Sensitivity

N/A


Extraction

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 DescriptionTeam 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 Screen

Selection Ref ScreenParameter NameSelection TypeRequirementValue 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 NameField DescriptionRule
N/A










Extraction Dependencies

Item #Step DescriptionTeam Responsible
1

Source System Availability

  • Ensure that the source database or application is accessible.
  • Confirm that necessary credentials and permissions are granted
Syensqo IT
2

Data Structure

  • Identify relationships between tables, views, and stored procedures.
Syniti 
3

Referential Integrity

  • Ensure dependent records are extracted together.
Syniti 
4

Extraction Methodology

  • Define whether extraction is full, incremental, or delta-based.
  • Establish batch processing schedules for large datasets.
Syniti 
5

Performance and Scalability Considerations

  • Optimize extraction queries to prevent system overload.
  • Ensure network bandwidth supports data transfer volumes.
Syniti 
6

Security and Compliance

  • Adhere to regulatory standards for sensitive information if applicable
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:

  1. Perform value mapping and data transformation rules.
    1. Legacy values are mapped to the to-be values (this could include a default value)
    2. Values are transformed according to the rules defined in Syniti Migrate
  2. 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 DescriptionTeam Responsible
1Identify 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)
2Map legacy field values to S4 HANA target values (including field-level mapping and technical names)Data Team (L2C), Data Team (Syniti)
3Define 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)
4Identify and agree on default values where legacy data is incomplete or inconsistentBusiness Team + Functional Team (L2C)
5Configure transformation rules in Syniti Migrate Data Team (Syniti), Data Team (L2C)
6Review transformation logic and mappings with Business for confirmationBusiness Team + Functional Team (L2C)
7Perform initial transformation run and generate draft target-ready datasetData Team (Syniti),
8Review draft target-ready data for structure and completenessData Team (L2C), Functional Team (L2C)
9Share transformed data with Business for Pre-load ValidationBusiness Team
10Incorporate feedback from Business and refine mappings or transformation logic as neededData Team (L2C)
11Finalize and approve transformed data as Target Ready Load FileBusiness + Functional (L2C) + Data Team (L2C)
12Handover final file to Load Team or trigger the load via Syniti Load WorkbenchData Team (Syniti), Data Load Team


Transformation Rules

Rule #Source systemSource TableSource FieldSource DescriptionTarget SystemTarget TableTarget FieldTarget DescriptionTransformation Logic
1



S4 HanaHRRP_DIR_NHRYTYPHierarchy TypeDefault - CH02 (this refers to Customer Hierarchy Analytics)
2



S4 HanaHRRP_DIR_NHRYVALTOValid ToDefault - 31/12/9999
3



S4 HanaHRRP_DIR_NHRYVALFROMValid FromDefault - 1/1/2027
4



S4 HanaHRRP_DIR_NHRYSIDHierarchy IDDefault - CUST_HIER 
5



S4 HanaHRRP_DIRT_NHRYTXTHierarchy DescriptionDefault - 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 HanaHRRP_ATTR_NODE_NHRYNODE

Hierarchy Node


(To determine "ID" field in the upload template)

Rule - There are 3 scenario based on the "Type" in the upload template.

"Root" - The value is CUST_HIER . Repeat once only in the first row.

Scenario 1: ECC


"Node" - Apply this value based on Group Key in ECC. Repeat based on each Group Key (KNA1-KONZS)



"Business Partner" - Apply this value based on ECC customer number when it has group key. Repeat based on each Customer. Map the ECC customer to S4 Hana BP Number. 

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)



"Business Partner" - Apply this value based on Salesforce Prospect( SLV10_Acc_Id__c/X_18D_Account_ID_C) when it has Corporate Group. Repeat based on each Prospect. Map the Salesforce Account (Prospect) to S4 Hana BP Number. 


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_NPARNODE

Hierarchy Parent Node


(To determine "Parent ID" in the upload template)

Rule - There are 3 scenario based on the Type in the upload template.

When it is "Root" - Leave it blank


When it is "Node" - Default value "CUST_HIER "


When it is "Business Partner" - Map KNA1-KONZS for ECC customer; ParentId /PRS_Code_Parent_c( Corporate Group) for Salesforce Prospect


*03/Nov/2025 Update

iCare has the CG PRS code, which can be used to map the corporate group directly. but CoreCRM doesn't have it, so will need to use the parent account ID to find the PRS ID in the same file. 


8



S4 Hana
Type"Type" field from Upload template

There are 3 drop-downs based on the Type in the upload template. 

"Root" - Repeat once only in the first row
"Node" - Use it when it is for Group Key/Corporate Group, 
"Business Partner" - Use it for Child customer Prospect












Transformation Mapping

Mapping Table NameMapping Table Description
MAP_KUNNRECC customer /SF Prospect vs S4 Hana BP number mapping






Transformation Dependencies

List the steps that need to occur before transformation can commence
Item #Step DescriptionTeam Responsible
1Source Data Integrity
- Ensure extracted data is complete, accurate, and consistent.
- Validate that data types and formats align with transformation requirements.
Syniti 
2Referential Integrity
- Ensure dependent records are transformed together or in advance
Syniti 
3Transformation Logic and Mapping
- Define data mapping rules between source and target schemas.
Data Team
4Performance and Scalability Considerations
- Optimize transformation processes for large datasets.
- Ensure system resources can handle transformation workloads
Syniti 
5Logging and Error Handling
- Maintain detailed logs of transformation activities.
- Define error-handling procedures for failed transformations
Syniti 


Pre-Load Validation

Project Team

Completeness

TaskAction
Compare Data Counts
  1. Verify row counts between source and target databases.
  2. Identify missing or duplicated records.


Validate the mandatory fieldsValidate there is value for all the mandatory fields
Validate Primary Keys and Unique Constraints
  1. Check for duplicate or missing primary key values, i.e., if there is same combination of Parent/Child Business Partner.
  2. Ensure unique constraints are maintained.


Test Referential IntegrityConfirm dependent records exist in related tables, such as the BP Customer, Prospect, and Corporate Group in S4 Hana.

Accuracy

TaskAction
Validate the transformationValidate the fields which require transformation have the value after transformation instead of the original field value
Check Data Consistency
  1. Compare field values across systems
  2. Validate data formats and structures



Business

 The following pre-load validations will be performed by the business. 

Completeness

TaskAction
Compare Data Counts
  1. Verify row counts between source and target databases.
  2. Identify missing or duplicated records.


Review populated templates for missing or incorrect valuesUse checklists to verify completeness and correctness before submission



Accuracy

TaskAction
Check Data Consistency
  1. Compare field values across systems
  2. Validate data formats and structures





Load

The load process includes:

  1. Execute the automated data load into target system using load tool or product the load file if the load must be done manually
  2. 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 DescriptionTeam Responsible
1Confirm readiness of final approved data sets for each ECC source system WP2 and PF2 and Salesforce systemBusiness / Functional Team
2Validate transformation rules and mappings in Syniti toolData Team (L2C-Data)
3Generate target-ready load files based on S4 Hana condition table formatData Team (Syniti)
4Review and approve load files before executionBusiness / Functional Team
5Execute the Fiori App Manage Global Hierarchies, the import option in the S4 Hana system Data Load Team
6Monitor load progress and capture load statistics (records loaded, errors, duplicates, etc.)Data Team (Syniti) / Technical Team
7Extract loaded data from S4 Hana for post-load validationData Team (Syniti)
8Perform post-load data validation (compare target data with source/approved files) for all loaded customer hierarchy informationData Team (L2C-Data)
9Log and resolve any data load errors or mismatches identified during validationData Team (L2C-Data) + Functional Team
10Obtain business sign-off on successful load and validationBusiness Team
11Archive load logs, error reports, and validation results for audit/complianceData 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.

Configuration

Item #Configuration Item
1Define the Hierarchy ID in Fiori App 'Manage Global Hierarchies'




Conversion Objects

Object #Preceding Object Conversion Approach
3007Business Partners - General (Role 000000)
3009Business Partners - Prospect (BUP002)


Error Handling

Error TypeError DescriptionAction Taken
Data ErrorThe Business partner is not definedValidate the BP relevancy rule and maintain the BP if it is in migration scope







Post-Load Validation

Project Team

The following post-load validations will be performed by the Project Team.

Completeness

TaskAction
Perform Source-to-Target Comparisons

Validate that migrated data matches source records count.






Accuracy

TaskAction
Conduct Post-Migration Reconciliation

Generate reports comparing pre- and post-migration data, compare the fields value are identical.

Perform Manual TestingRun Fiori App Manage Global Hierarchies, and perform manual spot-checks for additional assurance.



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

TaskAction
Perform Source-to-Target Comparisons

Validate that migrated data matches source records count.

Conduct Post-Migration ReconciliationGo through post-load validation reports comparing pre- and post-migration data.



Accuracy

TaskAction
Perform Manual TestingRun Fiori App Manage Global Hierarchies, and perform 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.
  • The Corporate Group will not be defined as Business Partner, which will be defined as Node only in the Manage Global Hierarchies.


See also

Change log

Version Published Changed By Comment
CURRENT (v. 31) Mar 12, 2026 14:42 RUAN-ext, Eric * 20260312 update. include Region/Leading GBU and the blank group key field
v. 30 Feb 22, 2026 13:42 RUAN-ext, Eric *20260222 remove CUI
v. 29 Nov 24, 2025 14:52 RUAN-ext, Eric
v. 28 Nov 03, 2025 07:56 RUAN-ext, Eric
v. 27 Oct 08, 2025 11:44 RUAN-ext, Eric
v. 26 Oct 06, 2025 14:29 RUAN-ext, Eric
v. 25 Oct 06, 2025 11:50 RUAN-ext, Eric
v. 24 Oct 06, 2025 09:28 RUAN-ext, Eric
v. 23 Oct 06, 2025 09:07 RUAN-ext, Eric
v. 22 Oct 06, 2025 08:36 RUAN-ext, Eric

Go to Page History

Workflow history

Title Last Updated By Updated State Status  
CNV-3005 Customer Hierarchy RUAN-ext, Eric Mar 12, 2026 14:42   Approved