| 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 - Classification and Characteristic Assignment in S/4 HANA as part of the Material Data Migration.
Link to MDS: DD-FUN-050 Master Data Standard_2023-Materials - Classification and Characteristic Assignment
Summarise how the data is currently utilized and set up in the legacy system/s and how object is intended to be represented in S/4, and any other relevant information
The scope of this document covers the approach for converting active Values data, linked to Materials and Characteristics of Class Type 001, from Legacy Source Systems into S/4HANA following the Material Master Data Design Standard.
This object is migrated after Material Basic Data, therefore only materials in scope for the object "2019 - Materials Basic Data View" are in scope for this object. Click here to go to the Conversion Spec for 2019 to see the full set of relevancy rules.
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
| DCT | Linking Materials (2019 - Materials Basic Data View) to Classes (2017 Material - Class Type 001) | Materials: 260,000 ** ** As per Material relevancy criteria | S4H | 197,141 ** ** This will change based on the Material Deduplication Process |
| DCT | Linking Classes to Characteristics (2018 Materials - Characteristics of Class Type 001) | Classes: 4 Characteristics: 43 | S4H | 53 |
| DCT | Materials & Characteristics to Values assignment | Materials: 260,000 ** ** This will change based on the Material Deduplication Process | S4H | 2 Million |
| S4H and PF2 & WP2 | Materials & Characteristics to Values assignment specifically for: Characteristics: Z_SY_MAT_OLD_PART_NUMBER & Z_SY_MAT_OLD_PART_DESCRIPTION Values: MARA-MATNR & MAKT-MAKTX, as well as the BAAN info. | Materials: 260,000 ** ** This will change based on the Material Deduplication Process | S4H | 400,000 ** ** This will change based on the Material Deduplication Process |
2017 Materials - Class Type 001 → 2018 Materials - Characteristics of Class Type 001 → 2023 Materials - Classification and Characteristic Assignment.
2019 Materials - Basic Data View ↗
Not Applicable
Not Applicable
Not Applicable
Specify any special requirements or considerations that may impact the data conversion process based on specific locations, regulatory compliance or system limitations. Clearly outline any regional or localization requirements such as country-specific data formats, legal reporting obligations or industry standards that must be adhered to (e.g., localization rules for countries like China).
If the data conversion involves third-party systems or external data sources, such as Icertis, describe any additional requirements related to data mapping, transformation logic, validation rules or security measures that must be followed.
Not Applicable
With Functional input, document the technical design of the target fields that are in the scope of this document.
As per MDS. This is for reference, see below for the actual requirement.
| Table | Field | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|
| MARA | MATNR | Material Number | CHAR | 18 | Required |
| KLAH | KLART | Class type | CHAR | 3 | Required |
| KLAH | CLASS | Class | CHAR | 18 | Required |
| KSSK | STDCL | Indicator: Standard Class | CHAR | 1 | System |
| KSSK | STATU | Classification status | CHAR | 1 | System |
| KSSK | ZAEHL | Sort position | INT2 | 5 | System |
| CABNT | ATBEZ | Characteristic Description | CHAR | 30 | System |
| AUSP | ATWRT | Characteristic Value | - | - | Required |
The technical design of the target for this conversion approach.
| Table | Field | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|
| MARA | MATNR | Material Number | CHAR | 18 | Required |
| MARA | MTART | Material Type | CHAR | 4 | Required |
| Table | Field | Field Description | Data Type | Length | Requirement |
| KLAH | CLINT | Internal Class Number | NUMC | 10 | Required |
| KLAH | CLASS | Class Name | CHAR | 18 | Required |
| Table | Field | Field Description | Data Type | Length | Requirement |
| CABN | ATINN | Internal Characteristic | NUMC | 10 | Required |
| CABN | ATNAM | Characteristic Name | CHAR | 30 | Required |
| Table | Field | Field Description | Data Type | Length | Requirement |
CAWN | ATINN | Internal characteristic | NUMC | 10 | Required |
CAWN | ATZHL | Int Counter | NUMC | 4 | Required |
CAWN | ATWRT | Value | CHAR | 70 | Required |
CAWN | ATSTD | Default Value | CHAR | 1 | Conditional |
| Table | Field | Field Description | Data Type | Length | Requirement |
| KSSK | OBJEK | Key of Object to be Classified | CHAR | 90 | Required |
| KSSK | MAFID | Indicator: Object/Class | CHAR | 1 | Required |
| KSSK | KLART | Class Type | CHAR | 3 | Required |
| KSSK | CLINT | Internal Class Number | NUMC | 10 | Required |
| KSSK | STDCL | Indicator: Standard Class | CHAR | 1 | System |
| KSSK | STATU | Classification Status | CHAR | 1 | System |
| KSSK | ZAEHL | Sort Position | INT2 | 5 | System |
| 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 |
| Table | Field | Field Description | Data Type | Length | Requirement |
| AUSP | OBJEK | Key of Object to be Classified | CHAR | 90 | Required |
| AUSP | ATINN | Internal Characteristic | NUMC | 10 | Required |
| AUSP | ATZHL | Characteristic Value Counter | NUMC | 3 | Required |
| AUSP | MAFID | Indicator: Object/Class | CHAR | 1 | Required |
| AUSP | KLART | Class Type | CHAR | 3 | Required |
| AUSP | ATWRT | Characteristic Value | CHAR | 70 | Required |
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 |
|---|---|---|---|---|---|
| Not Applicable |
The high-level process, where there is no source data, is represented by the diagram below:

The high-level process for Materials, where the source is PF2 & WP2, is 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) |
Not Applicable | |||||
Not Applicable
The source for Classes to Characteristics is a Load-File into a DCT (see below in the DCT section for more details).
The source for Materials to Classes is a Load-File into a DCT (see below in the DCT section for more details) and is based on a mapping of Material Type to Class.
For Materials & Characteristics to Values, the source is a DCT.
The source for Materials & Characteristics to Values assignment specifically for Old Material Number and Description is PF2 & WP2
Where applicable above, the source for Materials is PF2 & WP2. This will be extracted by Syniti and the Relevancy criteria, as specified in object "2019 - Materials Basic Data View", applied to identify the records that are applicable for the Target load.
| Req # | Requirement Description | Team Responsible |
|---|---|---|
1 | Extract data from source system based on relevancy rules. | Syniti |
2 | Extract data from the DCTs. | Syniti |
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
| Not Applicable |
DCT Rules for linking Materials to Classes (DCT.KSSK)**:
| Field Name | Field Description | Rule | Tool Tip | zComment | zDelete |
|---|---|---|---|---|---|
| MTART | Material Type | Mandatory. Use drop-down based on S4H.T134. | Key that groups materials, e.g. raw materials, finished products or trading goods. | ||
| CLASS | Class Name | Mandatory. Use drop-down based on S4H.KLAH-CLASS. | Name used to uniquely identify a class within a class type. | ||
| KLART | Class Type | Read-only. Default to "001". |
**Load File: 2023-Material Type to Class Load File.xlsx
DCT Rules for linking Classes to Characteristics (DCT.KSML)**:
| Field Name | 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
DCT Rules for Materials & Characteristics to Values assignment (DCT.AUSP):
| Field Name | Field Description | Rule | Tool Tip | zComment | zDelete |
|---|---|---|---|---|---|
| OBJEK | Material Number | Mandatory. Based on PF2.MARA-MATNR and WP2.MARA-MATNR. | The Material Number will be used to identify the corresponding Target Material Number. | ||
| CLASS | Class Name | Mandatory. Use drop-down based on DCT.KSSK-CLASS. | Name used to uniquely identify a class within a class type. | ||
| KLART | Class Type | Read-only. Default to "001". | |||
| ATNAM | Characteristic Name | Mandatory. Use drop-down based on DCT.KSML-ATNAM WHERE DCT.KSML-CLASS = DCT.AUSP-CLASS. | Unique technical name identifying the characteristic (e.g. LENGTH, COLOR). | ||
| ATWRT | Value | Mandatory. ---------------------------------------------------------------------- Use drop-down based on S4H.CAWN-ATWRT (Value) and S4H.CAWNT-ATWTB (Value Description) WHERE DCT.AUSP-ATNAM = S4H.CABN.ATNAM and S4H.CABN-ATINN = S4H.CAWN.ATINN and S4H.CAWN.ATINN = S4H.CAWNT.ATINN and S4H.CAWNT-SPRAS='E'. | List of permissible predefined characteristic values (e.g. RED, BLUE, GREEN). |
List the steps that need to occur before extraction can commence
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Data relevancy and deduplication of legacy Material data must be completed. | Syniti & S2P Data Team |
| 2 | As-Is to To-Be Material Type Mapping must be complete | S2P Data 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 ADMM to make the data Target ready:
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Verify that Material data is extracted from both source systems. | Syniti / S2P Data Team |
2 | Verify that data has been loaded into the DCTs. | Syniti / S2P Data Team |
3 | Transformation jobs are ready for execution. | Syniti |
4 | Generate Load Files | Syniti |
Transformation Rules
Transformation Rules for linking Materials to Classes:
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
S4H | MARA | MATNR | Material Number | S4H | KSSK | OBJEK | Key of Object to be Classified | WHERE DCT.KSSK-MTART = S4H.MARA-MTART | |
| S4H | KSSK | MAFID | Indicator: Object/Class | Default to "O" | |||||
| S4H | KSSK | KLART | Class Type | Default to "001" | |||||
| DCT | KSSK | CLASS | Class Name | S4H | KSSK | CLINT | Internal Class Number | Copy S4H.KLAH-CLINT WHERE DCT.KSSK-CLASS = S4H.KLAH-CLASS | |
| S4H | KSSK | STDCL | Indicator: Standard Class | Default to "X" | |||||
| S4H | KSSK | STATU | Classification Status | Default to "1" | |||||
| S4H | KSSK | ZAEHL | Sort Position | Default to 10 |
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 |
|---|---|---|---|---|---|---|---|---|---|
DCT | KSML | CLASS | Class Name | S4H | KSML | CLINT | Internal Class Number | Copy S4H.KLAH-CLINT WHERE DCT.KSML-CLASS = S4H.KLAH-CLASS | |
| 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. | |||||
| DCT | KSML | ATNAM | Characteristic Name | S4H | KSML | IMERK | Internal Characteristic | Copy S4H.CABN-ATINN WHERE DCT.KSML-ATNAM = S4H.CABN-ATNAM | |
| S4H | KSML | KLART | Class Type | Default to "001" |
Transformation Rules for Materials & Characteristics to Values assignment:
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
DCT | AUSP | OBJEK | Material Number | S4H | AUSP | OBJEK | Key of Object to be Classified | Copy As-Is. | |
DCT | AUSP | ATNAM | Characteristic Name | S4H | AUSP | ATINN | Internal Characteristic | Copy S4H.CABN-ATINN WHERE DCT.AUSP-ATNAM = S4H.CABN-ATNAM. | |
| S4H | AUSP | ATZHL | Characteristic Value Counter | Default to 1 | |||||
| S4H | AUSP | MAFID | Indicator: Object/Class | Default to "O" | |||||
| S4H | AUSP | KLART | Class Type | Default to "001" | |||||
DCT | AUSP | ATWRT | Value | S4H | AUSP | ATWRT | Characteristic Value | WHERE S4H.MARA-MATNR = DCT.AUSP-OBJEK |
Transformation Rules for Materials & Characteristics to Values assignment for Old Material Number & Description:
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
S4H | MARA | MATNR | Material Number | S4H | AUSP | OBJEK | Key of Object to be Classified | Copy As-Is. | |
S4H | CABN | ATINN | Internal characteristic | S4H | AUSP | ATINN | Internal Characteristic | Copy S4H.CABN-ATINN WHERE S4H.CABN-ATNAM = Old Material Number: 'Z_SY_MAT_OLD_PART_NUMBER' Old Material Description: 'Z_SY_MAT_OLD_PART_DESCRIPTION' | |
| S4H | AUSP | ATZHL | Characteristic Value Counter | Default to 1 | |||||
| S4H | AUSP | MAFID | Indicator: Object/Class | Default to "O" | |||||
| S4H | AUSP | KLART | Class Type | Default to "001" | |||||
S4H and PF2 & WP2 | Material XREF & MAKT | MATNR & MAKTX | Material Number & Material Description | S4H | AUSP | ATWRT | Characteristic Value | Old Material Number: Copy "Material XREF"-"AS-IS MATNR" WHERE "Material XREF"-"TO-BE MATNR" = S4H.MARA-MATNR Old Material Description: Copy ECC.MATK-MAKTX WHERE "Material XREF"-"TO-BE MATNR" = S4H.MARA-MATNR and "Material XREF"-"AS-IS MATNR" = ECC.MATK-MATNR |
Transformation Rules for Materials & Characteristics to Values assignment for BAAN Material Number & Description Found in ECC Material Classification:
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
WP2 | AUSP | OBJEK | Material Number | S4H | AUSP | OBJEK | Key of Object to be Classified | Copy "Material XREF"-"TO-BE MATNR" WHERE "Material XREF"-"AS-IS MATNR" = AUSP-OBJEK | |
| S4H | AUSP | ATINN | Internal Characteristic | Copy S4H.CABN-ATINN WHERE S4H.CABN-ATNAM = Old Material Number: 'Z_SY_MAT_OLD_PART_NUMBER' Old Material Description: 'Z_SY_MAT_OLD_PART_DESCRIPTION' | |||||
| S4H | AUSP | ATZHL | Characteristic Value Counter | Default to 1 | |||||
| S4H | AUSP | MAFID | Indicator: Object/Class | Default to "O" | |||||
| S4H | AUSP | KLART | Class Type | Default to "001" | |||||
WP2 | AUSP | ATWRT | Characteristic Value | S4H | AUSP | ATWRT | Characteristic Value | Old Material Number: 0000009944 Old Material Number: |
| Mapping Table Name | Mapping Table Description | Link |
|---|---|---|
Material | XREF |
| 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 | Ensure DCT completeness | S2P Data Team |
| 4 | Value mapping and XREF tables are ready | Syniti & S2P Data Team |
| Task | Action |
|---|---|
Verify Record Count | The number of records presented after relevancy checks and validation, as well as the number of records in the DCT, needs to be correct compared to the staged data in Syniti ADMM. |
Completeness check | All fields required as per mapping template rules must be completed. Syniti ADMM standard validity reports checking each field in Syniti 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 ADMM standard reports.. |
Review Error Reports | Review and correct the errors. Achieve a zero-error record count as much as possible. Raise defects for data remediated and requiring a correction in the source data. |
| Task | Action |
|---|---|
Verify Record Count | Business should compare legacy record counts against the record count in the preload table. |
| 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 ADMM reports/SAP reports. |
The load process includes:
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Verify data extracted | Data Specialist/Functional - S2P |
2 | Stage data for transformations | Syniti |
3 | Run transforms | Syniti |
4 | Execute pre-load report | Syniti |
5 | Validate preload report - release | Data Specialist/Functional - S2P |
6 | Prepare and simulate | Syniti |
7 | Pre-load verification and approval to load | Functional/Data Owner - S2P |
8 | Load to S4 | Syniti |
9 | Complete Jira steps, Volumes and Timings | All - where applicable |
10 | Execute post-load report | Syniti |
11 | Post-load report verification/validation | Data Specialist/Functional/Data Owner - S2P |
12 | 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 | 2017 Materials - Class Type 001 |
| 2 | 2018 Materials - Characteristics of Class Type 001 |
| 3 | 2019 Materials - Basic Data View |
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 | Classes, Characteristics and Values not loaded into the Target System | Add Missing data |
Data | Source Material not linked to a Target Material in the XREF | 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 |
Config | Configuration is missing in the Target System | Missing config added in the Target System |
| 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. |
Field by field check | Perform random Field by Field checks by comparing source data staged in the preload tables to target data in the load tables. |
| Task | Action |
|---|---|
Conversion Accuracy | Verify that the data in S/4 HANA was loaded correctly via Syniti 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.