| Status | |
|---|---|
| Owner | |
| Stakeholders | The business stakeholders involved in making, reviewing, and endorsing this decision. Type @ to mention people by name |
The purpose of this document is to define the conversion approach to upload Materials - Class Type 001 into S/4 HANA as part of the Material Data Migration.
Link to MDS: DD-FUN-050 Master Data Standard_2017-Material master - Class Type 001
The scope of this document covers the approach for converting active Class data linked to Class Type 001 from Legacy Source Systems into S/4HANA following the Material Master Data Design Standard. The Business and S2P Functional Team have decided not to use legacy Classes, but instead to create 4 new Classes linked to Class Type 001. (It is possible that this number may change in the future.)
The 4 new Classes are documented in the MDS on the "Governance" sheet in the "Field Governance Rules" section, in rule #1, Class, as part of the Rule Description.
Click here to go to the Conversion Spec for 2019 to see the full set of relevancy rules for Materials.
List of source systems and approximate number of records
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
| PF2 & WP2 | 4 new To-Be Classes linked to Class Type 001 has been defined by the Business and the S2P Functional Team. The new Classes will be captured in a DCT. Service Master records that will become Materials in the target are out of scope. See the mail from Simran. Service Master Data Used in 2017 CLASS TYPE 001 in S4H.pdf | WP2: 22,838 (3,001 **) PF2: 5,167 (6 **) ** Linked to relevant materials for info purposes | S4H | 28,005 (3,007 **) ** Linked to relevant materials for info purposes |
Jira Task to track the Classes that will be added to CLASS TYPE 001:
| Legacy System | Total Relevant Materials | Relevant Materials assigned to Classes |
|---|---|---|
| PF2 | 104,484 | 4,224 |
| WP2 | 72,378 | 25,866 |
Top 30 Classes by Legacy system
| Legacy System | CLASS | Material Count |
|---|---|---|
| PF2 | Z_MAT_PL_ARCH | 3,202 |
| SPARE_PARTS_TC | 989 | |
| Z_ORTEMS | 6 | |
| DANGEROUS_GOOD | 7 | |
| Z_SAD_MM | 7 | |
| Z68-42169 | 1 | |
| WP2 | Z_CM_MAT | 6,043 |
| LIP0020148 | 3,447 | |
| M001 | 2,898 | |
| Z_MAT_PL_ARCH | 2,088 | |
| MATERIAL_SEGMENTS | 935 | |
| LIP0034040 | 842 | |
| Z_MAT_ADDITIONAL | 456 | |
| Z_MAT_CRIT | 418 | |
| LIP0008485 | 343 | |
| CRIT_IND | 333 | |
| LIP0007716 | 226 | |
| LIP0031355 | 210 | |
| LIP0032812 | 120 | |
| LIP0034030 | 94 | |
| LIP0032484 | 82 | |
| LIP0008484 | 81 | |
| LIP0032488 | 78 | |
| LIP0031345 | 69 | |
| LIP0034571 | 69 | |
| LIP0008411 | 68 | |
| LIP0034568 | 61 | |
| LIP0008367 | 60 | |
| LIP0034050 | 60 | |
| M002_H_05_AH | 57 | |
| LIP0008258 | 54 | |
| LIP0034000 | 54 | |
| M002_A_08_AT | 52 | |
| LIP0031324 | 51 | |
| LIP0020168 | 50 | |
| LIP0008394 | 46 |
Material (Characteristics of CLASS TYPE -001) (2018) → Material - Class Type 001 (2017).
Multi language is supported for Materials - Class Type 001. Login via a different language will show the description displayed in the logon language if the language key is maintained.
The following languages are allowed:
Not Applicable
Not Applicable
Not Applicable
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 | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|
| KLAH | CLINT | Internal Class Number | NUMC | 10 | Required |
| KLAH | KLART | Class Type | CHAR | 3 | Required |
| KLAH | CLASS | Class | CHAR | 18 | Required |
| KLAH | STATU | Status | CHAR | 1 | System |
| KLAH | LOCLA | Local class | CHAR | 1 | Conditional |
| KLAH | VONDT | Valid from | DATS | 8 | System |
| KLAH | BISDT | Valid to | DATS | 8 | System |
| KLAH | PRAUS | Same classification | CHAR | 1 | System |
| KLAH | ANAME | Created By | CHAR | 12 | System |
| KLAH | ADATU | Created On | DATS | 8 | System |
| KLAH | ANZUO | No of Assignments | CHAR | 1 | System |
| SWOR | CLINT | Internal Class Number | NUMC | 10 | Required |
| SWOR | SPRAS | Language Key | LANG | 1 | Required |
| SWOR | KLPOS | Item Number | NUMC | 2 | Required |
| SWOR | KSCHL | Class Description | CHAR | 40 | Required |
| SWOR | KSCHG | Keyword (Upper Case for Matchcode) | CHAR | 40 | Required |
| Table | Field | Field Description | Data Type | Length | Requirement |
| KSML | CLINT | Internal Class Number | NUMC | 10 | Required |
| KSML | POSNR | Item Number | NUMC | 3 | Required |
| KSML | IMERK | Internal Characteristic | NUMC | 10 | Required |
| KSML | KLART | Class Type | CHAR | 3 | Required |
All data cleansing should take place in the data source system as defined in this document, unless system limitations prevent it.
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System | Syniti Report Required |
|---|---|---|---|---|---|---|
| Not Applicable |
The high-level process for Classes that will be migrated are represented by the diagram below:

The high level process for Classes that will be captured in a DCT are represented by the diagram below:

Field Governance Rules | |||||
These governance rules apply to the individual fields within the data record. | |||||
Rule # | Field Label | Rule Description | Validation Method | Conditional Logic | Cleansing Rule (Also see Data Cleansing section above) |
1 | KLAH-KLART | Only records with CLASS TYPE 001 are being migrated. | Upfront Automated | KLART = '001' | |
3 | SWOR-SPRAS | The following language are allowed: DE, EN, ES, FR, IT, PT, ZH. | Upfront Automated | No Class Description in Allowed Languages | |
Class data for CLASS TYPE 001 that are identified by data entered into a DCT and marked in the DCT for migration. (The DCT also contains data for new Classes that don't exist in the Source Systems.) No data for Service Master records that will become Materials in the target will be extracted.
| Req # | Requirement Description | Team Responsible |
|---|---|---|
1 | Extract data from source system based on records in the DCT that are marked for migration. | Syniti |
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
| Not Applicable |
DCT Rules for Class:
| Field | Field Description | Rule |
|---|---|---|
| KLART | Class Type | Read-only field. Default to '001'. |
| CLASS | Class | |
| STATU | Status | Default to '1'. |
| LOCLA | Local class | Default to Blank. |
| VONDT | Valid from | Default to Today. |
| BISDT | Valid to | Default to '99991231'. |
| PRAUS | Same classification | Default to Blank. |
| SPRAS | Language Key | Default to 'EN'. All Classes must have a description in at least 'EN'. Allow the Description to be captured in multiple languages, with the following languages allowed: DE, EN, ES, FR, IT, PT, ZH. Convert to internal code. |
| KLPOS | Item Number | Read-only field. Counter. |
| KSCHL | Class Description |
|
| KSCHG | Keyword (Upper Case for Matchcode) | Read-only field. Upper case version of KSCHL. |
DCT Rules for linking Classes to Characteristics (DCT.KSML)**:
| Field | Field Description | Rule | Tool Tip | zComment | zDelete |
|---|---|---|---|---|---|
| CLASS | Class Name | Mandatory. Use drop-down based on S4H.KLAH-CLASS. | Name used to uniquely identify a class within a class type. | ||
| ATNAM | Characteristic Name | Mandatory. Use drop-down based on S4H.CABN-ATNAM. | Unique technical name identifying the characteristic (e.g. LENGTH, COLOR). |
** Load File: 2023-Class to Characteristic Load File.xlsx
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | The list of Classes will be provided by the Functional Team in the Configuration Document based on the To-Be design. | S2P Functional Team |
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 | Verify that data is extracted from the DCT. | Syniti / S2P Data Team |
2 | Verify that data is extracted from both source systems. | Syniti / S2P Data Team |
3 | Transformation jobs are ready for execution. | Syniti |
4 | Review and Validate Error and Preload Reports | Syniti |
5 | Generate Load Files | Syniti |
Transformation Rules
Transformation Rules for Classes:
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| 1 | DCT | KLAH | CLINT | Internal Class Number | S4H | KLAH | CLINT | Internal Class Number | System generated |
| 2 | DCT | KLAH | KLART | Class Type | S4H | KLAH | KLART | Class Type | Copy As-Is (will always be '001') |
| 3 | DCT | KLAH | CLASS | Class | S4H | KLAH | CLASS | Class | Copy As-Is |
| 4 | DCT | KLAH | STATU | Status | S4H | KLAH | STATU | Status | Copy As-Is |
| 5 | DCT | KLAH | LOCLA | Local class | S4H | KLAH | LOCLA | Local class | Copy As-Is |
| 6 | DCT | KLAH | VONDT | Valid from | S4H | KLAH | VONDT | Valid from | Copy As-Is |
| 7 | DCT | KLAH | BISDT | Valid to | S4H | KLAH | BISDT | Valid to | Copy As-Is |
| 8 | DCT | KLAH | PRAUS | Same classification | S4H | KLAH | PRAUS | Same classification | Copy As-Is |
| 9 | DCT | KLAH | ANAME | Created By | S4H | KLAH | ANAME | Created By | System generated |
| 10 | DCT | KLAH | ADATU | Created On | S4H | KLAH | ADATU | Created On | System generated |
| 11 | DCT | KLAH | ANZUO | No of Assignments | S4H | KLAH | ANZUO | No of Assignments | System generated |
| 12 | DCT | SWOR | CLINT | Internal Class Number | S4H | SWOR | CLINT | Internal Class Number | Copy from target KLAH-CLINT that was generated in Rule 1 |
| 13 | DCT | SWOR | SPRAS | Language Key | S4H | SWOR | SPRAS | Language Key | Copy As-Is |
| 14 | DCT | SWOR | KLPOS | Item Number | S4H | SWOR | KLPOS | Item Number | Copy As-Is |
| 15 | DCT | SWOR | KSCHL | Class Description | S4H | SWOR | KSCHL | Class Description | Copy As-Is |
| 16 | DCT | SWOR | KSCHG | Keyword (Upper Case for Matchcode) | S4H | SWOR | KSCHG | Keyword (Upper Case for Matchcode) | Copy As-Is (Upper case version of KSCHL) |
Transformation Rules for linking Classes to Characteristics:
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
1 | DCT | KSML | CLASS | Class Name | S4H | KSML | CLINT | Internal Class Number | Copy S4H.KLAH-CLINT WHERE DCT.KSML-CLASS = S4H.KLAH-CLASS |
| 2 | S4H | KSML | POSNR | Item Number | Integer counter starting at 1 and incrementing by 1 for each CLINT. When CLINT changes it starts from 1 again. | ||||
| 3 | DCT | KSML | ATNAM | Characteristic Name | S4H | KSML | IMERK | Internal Characteristic | Copy S4H.CABN-ATINN WHERE DCT.KSML-ATNAM = S4H.CABN-ATNAM |
| 4 | S4H | KSML | KLART | Class Type | Default to "001" |
| Mapping Table Name | Mapping Table Description | Link |
|---|---|---|
| Not Applicable |
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Data has been extracted from sources systems | Syniti |
2 | Configuration should be completed - (Config documents should be complete) | S2P Functional Team |
3 | Value mapping and XREF tables are ready | Syniti & S2P Data Team |
4 | Characteristics for Class Type 001 have been loaded into S4H | Syniti |
| Task | Action |
|---|---|
Verify Record Count | The number of records presented after relevancy checks and validation needs to be correct between the DCT and the preload tables in Syniti Migrate. |
Completeness check | All fields required as per mapping template rules must be completed. Syniti Migrate standard validity reports checking each field must be built. |
| Task | Action |
|---|---|
Conversion Accuracy | Verify that the data staged in the preload tables are correct in terms of the mapping rules. This will be done via Syniti Migrate standard reports. |
| Task | Action |
|---|---|
Count and Completeness check | All fields required as per mapping template rules must be completed. Syniti Migrate standard validity reports checking each field must be built. |
| 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 Migrate reports/SAP reports. |
The load process includes:
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Verify data extracted | Data Specialist/Functional - S2P |
2 | Verify data combined from both source systems | Data Specialist/Functional - S2P |
3 | Stage data for transformations | Syniti |
4 | Run transforms | Syniti |
5 | Execute pre-load report | Syniti |
6 | Validate preload report - release | Data Specialist/Functional - S2P |
7 | Prepare and simulate | Syniti |
8 | Pre-load verification and approval to load | Functional/Data Owner - S2P |
9 | Load to S4 | Syniti |
10 | Complete Jira steps, Volumes and Timings | All - where applicable |
11 | Execute post-load report | Syniti |
12 | Post-load report verification/validation | Data Specialist/Functional/Data Owner - S2P |
13 | Object load completion approval | Data Owner - S2P |
Load Phase and Dependencies
Identify the phase as to “when” the load for this object will occur. <Pre-Cutover, Cutover, Post Cutover> and list the steps that need to occur before the load can commence
List the Configurations required before loading can commence
| Item # | Configuration Item |
|---|---|
1 | TCLA-Class Types |
2 | TCLG-Class Groups |
3 | TCLU-Class Status |
| Object # | Preceding Object Conversion Approach |
|---|---|
| 1 | Material (Characteristics of CLASS TYPE -001) (2018) |
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 | Incorrect Language | Fix incorrect data |
Data | Duplicates | Fix incorrect data |
Load | Authorization errors | Apply for the applicable authorization permission and retry |
Load | Technical load failures - If using MC - Simulation errors, etc | Investigate error and rectify. Retry simulation and/or load |
Step Description | Team Responsible |
Execute post-load report | Syniti |
Post-load report verification/validation | Data Specialist/Functional/Data Owner - S2P |
Object load completion approval | Data Owner - S2P |
| Task | Action |
|---|---|
Verify count | The number of records presented in the post-load needs to be compared to the preload – Syniti report |
Field by field check | Compare source data staged in the preload tables to target data in the load tables. |
| Task | Action |
|---|---|
Verify Logs | Check if there is data that failed to load and perform the necessary actions (e.g. register as post load issue or attempt to load the record again, etc.). |
| 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. |
| Task | Action |
|---|---|
Conversion Accuracy | Verify that the data in S/4 HANA was loaded correctly via Syniti Migrate post-load reports. |
Any additional key assumptions.
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.