| 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 | Materials & Characteristics to Values assignment This will include Non-Survivor Duplicates of the Deduplicate process (covering Materials and Services), as well as the BAAN data in the material Classification data on WP2. | Materials: 260,000 ** ** This will change based on the Material Deduplication Process | S4H | 2 Million |
2018 Materials - Characteristics of Class Type 001 → 2017 Materials - 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 |
| 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 | Syniti Report Required |
|---|---|---|---|---|---|---|
| 1 | High | A Load File needs to be generated to be uploaded into the DCT Rules for Materials & Characteristics to Values assignment (DCT.AUSP). This file will contain the non-survivor duplicate Material/Service Numbers and Descriptions as well as the BAAN Numbers and Descriptions that now nee to go into the Characteristics of the Survivor material. See row 1219 in Conversion Specification - Validation Reports. | See DCT.AUSP | See DCT.AUSP | WP2 | Yes |
| ||||||
| 3 | Medium | Invalid Characteristic Values in the AUSP_* DCTs. | Only Characteristic Values as per S4H.CAWN-ATINN and S4H.CAWN-ATWRT. A Blank Value in the is allowed even if it is not in S4H.CAWN-ATWRT. | List of records that have invalid Values (ATWRT). | DCT.AUSP_* | Yes |
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) |
1 | KLART | Class Type = '001' | Upfront Automated | ||
Not Applicable
The source for assigning Materials to Classes is a File that will be uploaded into the DCT (see below in the DCT section for more details) and is based on a mapping of Material Type to Class.
For assigning Materials & Characteristics to Values, the source is a DCT.
| 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 Materials & Characteristics to Values assignment for all S4H Material Types Except ZDIR (DCT.AUSP_MTART):
| Field Name | Field Description | Rule | Tool Tip | zComment | zDelete |
|---|---|---|---|---|---|
| OBJEK | Material Number | Mandatory & read-only. | The Legacy Material Number will be used to identify the corresponding Target Material Number. | ||
| CLASS | Class Name | Mandatory & read-only. This will be pre-populated 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 & read-only. This will be pre-populated based on DCT.KSML-ATNAM (CNV_2018) WHERE DCT.KSML-CLASS = DCT.AUSP_MTART-CLASS. The following Characteristics must be excluded from the dropdown because they will be migrated separately: Z_SY_MAT_OLD_PART_NUMBER and Z_SY_MAT_OLD_PART_DESCRIPTION. | Unique technical name identifying the characteristic (e.g. LENGTH, COLOR). | ||
| ATWRT | Value | Blank is allowed. | List of permissible predefined characteristic values (e.g. RED, BLUE, GREEN). |
DCT Rules for Materials & Characteristics to Values assignment for S4H Material Type ZDIR (DCT.AUSP_ZDIR)**:
| Field Name | Field Description | Rule | Tool Tip | zComment | zDelete |
|---|---|---|---|---|---|
| MTART | Material Type | Default to 'ZDIR'. | Proposed Material Type. | ||
| OBJEK | Material Number | Mandatory & read-only. This will be pre-populated based on Material_XREF-AS_IS_SURVIVOR_MATNR (I am assuming this also holds the unique materials that had no duplicates) from PF2.MARA-MATNR and WP2.MARA-MATNR | This is the Material that has been selected from a group of duplicates to be migrated to S4H (The Survivor) as well as the unique materials that had no duplicates. The Legacy Material Number will be used to identify the corresponding Target Material Number. | ||
| CLASS | Class Name | Mandatory & read-only. This will be pre-populated based on DCT.KSSK-CLASS = ZSY_MFG_CLASS. | Name used to uniquely identify a class within a class type. | ||
| KLART | Class Type | Read-only. Default to "001". | |||
| ATNAM | Characteristic Name | Mandatory & read-only. This will be pre-populated based on DCT.KSML-ATNAM (CNV_2018) WHERE DCT.KSML-CLASS = DCT.AUSP_ZDIR-CLASS. The following Characteristics must be excluded from the dropdown because they will be migrated separately: Z_SY_MAT_OLD_PART_NUMBER and Z_SY_MAT_OLD_PART_DESCRIPTION. | Unique technical name identifying the characteristic (e.g. LENGTH, COLOR). | ||
| ATWRT | Value | Blank is allowed. | List of permissible predefined characteristic values (e.g. RED, BLUE, GREEN). |
** A Load File must be generated to load data into the DCT along with to be verified by the users. The users will also add other data into the DCT. The below is a guide only.
/* WP2 Z_CM_MAT Select Statement */
/* This data will come from WP2.AUSP, the Class Z_CM_MAT and from the Characteristics that were used to create the S4H Characteristics as per CNV-2018, i.e. in the mapping file AS-IS to TO-BE Characteristic Name Mapping, (called AS_IS_TO_BE_ATNAM_MAP below). This will NOT include the BAAN Number and Description because this is done in the Transformation section. */
SELECT mx.AS_IS_SURVIVOR_MATNR AS OBJEK, 'ZSY_MFG_CLASS' AS CLASS, am.TO_BE_ATNAM AS ATNAM, au.ATWRT
FROM WP2.AUSP AS au
INNER JOIN Material_XREF AS mx ON au.OBJEK = mx.AS_IS_SURVIVOR_MATNR
INNER JOIN Material_Type_XREF AS mtx ON au.OBJEK = mtx.AS_IS_MATNR AND mtx.TO_BE_MTART = 'ZDIR'
INNER JOIN WP2.CABN AS ca ON au.ATINN = ca.ATINN
INNER JOIN AS_IS_TO_BE_ATNAM_MAP AS am ON ca.ATNAM = am.AS_IS_ATNAM AND am.AS_IS_ATNAM NOT IN('Z_CM_MAT_OLD_PART_NUMBER','Z_SY_MAT_OLD_PART_DESCRIPTION')
WHERE au.KLART = '001'
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 |
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 ADMM 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 ADMM.
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 | 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 |
|---|---|---|---|---|---|---|---|---|---|
1 | S4H | MARA | MATNR | Material Number | S4H | KSSK | OBJEK | Key of Object to be Classified | WHERE DCT.KSSK-MTART = S4H.MARA-MTART |
2 | S4H | KSSK | MAFID | Indicator: Object/Class | Default to "O" | ||||
3 | S4H | KSSK | KLART | Class Type | Default to "001" | ||||
4 | DCT | KSSK | CLASS | Class Name | S4H | KSSK | CLINT | Internal Class Number | Copy S4H.KLAH-CLINT WHERE DCT.KSSK-CLASS = S4H.KLAH-CLASS |
5 | S4H | KSSK | STDCL | Indicator: Standard Class | Default to "X" | ||||
6 | S4H | KSSK | STATU | Classification Status | Default to "1" | ||||
7 | S4H | KSSK | ZAEHL | Sort Position | Default to 10 |
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 |
|---|---|---|---|---|---|---|---|---|---|
1 | DCT.AUSP_MTART, DCT.AUST_ZDIR & "Old Material Load File" | AUSP | OBJEK | Material Number | S4H | AUSP | OBJEK | Key of Object to be Classified | Copy Material_XREF-[TO-BE_MATNR] WHERE Material_XREF-[AS-IS_SURVIVOR_MATNR] = DCT.AUSP-OBJEK |
2 | DCT.AUSP_MTART, DCT.AUST_ZDIR & "Old Material Load File" | AUSP | ATNAM | Characteristic Name | S4H | AUSP | ATINN | Internal Characteristic | Copy S4H.CABN-ATINN WHERE DCT.AUSP-ATNAM = S4H.CABN-ATNAM. |
3 | S4H | AUSP | ATZHL | Characteristic Value Counter | For Z_SY_MAT_OLD_PART_NUMBER and Z_SY_MAT_OLD_PART_DESCRIPTION use the Counter as described below in ** else Default to 1 | ||||
4 | S4H | AUSP | MAFID | Indicator: Object/Class | Default to "O" | ||||
5 | S4H | AUSP | KLART | Class Type | Default to "001" | ||||
6 | DCT.AUSP_MTART, DCT.AUST_ZDIR & "Old Material Load File" | AUSP | ATWRT | Value | S4H | AUSP | ATWRT | Characteristic Value | WHERE (Material_XREF-[AS-IS_SURVIVOR_MATNR] = DCT.AUSP-OBJEK) AND (S4H.MARA-MATNR = Material_XREF-[TO-BE_MATNR]) |
/* Old Material Load File */
/* During the deduplication process duplicate materials/services were identified. The non-survivor duplicate Material/Service Number and Description must go into the Characteristics of the Survivor material. Please remove the leading zeros from the duplicate Material/Service Number that goes into the Values field ATWRT. */
SELECT AS_IS_SURVIVOR_MATNR as OBJEK, 'Z_SY_MAT_OLD_PART_NUMBER' AS ATNAM, AS_IS_NON_SURVIVOR_DUP_MATNR as ATWRT CONCAT(COUNTER_MATNR, '-', AS_IS_NON_SURVIVOR_DUP_MATNR) as ATWRT
FROM Material_XREF
WHERE AS_IS_NON_SURVIVOR_DUP_MATNR IS NOT NULL
UNION
/* Following from above, this is for the Material/Service Description. */
SELECT mx.AS_IS_SURVIVOR_MATNR as OBJEK, 'Z_SY_MAT_OLD_PART_DESCRIPTION' AS ATNAM, mk.MAKTX as ATWRT CONCAT(COUNTER_MAKTX, '-'. mk.MAKTX) as ATWRT
FROM Material_XREF AS mx
INNER JOIN ECC.MATK as mk on mx.AS_IS_NON_SURVIVOR_DUP_MATNR = mk.MATNR AND mk.SPRAS = 'E'
WHERE AS_IS_NON_SURVIVOR_DUP_MATNR IS NOT NULL
UNION
/* Following from above we now need to get the BAAN Number for the Survivor of the Deduplication process. */
SELECT mx.AS_IS_SURVIVOR_MATNR AS OBJEK, 'Z_SY_MAT_OLD_PART_NUMBER' as ATNAM, au.ATWRT CONCAT(COUNTER_MATNR, '-'. au.ATWRT) as ATWRT
FROM WP2.AUSP AS au
INNER JOIN Material_XREF AS mx ON au.OBJEK = (mx.AS_IS_SURVIVOR_MATNR OR mx.AS_IS_NON_SURVIVOR_DUP_MATNR)
WHERE au.KLART = '001' AND au.ATINN = '0000009944'
UNION
/* Following from above we now need to get the BAAN Description for the Survivor of the Deduplication process. */
SELECT mx.AS_IS_SURVIVOR_MATNR AS OBJEK, 'Z_SY_MAT_OLD_PART_DESCRIPTION' as ATNAM, au.ATWRT CONCAT(COUNTER_MAKTX, '-'. au.ATWRT) as ATWRT
FROM WP2.AUSP AS au
INNER JOIN Material_XREF AS mx ON au.OBJEK = (mx.AS_IS_SURVIVOR_MATNR OR mx.AS_IS_NON_SURVIVOR_DUP_MATNR)
WHERE au.KLART = '001' AND au.ATINN = '0000009943'
/*
New requirement in CR0320.
Following from the above the Old Material Number (MARA-BISMT) of the Survivor as well as its Duplicates must go into the Characteristics of the Survivor. Note the following:
1) For all non-ZDIR To-Be Material Types this needs to be done.
2) For non-Composites in ZDIR this needs to be done.
3) For Composites in ZDIR the majority, but probably not all, have BISMT and the Description in Characteristics. You therefore need to only do this where it is missing.
4) Use the Material's current description (MAKT-MAKTX) for the Old Part Description characteristic. This is what was done for Composites when the BAAN Material Number was originally put into the characteristics.
5) If the value in BISMT starts with either 'PF2' or 'WP2' then do not add the number and description into characteristics. This material was copied from 1 system into the other, so we will have the characteristics information from the survivor material in the original system.
6) If the value in BISMT has leading zeros, please remove them.
*/
Transformation Mapping
Use the exact name and reference this section in the “Transformation rules” above
Mapping Table Name | Mapping Table Description | Link |
|---|---|---|
Material | XREF |
Transformation Dependencies
List the steps that need to occur before transformation can commence
Item # | Step Description | Team Responsible |
|---|---|---|
1 | Data has been extracted from sources systems | Syniti |
2 | Configuration should be completed for Classes (object 2017) and Characteristics (objects 2018). | S2P Data 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.