| Status | |
|---|---|
| Owner | |
| Stakeholders | WELENSKY-ext, Dave ERGUIZA-ext, Pinky LoveVILARES, inesLEIGHTON-ext, Dean Betty Yue; Aurelia Stefanescu ; [Syniti POD Lead]; [Syniti Consultant] |
The purpose of this document is to define the conversion approach to create Catalog Code Groups and Codes in S/4 HANA.
Catalog Code Groups and Codes are part of the classification system. They help categorize and standardize data for reporting, analysis, and operational purposes.
A Code Group is a collection of related codes that belong to a specific catalog. It organizes codes into logical groups for easier management and selection.
A Code is an individual entry within a code group that represents a specific value or description. It is used to classify or describe an task, damage, or cause.
Syensqo utilizes Catalog Code Group and Codes within the SAP S/4HANA system to define and manage its assets' Object Type, Cause, Action, Failure mode and Task.
The scope of this document covers the approach for migrating active Catalog Code Groups and Codes into S/4 HANA following the Catalog Code Groups and Codes Master Data Design Standard.
The conversion of Catalog Code Groups and Codes follows the endorsed EAM Core Data Design describing the Asset Identification Methodology.
Catalog Code Groups and Codes Data from legacy will consolidated based on the S/4 HANA design and will be constructed via a common DCT which is target ready. This also means multiple GBU could be using the same Catalog Code Groups and Codes based on the Asset Identification Methodology.
There will not be a direct conversion from legacy to S/4 HANA, however there will be a mapping to ensure all the valid and active legacy Catalog Code Groups and Codes are considered for data migration.
The data from legacy system includes:
The data from legacy system excludes:
For reference, the Catalog Code Groups and Codes in S/4 HANA are not transformed based on the legacy mapping, but they are derived based on the logic of the Asset Identification Methodology.
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
| PF2, WP2 | Catalog Code Groups and Codes will be collected via DCT. An initial extract of the relevant Catalog Code Groups and Codes will be provided in google sheet format to assist business in decision making on including any relevant Catalog Profiles from PF2 and WP2 as Catalog Profile in S/4 HANA. Any additional Catalog Code Groups and Codes that need to be created to support the new design may be added in the DCT. A review and standardization will be done across all Catalog Code Groups and Codes in the DCT. Please see an indication of what will be baselined from source systems below and what will be constructed in the DCT. | 40,000 | S/4HANA | 40,000 |
Catalog Code Groups and Codes description will be made available in English.
Multi language is supported for Catalog Code Groups and Code. Login via a different language will have its description displayed in the logon language if the language key is maintained in the Catalog Code Groups and Code.
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.
Catalog Code Group:
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
| QPGR | KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| QPGR | CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| QPGR | STATUS | QLOESCHKZ1 | Status of Master Record | CHAR | 1 | Mandatory |
Catalog Code Group Short Text
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
| QPGR | KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| QPGR | CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| QPGT | SPRACHE | PRAS | Language | CHAR | 1 | Mandatory |
| QPGR | KURZTEXT | QKTEXTGR | Short Text | CHAR | 40 | Mandatory |
Note: Each Catalog Code Group must have 1 entry for each language in scope: English,French, Italian, Mandarin, Brazilian, Portuguese, German and Spanish
Catalog Code Group Long Text
| KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| SPRACHE | PRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QKTEXTGR | Short Text | CHAR | 40 | Mandatory |
| STATUS | QLOESCHKZ1 | Status of Master Record | CHAR | 1 | Mandatory |
| QKATALOG | xxx | Code Group Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTGRP | Long Text Exists for the Code Group | CHAR | 1 | Checked if Long Text Exist |
| CODE | QCODE | Code | CHAR | 4 | Mandatory |
| SPRACHE | SPRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QTXT_CODE | Short Text for Code | CHAR | 40 | Mandatory |
| QKATALOG | xxx | Code Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTCODE | Long Text Exists for the Code | CHAR | 1 | Checked if Long Text Exist |
Catalog Code
| KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| CODE | QCODE | Code | CHAR | 4 | Mandatory |
Catalog Code Short Text
| KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| CODE | QCODE | Code | CHAR | 4 | Mandatory |
| SPRACHE | SPRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QTXT_CODE | Short Text for Code | CHAR | 40 | Mandatory |
Note: Each Catalog Code must have 1 entry for each language in scope: English,French, Italian, Mandarin, Brazilian, Portuguese, German and Spanish
Catalog Code Long Text
| KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| CODE | QCODE | Code | CHAR | 4 | Mandatory |
| SPRACHE | SPRAS | Language | CHAR | 1 | Mandatory |
| QKATALOG | xxx | Code Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTCODE | Long Text Exists for the Code | CHAR | 1 | Checked if Long Text Exist |
Extra:
| KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| SPRACHE | PRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QKTEXTGR | Short Text | CHAR | 40 | Mandatory |
| STATUS | QLOESCHKZ1 | Status of Master Record | CHAR | 1 | Mandatory |
| QKATALOG | xxx | Code Group Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTGRP | Long Text Exists for the Code Group | CHAR | 1 | Checked if Long Text Exist |
| CODE | QCODE | Code | CHAR | 4 | Mandatory |
| SPRACHE | SPRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QTXT_CODE | Short Text for Code | CHAR | 40 | Mandatory |
| QKATALOG | xxx | Code Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTCODE | Long Text Exists for the Code | CHAR | 1 | Checked if Long Text Exist |
| KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| SPRACHE | PRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QKTEXTGR | Short Text | CHAR | 40 | Mandatory |
| STATUS | QLOESCHKZ1 | Status of Master Record | CHAR | 1 | Mandatory |
| QKATALOG | xxx | Code Group Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTGRP | Long Text Exists for the Code Group | CHAR | 1 | Checked if Long Text Exist |
| CODE | QCODE | Code | CHAR | 4 | Mandatory |
| SPRACHE | SPRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QTXT_CODE | Short Text for Code | CHAR | 40 | Mandatory |
| QKATALOG | xxx | Code Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTCODE | Long Text Exists for the Code | CHAR | 1 | Checked if Long Text Exist |
| KATALOGART | QKATART | Catalog | CHAR | 1 | Mandatory |
| CODEGRUPPE | QCODEGRP | Code Group | CHAR | 8 | Mandatory |
| SPRACHE | PRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QKTEXTGR | Short Text | CHAR | 40 | Mandatory |
| STATUS | QLOESCHKZ1 | Status of Master Record | CHAR | 1 | Mandatory |
| QKATALOG | xxx | Code Group Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTGRP | Long Text Exists for the Code Group | CHAR | 1 | Checked if Long Text Exist |
| CODE | QCODE | Code | CHAR | 4 | Mandatory |
| SPRACHE | SPRAS | Language | CHAR | 1 | Mandatory |
| KURZTEXT | QTXT_CODE | Short Text for Code | CHAR | 40 | Mandatory |
| QKATALOG | xxx | Code Long Text | xxx | xxx | Conditional - Only load if data is provided |
| LTEXTV | QLTEXTCODE | Long Text Exists for the Code | CHAR | 1 | Checked if Long Text Exist |
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 |
|---|---|---|---|---|---|
| 1007-001 | C1 | Legacy Catalog Code Groups and Codes which are not mapped | Legacy Catalog Groups and Code which do not have mapped S/4 HANA values | All key fields | PF2, WP2 |
Summarize High-Level Process. Include diagrams, where applicable. Include information supporting details of Extract, Transform and Load specific to the Data Object
The following represents the high-level process for DCT:

Extract data from a source into Syniti Migrate. There are 2 possibilities:
The agreed Relevancy criteria is applied to the extracted records to identify the records that are applicable for the Target loads
| Req # | Requirement Description | Team Responsible |
|---|---|---|
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
<Object> DCT Rules
| Field Name | Field Description | Rule |
|---|---|---|
List the steps that need to occur before extraction can commence
| Item # | Step Description | Team Responsible |
|---|---|---|
| Not applicable | ||
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 | Ensure all mapping tables are up to date. | Syniti |
2 | In dspMigrate, select the wave –R3 S4/HANA – Plant Maintenance | Syniti |
3 | Go to Process Area Launch and Process the Object – Catalog Code Groups and Codes | Syniti |
4 | Review and Validate Error and Preload Reports | Syniti |
5 | Execute the transformation to prepare the target tables | Syniti |
6 | Validate data from pre-load and invalid reports by region | Business/Data owner |
7 | Generate export(load) file (If load tool is not dspIntergrate) | Syway Data Team |
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| Mapping Table Name | Mapping Table Description |
|---|---|
| Item # | Step Description | Team Responsible |
|---|---|---|
| Task | Action |
|---|---|
Verify Record Count | Data team to verify that the total number of relevant records from the source systems is equal to the total number of records in the Preload and Load Sheets. |
| Task | Action |
|---|---|
Conversion Accuracy | Data team to verify that all fields below meet pass the checks: 1. Mandatory Fields 2. Field and Value Mapping Correctness 3. Null Checks 4. Text Length Checks |
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 team to verify that the total number of relevant records from the source systems is equal to the total number of records in the Preload and Load Sheets. |
| Task | Action |
|---|---|
Conversion Accuracy | Business to verify that all the data in the load table/file is accurate as per endorsed transformation/mapping rules (and signed-off data) |
The load process includes:
| Item # | Step Description | Team Responsible |
|---|---|---|
| TBC | ||
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 | Language Key |
| Object # | Preceding Object Conversion Approach |
|---|---|
| Not Applicable | |
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 |
|---|---|---|
| Task | Action |
|---|---|
Verify Count | Data team to verify the record count created in target S/4 HANA by accessing post load reports in dspMigrate or standard reports from S/4 HANA. |
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 |
|---|---|
Conversion Accuracy | Data team to verify that the Measuring Point data in target S/4 HANA were loaded correctly via dspMigrate post load reports or standard reports from S/4 HANA. |
| Task | Action |
|---|---|
Verify Count | Download Post Load Reports from dspMigrate and verify that the record count loaded in the target S/4 HANA is the same count as of the endorsed load file. |
| Task | Action |
|---|---|
Conversion Accuracy | Verify that the Measuring Point data in target S/4 HANA were loaded correctly via dspMigrate post load reports or standard reports from S/4 HANA. |
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.