| Status | `` In Progress |
|---|---|
| Owner | |
| Stakeholders |
Purpose
The purpose of this document is to define the conversion approach to create Service Master records in S/4HANA. It follows the Procurement Master Data Design Standard and is based on data being migrated from legacy SAP ECC systems (PF2, WP2) into SAP S/4HANA.
The purpose of this document is to define the conversion approach to upload data in S/4 HANA.
This file is aligned with the Conversion Specification Guidelines
---CHECKLIST---
- Logical Source and Target Systems are identified.
- Processing Type is specified (i.e. Direct Input, BAPI, IDoc, Web Service, OData API, etc.)
- Standard or custom load program name/BAPI/IDoc is specified to support this functionality.
- Data Mapping is provided for mappings which are not obvious to a suitably-skilled and experienced developer
- All translation requirements are clearly defined (including data validation rules, data derivation/calculation and default values, if applicable)Input and/or Output file layouts are provided for all record types possible
- Transaction volume is specified Execution frequency is specified Restart/Recovery requirements havee been defined
- Error handling requirements are specified, including alerting requirement and expected action on failure.
- Application log requirement if applicable to be specified.
--- Additional topics to check---
- Rules for Data Merging (all systems) - DEDUPLICATION RULES
Conversion Scope
The migration will consolidate two existing legacy object types into a single Lean Service model in S/4HANA:
- Materials created as Services – Material Master records with service-related material types (PF2 = DIEN, Z710, Z720, Z732, ZB10, ZB20, ZESE, ZFS1, ZPSE, ZU10, ZU20 or WP2 = DIEN, ZDIE) ==> main table = MARA
- Service Master Data – Maintained in SAP ECC ==> main table = ASMD
Both object types are currently used in parallel to support service procurement. While they may sometimes represent similar business needs, they are maintained and processed independently in the legacy systems.
In the target system (S/4HANA), all services will be represented exclusively as Lean Services within the Material Master (Material Type = SERV or ZSER), in line with the Procurement Master Data Design Standard. This approach eliminates the need for separate Service Master objects and service material types, providing:
A single master data object for all services.
Standardized naming, classification, and valuation.
Harmonized Material Groups for enterprise-wide reporting and spend analysis.
The conversion scope includes:
Extracting both Service Master (ASMD) and Materials-as-Services records (MARA).
Cleansing, harmonizing, and deduplicating entries across both object types.
Mapping legacy keys to new Lean Service material numbers for traceability.
Excluding obsolete, incomplete, or unused records.
List of source systems and approximate number of records
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
PF2 | The Service Master Records (ASMD) and the Material Master Records created as Services (MARA with Service Material Types such as DIEN or equivalent) will be extracted and collected via the Data Collection Template (DCT). An initial extract of the relevant data will be provided in Google Sheet format to support the business in reviewing and deciding which records should be included in scope for migration from the Source Systems. Any additional Service data required to support the Lean Services design may also be added directly in the DCT by the business. A data review, harmonization, and standardization exercise will be carried out across both Service Master and Service-as-Material records. This includes: -Consolidation of overlapping entries.-Standardization of descriptions, units of measure, and language usage. | 924 Materials (MARA) | S4H | 16.000 (50% -) |
WP2 | 0 Materials (MARA) | S4H | 440 (50% -) |
Relevancy Rules
***SERVICES AS MATERIALS (MARA TABLE) - System PF2/WP2
Relevant Tables for the Extraction
| Groups | Table | Purpose | Key fields (core) | Link to MARA | Typical filters / notes |
|---|---|---|---|---|---|
A | MARA | Central Material Master (type, base UoM, dimensions, weights, creation date, status flags). | MANDT, MATNR | --- Root Table | Filter by client (MANDT), material type (MTART), deletion flag (LVORM), etc. In ECC MATNR is 18-char (leading zeros); in S/4 it’s up to 40. |
| MAKT | Language-dependent short descriptions (MAKTX). | MANDT, MATNR, SPRAS | MAKT.MATNR = MARA.MATNR | Filter SPRAS (e.g., ‘E’, ‘F’…), or pick “best language”. MARA → MAKT: MAKT.MANDT = MARA.MANDT and MAKT.MATNR = MARA.MATNR (1 material : many language texts). | |
| MARM | Alternative UoMs and conversion factors. | MANDT, MATNR, MEINH | MARM.MATNR = MARA.MATNR | Base UoM is MARA.MEINS; conversions via UMREZ/UMREN. MARA → MARM: MARM.MANDT = MARA.MANDT and MARM.MATNR = MARA.MATNR (1 : many UoMs). | |
| MEAN | EAN/UPC/GTINs for a material (often per UoM). | MANDT, MATNR, EAN11 (+ MEINH) | MEAN.MATNR = MARA.MATNR | Join to MARM on MATNR+MEINH when you need UoM-specific GTINs. MARA → MEAN: MEAN.MANDT = MARA.MANDT and MEAN.MATNR = MARA.MATNR (1 : many GTINs). | |
| STXH | SAPscript long-text header for material texts. | TDOBJECT, TDNAME, TDID, TDSPRAS | TDOBJECT='MATERIAL' and TDNAME = MATNR (padded) | Typical TDIDs: ‘GRUN’ (Basic Data), ‘SALES’, ‘PURCH’. MARA ↔ STXH/STXL (long texts): | |
| STXL | SAPscript long-text lines (content). | (cluster key matching STXH) | via STXH keys | Read/display via text functions; storage is clustered. MARA ↔ STXH/STXL (long texts): | |
B | CABN | Characteristic definitions (metadata: name ATNAM, data type, length, value domain). | ATINN (internal), ATNAM | via ATINN (through KSML/AUSP) | Use to resolve internal ATINN → external ATNAM. KSML → CABN (characteristic catalog): KSML.ATINN = CABN.ATINN (characteristic technical definition). |
| CABNT | Characteristic texts (language-dependent). | ATINN, SPRAS | via CABN.ATINN | Bring characteristic descriptions by language. CABN → CABNT (characteristic texts): CABNT.ATINN = CABN.ATINN (language-dependent). | |
| CAWN | Predefined values for a characteristic (for value-lists). | ATINN, ATZHL (+ ATWRT) | via CABN.ATINN | One row per allowed value; position ATZHL is the value key. CABN → CAWN → CAWNT (value lists and texts): | |
| CAWNT | Texts for the predefined values. | ATINN, ATZHL, SPRAS | via CAWN(ATINN,ATZHL) | Language-dependent value labels. Use the same logic of CAWN | |
| KLAH | Class header (e.g., class type 001 for material classes). | CLINT (internal), KLART, CLASS | via CLINT (to KSML/KSSK) | Filter KLART='001' for material classification. KSSK → KLAH (class header): KSSK.CLINT = KLAH.CLINT and KLAH.KLART = '001'. | |
| KLAT | Class texts (language-dependent). | CLINT, SPRAS | via KLAH.CLINT | Get the class description. KLAH → KLAT (class texts): KLAT.CLINT = KLAH.CLINT (language-dependent class names). | |
| KSML | Class ↔ Characteristic assignments. | CLINT, ATINN | via KLAH.CLINT & CABN.ATINN | Which characteristics belong to a class. KLAH → KSML (class ↔ characteristic): KSML.CLINT = KLAH.CLINT (which characteristics the class contains). | |
| KSSK | Object (material) ↔ Class assignments. | OBJEK, CLINT, KLART | KSSK.OBJEK = MARA.MATNR(padded) | Filter OBTAB='MARA', KLART='001'. OBJEK = material number with leading zeros (ECC: 18 chars). MARA → KSSK (object ↔ class): | |
| AUSP | Assigned characteristic values for an object. | OBJEK, ATINN, KLART (+ ATWRT/ATFLV) | AUSP.OBJEK = MARA.MATNR(padded) | MARA → AUSP (assigned values): AUSP.OBJEK = padded(MARA.MATNR) and AUSP.KLART = '001'; AUSP.ATINN = CABN.ATINN; value stored in AUSP.ATWRT (char) or AUSP.ATFLV (numeric). |
Execution Logic:
>>>========================================================================================
SINGLE
- All materials created in the previous 6 months will be included unless flagged for deletion.
GLOBAL
We will only include materials that are extended to the following:
- We will only include plants that are in-scope
- We will only include company codes that are in-scope
- We will only include purchasing orgs that are in-scope
- We will only include sales orgs that are in-scope
===========================================================================================
TO BE EXCLUDED
1) EXCLUDED (No activity, when >= 6m and <=3y) ← targeted recency rule
Evaluated in this exact order; first match wins:
2) EXCLUDED (Obsolete text)
If MAKT-MAKTX indicates obsolescence:
- contains word OBSOLETE or DELETED, or
- after removing * and spaces, contains OBS.
3) EXCLUDED (MSTAE)
System-specific status code (PF2: Z3/Z4/ZZ; WP2: Z0).
4) EXCLUDED (LVORM)
If LVORM = 'X' and there is no open order within the last 3 years across SO/PO/PP:
HasOpenSO3Y = 0 AND HasOpenPO3Y = 0 AND HasOpenPP3Y = 0 exclude entry
5) EXCLUDED (No plant in scope)
If HasInScopePlant = 0 (and @RequirePlantExtension = 1).
6) EXCLUDED (No activity, 6m-3y) ← targeted recency rule
Exclude when all are true:
- Created window: ERSDA_date <= @From6Months and ERSDA_date >= @From3Years, and
- No 3y activity: HasSO3Y = 0 AND HasPO3Y = 0 AND HasPP3Y = 0.
7) Material Group Mapping (ZZM_GPS_MATKL)
Match ASMD‑MATKL to ZZM_GPS_MATKL‑MATKL with ZZMGOODSER='S'. If a match exists and LOEVM is not initial, the record is excluded. The solution publishes MAPPED/UNMAPPED reports for governance visibility.
If none of the above exclusions apply, the material is included (see topic 4 for more details).
===========================================================================================
TO BE INCLUDED
1) Scope prerequisites
- Client: MANDT = (PF2 = '020' or WP2 = '400')
- Material types in scope (MARA-MTART): (PF2 = DIEN, Z710, Z720, Z732, ZB10, ZB20, ZESE, ZFS1, ZPSE, ZU10, ZU20 or WP2 = DIEN, ZDIE)
- Plant in scope (MARC-WERKS): Material must be extended to at least one plant in
- Exclusion indicator (MARA-MSTAE): exclude materials with the following status (PF2 = Z3/Z4/ZZ; WP2 = Z0).
2) Time windows (used everywhere)
- Materials with <= 6 month since its creation, don't need to have any activity (PurchOrder, SalesOrder, Production)
- Newness: @Today – 6 months
3) Activity & Open definitions (last 3 years)
Sales Orders (SO)
- Activity (HasSO3Y): exists VBAP line joined to VBAK with VBAK.ERDAT >= @From3Years.
- Open (HasOpenSO): line is open if any:
- VBUK.GBSTK NOT IN ('C','D'), or
- VBUP.GBSTA NOT IN ('C','D'), or
- no VBUP and VBAP.ABGRU = '' (blank).
- Open within 3y (LVORM override): same open condition AND VBAK.ERDAT >= @From3Years >>> HasOpenSO3Y.
Purchase Orders (PO)
- Activity (HasPO3Y): EKKO header date COALESCE(AEDAT,BEDAT) >= @From3Years on a matching EKPO.
- Open (HasOpenPO): EKPO.ELIKZ <> 'X' AND EKPO.LOEKZ <> 'X'.
- Open within 3y (LVORM override): open AND COALESCE(AEDAT,BEDAT) >= @From3Years >>> HasOpenPO3Y.
Production Orders (PP)
- Activity (HasPP3Y): COALESCE(AUFK.ERDAT, AFKO.GLTRP) >= @From3Years on a matching AFPO.
- Open (HasOpenPP): AUFK.LOEKZ <> 'X' AND (AFKO.GLTRP IS NULL OR AFKO.GLTRP >= @Today).
- Open within 3y (LVORM override): open AND COALESCE(AUFK.ERDAT, AFKO.GLTRP) >= @From3Years >>> HasOpenPP3Y.
4) Inclusion triggers (exceptional list)
- If the material is in the manual table, it must be included.
5) Available Stock (note this migration regards SERVICES, therefore this rule should be treated as an exceptional situation)
If any of the below table-fields are greater than 0 and the material has current stock, it should be included for migration, even if other activity rules (PO, SO, PP) are not met. This has priority over all other rules.
- Check if Storage Location Stock (MARD) <> 0
MARD-LABST = Unrestricted stock
MARD-INSME = Stock in quality inspection
MARD-SPEME = Blocked stock
MARD-UMLME = Stock in transfer (to another storage location)
- Special Stocks (as needed in migration scope)
MKOL-KALAB = Consignment stock (vendor consignment)
MSLB-LABST = Special stock with customer (sales order stock)
MSKA-LABST = Sales order stock
MSPR-LABST = Project stock
6) Final filters before output
Even if a row/material has an INCLUDED reason, it must still pass all of these steps:
- IsObsoleteText = 0
- ExcludeByMSTAE = 0
- Not (LVORM='X' AND HasOpenSO3Y=0 AND HasOpenPO3Y=0 AND HasOpenPP3Y=0)
- And (IsForceIncluded = 1 OR EligibilityReason LIKE 'INCLUDED%')
========================================================================================<<<
***SERVICES MASTER DATA (ASMD TABLE) - System PF2/WP2
Relevant Tables for the Extraction
| Groups | Table | Purpose | Key fields (core) | Link to ASMD | Typical filters / notes |
|---|---|---|---|---|---|
Group | ASMD | Core Service Master under evaluation (creation date, deletion flag, basic attributes). | MANDT, ASNUM, ERDAT (ERSDA), AEDAT, LVORM (LOEKZ), MATKL, MEINS | — Root table | Filter by client (MANDT); deletion flag is later overridden if there is open activity within 3 years. |
| ASMDT | Language-dependent short descriptions (used for “obsolete/deleted” text heuristic). | MANDT, ASNUM, SPRAS, KTEXT | ASMDT.ASNUM = ASMD.ASNUM | Choose “best language” (e.g., E). Detect “OBSOLETE/DELETED/OBS” (case-insensitive; trim spaces/asterisks). | |
Group B | EKKO | Purchase Order header (dates; organizational scope: BUKRS, EKORG). | MANDT, EBELN, BUKRS, EKORG, AEDAT/BEDAT | Via EKPO → ESLL to reach ASMD | Filter by client. Dates used for “last 3 years” window. Org scope checked against in-scope BUKRS/EKORG lists. |
| EKPO | PO item lines (service items, open/closed flags, optional plant). | MANDT, EBELN/EBELP, PSTYP, ELIKZ, LOEKZ, WERKS, PACKNO | EKPO.PACKNO → ESLL.PACKNO → ESLL.SRVPOS = ASMD.ASNUM | PSTYP = ‘9’ (service). Open item = ELIKZ ≠ ‘X’ and LOEKZ ≠ ‘X’. WERKS used only if plant scoping is enforced. | |
| ESLL | Service package lines; bridges PO/SES packages to ASMD (service number). | MANDT, PACKNO, SRVPOS (service number) | ESLL.SRVPOS = ASMD.ASNUM; ESLL.PACKNO links to EKPO/ESSR | Essential link table; no direct date filters here. | |
| ESSR | Service Entry Sheet header (evidence of recent/open SES activity). | MANDT, PACKNO, BUDAT, LOEKZ, EBELN, EBELP | ESSR.PACKNO → ESLL.PACKNO → ESLL.SRVPOS = ASMD.ASNUM | “Recent” if BUDAT ≥ Today − 3 years. Open if LOEKZ ≠ ‘X’. Org scope derived via EKKO/EKPO on EBELN/EBELP (LEFT JOIN). |
Execution Logic:
>>>========================================================================================
SINGLE
- All materials created in the previous 6 months will be included unless flagged for deletion.
GLOBAL
We will only include materials that are extended to the following:
- We will only include plants that are in-scope
- We will only include company codes that are in-scope
- We will only include purchasing orgs that are in-scope
- We will only include sales orgs that are in-scope
===========================================================================================
SINGLE
- All services created in the previous 6 months (ASMD-ERDAT >= @From6Months) are included unless excluded by LVORM/MSTAE/text rules. (Services are client-level; no plant extension applies.)
GLOBAL
- Client: MANDT IN (PF2-020, WP2-400)
- Company codes / purchasing orgs in scope: restrict via your in-scope lists, applied through the documents that reference the service (POs/Entry Sheets).
- Purchasing Organization in scope: restrict via your in-scope lists, applied through the documents that reference the service (POs/SOs/Entry Sheets).
===========================================================================================
Services that have had business activity in the last 3 years will be included.
Services with open Purchase Orders (EBAN, EKPO) will be included.
Services created within the last 6 months are in scope, unless explicitly marked for deletion or obsolescence.
Services with confirmed Deletion Flags will be excluded. When ASMD–LOEKZ (Deletion indicator) or MARA–LVORM is not initial.
Services marked as Excluded in MARA-MSTAE are not selected.
Services marked as OBSOLETE (or similar) in the description text will be excluded, subject to business confirmation.
Certain Material Types must be included even if no activity is founded: DIEN\
All dependent data objects linked to in-scope Services must also be migrated:
- Texts (STXH/STXL linked to Services).
- Classifications & Characteristics (KLAH, KSML, AUSP).
- Purchasing Info Records for Services (EINA/EINE).
- Conditions linked to Services (KONP/KONV).
- Golden Record Principle
- In case of duplicates, the survivorship logic from the Deduplication Rules will apply.
- Only one “Golden Service Record” per unique Service will be migrated.
TO BE EXCLUDED
1) EXCLUDED (No activity, when >= 6m and <=3y) ← targeted recency rule
Evaluated in this exact order; first match wins:
2) EXCLUDED (Obsolete text)
If MAKT-MAKTX indicates obsolescence:
- contains word OBSOLETE or DELETED, or
- after removing * and spaces, contains OBS.
3) EXCLUDED (MSTAE)
System-specific status code (PF2: Z3/Z4/ZZ; WP2: Z0).
4) EXCLUDED (LVORM)
If LVORM = 'X' and there is no open order within the last 3 years across SO/PO/PP:
HasOpenSO3Y = 0 AND HasOpenPO3Y = 0 AND HasOpenPP3Y = 0 exclude entry
5) EXCLUDED (No plant in scope)
If WERKS = '' then there is no verification to be done.
Elseif HasInScopePlant = 0 (and @RequirePlantExtension = 1).
6) EXCLUDED (No activity, 6m-3y) ← targeted recency rule
Exclude when all are true:
- Created window: ERSDA_date <= @From6Months and ERSDA_date >= @From3Years, and
- No 3y activity: HasSO3Y = 0 AND HasPO3Y = 0 AND HasPP3Y = 0.
If none of the above exclusions apply, the material is included (see topic 4 for more details).
*** Canonical Key & Duplication Detection
Deduplication of records from MARA and ASMD tables
Sequency | Table | International Version | Description |
| ASMD | Text/Description Matching | Compare ASMD-KTEXT (service description) vs. MAKT-MAKTX (material description). | |
| ASMD | Unit of Measure Harmonization | ASMD-MEINS vs. MARA-MEINS (ensure consistency). | |
| ASMD | Language-Dependent Texts | Check for alignment in key languages (EN, FR, DE, PT, etc.). | |
| ASMD | Fuzzy/Exact Match Rules | Normalize description strings (remove stop-words, punctuation, upper/lowercase). Apply fuzzy matching thresholds (e.g., 90%) to detect duplicates between ASMD & MARA. | |
| Table | International Version | Description | |
|---|---|---|---|
| 1 | MARA | Canonical Key & Core Attributes | Use MATNR (normalized/padded), MTART=DIEN, MEINS, MATKL, BISMT (old material no.). Build canonical keys and compare base UoM, material group, and legacy numbers across systems. |
| 2 | MAKT | Text/Description Matching | Compare short descriptions across languages; pick best language (e.g., EN > FR > DE > …), normalize text (case, punctuation, stop-words), and apply fuzzy/exact thresholds to detect duplicates. |
| 3 | STXH/STXL | Long-Text Alignment | Retrieve material long texts (TDOBJECT=‘MATERIAL’, TDNAME=MATNR padded). Normalize and compare paragraphs to consolidate duplicates with different short texts but same detailed content. |
| 4 | MARM | Unit-of-Measure Harmonization | Align base/alternate UoMs and conversion factors; deduplicate only if UoM sets are compatible (UMREZ/UMREN); flag conflicts for review. |
| 5 | MEAN | GTIN/EAN Cross-Check | Use EAN11/GTIN as high-confidence match key (often per UoM). Detect 1:n GTIN-to-material issues and reconcile where GTINs collide across systems. |
| 6 | T006 / T006A | UoM Dictionary (Intl.) | Normalize UoM codes and texts across languages/systems before matching (ISO code, commercial vs technical UoM). |
| 7 | T023 / T023T | Material Group Standardization | Harmonize material groups and their texts to avoid false positives when different groups imply distinct services. Useful as a similarity feature and post-match validation. |
| 8 | AUSP / INOB / CABN / CAWN / CAWNT | Classification Fingerprint | If classification is used, compare class/characteristic values as a strong dedup signal (same class & equal value set ⇒ higher confidence). Helps separate near-synonyms. |
| 9 | EINA / EINE | Vendor Catalog Signals | Vendor material numbers/descriptions in Info Records can corroborate duplicates (same vendor ref across systems). Useful when GTINs are missing for DIEN. |
| 10 | MVKE | Sales View Consistency | If sales data exists, use product hierarchy and status as soft features; avoid merging items intentionally separated for commercial reasons. |
| 11 | MARC | Plant Extension Overlap | Plant assignments can be used as a weak feature (same service used in same plants) and for post-merge impact checks. |
| Table | International Version | Description | |
| 1 | ASMD | Canonical Key & Core Attributes | Use ASNUM (normalized), MEINS, MATKL, ERDAT/AEDAT, LVORM. Build canonical keys and compare base UoM and service group across systems. Compare ASMD-KTEXT (service description) vs. MAKT-MAKTX (material description). |
| 2 | ASMDT | Text/Description Matching | Compare language-dependent short descriptions (KTEXT) across locales; pick a “best language” (e.g., EN ), normalize text (case, punctuation, stop-words), then run exact/fuzzy thresholds to detect duplicates. |
| 3 | STXH / STXL | Long-Text Alignment | Retrieve service long texts (SAPscript TDOBJECT = 'SERV'; typical TDIDs like GRUN). Normalize and compare paragraphs to catch duplicates with similar detailed content but differing short texts. |
| 4 | T006 / T006A | Unit-of-Measure Harmonization | Standardize UoMs and texts before matching (ISO code mapping, singular/plural, commercial vs technical UoM) so MEINS comparisons are reliable. |
| 5 | T023 / T023T | Service Group Standardization | Harmonize MATKL and its texts across languages/systems; use as a similarity feature and post-match validation to prevent merging fundamentally different service groups. |
| 6 | AUSP / INOB / CABN / CAWN / CAWNT (if used) | Classification Fingerprint | When services are classified, compare class/characteristic values (class type for services per your template) as a strong dedup signal—same class & equal value set ⇒ higher confidence. |
| 7 | EINA / EINE (optional) | Vendor Catalog Signals | Vendor service numbers/descriptions in Info Records can corroborate duplicates across systems when texts differ or UoMs are inconsistent. |
...
Additional Information
Multi-language Requirement
For all Lean Services in the target S/4HANA system, the default description will be maintaineed in English.
Where available in the source systems (PF2, WP2), additional language-dependent descriptions will also be migrated. This applies to both:
Service Master records (ASMD).
Materials-as-Services (Material Type DIEN or equivalent).
Migration rules:
Only languages available and supported in the target S/4HANA system will be migrated.
If a description exists in a custom or unsupported language key in the source, that language entry will be skipped.
The migration will preserve the link between the Lean Service material number and each language-specific description.
Where the same service exists in multiple languages in the source, all valid language versions will be migrated together with the default English text.
This approach ensures that Lean Services are available in multiple languages for purchasing, reporting, and user interaction, while maintaining compliance with the target system’s supported language set.
Languages to be extracted (available on Source Systems)
SAP standard supports all ISO languages, ensure that all standard languages are considered in scope.
Languages to don't be extracted
The Z9 language code represents “Multilingual / Other,” which is a generic placeholder rather than a specific language. It does not correspond to a standard ISO language code and therefore cannot be mapped reliably to a target language in the S/4HANA environment. Including Z9 would result in ambiguous or duplicate entries, making data validation, reporting, and translation maintenance inconsistent. To ensure data quality and consistency, records with Z9 will be excluded from the extraction scope.
International Version | Description |
| Z9 | Multilingual / Other |
Document Management
N/A.
Legal Requirement
Minor efforts with taxation are foreseen for some specific countries having specific taxations, the topic is limited to have the tax codes mapping (from Old to New tax code).
Special Requirements
Processing Type ETL:
Transformation (T): Syniti will be responsible for cleansing, transforming, and merging the data, as well as updating the staging areas of the SAP Migration Cockpit.
Extraction (E): Data will be extracted from at least two source systems. This activity will be performed by Syniti.
- Loading (L): The final data load into the target SAP system will be carried out using the standard functionalities of the SAP Migration Cockpit.
Deduplication Rules
Ensure that Lean Service Materials (stored in MARA and related tables) are unique and free of redundancies prior to migration into S/4HANA. The rules mentioned below validate duplicates across standardized descriptions, language, material group, and units of measure, while also considering long texts for confirmation.
Additionally, unsupported or custom languages (such as Z9) are excluded unless explicitly required, ensuring alignment with SAP standard language configurations. This prevents proliferation of redundant Lean Service materials and supports a harmonized catalog in the target system.
SYSTEM | Rule ID | Semantic Rule | Purpose |
PF2 | SR01 PF2 | Deduplication of Services Master (table ASMD) from PF2 & WP2: | |
| SR02 | Deduplication of Services (table MARA) from PF2 & WP2: - DEDUP 1: Drop any record technically blocked or marked for deletion in source. Check field MARA-LOEKZ (or equivalent for Lean Services).- DEDUP 2: A duplicate exists if the following four attributes are exactly the same between two records (MAKT-MAKTX / MAKT-SPRAS / MARA-MATKL / MARM-MEINH) - DEDUP 3: A duplicate exists if the long texts (such as Purchase Order Texts or Basic Texts stored in STXL/STXB) are exactly the same (or at least 98% similar), then borderline duplicates can be promoted to confirmed duplicates. - DEDUP 4: Exclude any records that are only in custom or unsupported languages (e.g., Z9) unless explicitly required by the business. | ||
| SR03 | Deduplication of Services between Material Master - Service (MARA oriented) X Service Master (ASMD oriented) Rules :In order to proceed with this step, apply the selection criteria predefined:
|
| Deduplication IN | SQL Script used ( ONLY as a reference) |
|---|---|
SRCECCQF2020 MARA | |
| SRCECCWQ2020 |
Target Design
The technical design of the target for this conversion approach.
To be decided what to do with the Z Fields below:
| Source System | Source Table | Source Field | Long Description | Expectation |
|---|---|---|---|---|
PF2 | ASMD | ZZMBISMT | This fields regards the Old Service Number | To be decided what to do with the source field |
Tables to be migrated as Basic Data:
| Table | Description | |
|---|---|---|
MARA | General Material Data | Stores material master data that is valid for all organizational levels (client-level data such as base unit of measure, material type, industry sector). |
MARM | Units of Measure | Holds all alternative units of measure and conversion factors for each material. |
| MAKT | Material Descriptions (multi language) | Contains the material short texts (descriptions) in different languages. |
| MANT | Text per UoM | Holds long texts for materials, used for extended descriptions. |
| Table / Staging Area | Field | Data Element | Field Description | Data Type | Length | Decimal | Importance |
|---|---|---|---|---|---|---|---|
MARA - General Material Data | |||||||
| S_MARA | MATNR | Product Number | Text (CHAR) | 18 | Mandatory MDS: OK | ||
| S_MARA | MTART | Product Type | Text (CHAR) | 80 | Mandatory | ||
| S_MARA | ATTYP | Product Category | Text (CHAR) | 80 | |||
| S_MARA | SATNR | Configuration Product for Retail Variant | Text (CHAR) | 80 | |||
| S_MARA | MATKL | Product Group | Text (CHAR) | 80 | MDS: OK | ||
| S_MARA | MBRSH | Industry Sector | Text (CHAR) | 80 | |||
| S_MARA | MAKTX | Description | Text (CHAR) | 40 | Mandatory MDS: OK | ||
| S_MARA | SPRAS | Language Key | Text (CHAR) | 80 | Mandatory | ||
| S_MARA | MEINS | Base Unit of Measure (ISO Format) | Text (CHAR) | 80 | Mandatory MDS: OK | ||
| S_MARA | AENNR | Change Number | Text (CHAR) | 80 | |||
| S_MARA | REVLV | Revision Level | Text (CHAR) | 80 | |||
| S_MARA | EAN11 | GTIN | Text (CHAR) | 18 | |||
| S_MARA | NUMTP | GTIN Category | Text (CHAR) | 80 | |||
| S_MARA | SPART | Division | Text (CHAR) | 80 | MDS: OK | ||
| S_MARA | BISMT | Old Product Number | Text (CHAR) | 40 | MDS: OK | ||
| S_MARA | PRDHA | Product Hierarchy | Text (CHAR) | 80 | MDS: OK | ||
| S_MARA | BRAND_ID | Brand | Text (CHAR) | 80 | |||
| S_MARA | XCHPF | Batch Management Required Ind. | Text (CHAR) | 1 | |||
| S_MARA | MLGUT | Has Empties | Text (CHAR) | 1 | |||
| S_MARA | DATAB | Valid From | Date | ||||
| S_MARA | LIQDT | Deletion Date | Date | ||||
| S_MARA | KUNNR | Competitor | Text (CHAR) | 80 | |||
| S_MARA | NORMT | Industry Standard Description | Text (CHAR) | 18 | |||
| S_MARA | GROES | Size/Dimensions | Text (CHAR) | 32 | |||
| S_MARA | LABOR | Laboratory / Design Office | Text (CHAR) | 80 | |||
| S_MARA | INHAL | Net Contents | Number (NUMC) | 13 | 3 | ||
| S_MARA | INHME | Net Contents Unit (ISO Format) | Text (CHAR) | 80 | |||
| S_MARA | INHBR | Gross Contens | Number (NUMC) | 13 | 3 | ||
| S_MARA | VPREH | Comparison Price Unit | Number (NUMC) | 5 | |||
| S_MARA | EXTWG | External Product Group | Text (CHAR) | 80 | MDS: OK | ||
| S_MARA | MTPOS_MARA | General Item Category Group | Text (CHAR) | 80 | MDS: OK | ||
| S_MARA | BEGRU | Authorization Group | Text (CHAR) | 4 | MDS: OK | ||
| S_MARA | MSTAE | Cross-Plant Product Status | Text (CHAR) | 80 | |||
| S_MARA | MSTDE | Valid-From Date | Date | ||||
| S_MARA | SERLV | Level of Explicitness for Serial Number | Text (CHAR) | 80 | |||
| S_MARA | QMPUR | Quality Manag. in Procurement Is Active | Text (CHAR) | 1 | |||
| S_MARA | ANIMAL_ORIGIN | Animal Origin | Text (CHAR) | 1 | |||
| S_MARA | ANP | ANP Code | Text (CHAR) | 80 | |||
| S_MARA | BRGEW | Gross Weight | Number (NUMC) | 13 | 3 | ||
| S_MARA | NTGEW | Net Weight | Number (NUMC) | 13 | 3 | ||
| S_MARA | GEWEI | Unit of Weight (ISO Format) | Text | 80 | |||
| S_MARA | LAENG | Length | Number (NUMC) | 13 | 3 | ||
| S_MARA | BREIT | Width | Number (NUMC) | 13 | 3 | ||
| S_MARA | HOEHE | Height | Number (NUMC) | 13 | 3 | ||
| S_MARA | MEABM | Unit for Length/Width/Height(ISO Format) | Text (CHAR) | 80 | |||
| S_MARA | VOLUM | Volume | Number (NUMC) | 13 | 3 | ||
| S_MARA | VOLEH | Volume Unit | Text (CHAR) | 80 | |||
| S_MARA | CAPAUSE | Capacity Usage | Number (NUMC) | 15 | 3 | ||
| S_MARA | CHML_CMPLNC_RLVNCE_IND | Compliance Relevant | Text (CHAR) | 80 | |||
| S_MARA | KZKFG | Product Is Configurable | Text (CHAR) | 1 | MDS: OK | ||
| S_MARA | BSTME | Order Unit of Measure (ISO Format) | Text (CHAR) | 80 | |||
| S_MARA | EKWSL | Purchasing Value Key | Text (CHAR) | 80 | |||
| S_MARA | VABME | State of Variable Purchase Order Unit | Text (CHAR) | 80 | |||
| S_MARA | BMATN | Internal Product Number | Text (CHAR) | 80 | |||
| S_MARA | MFRPN | Manufacturer Part Number | Text (CHAR) | 40 | |||
| S_MARA | MFRNR | Manufacturer Number | Text (CHAR) | 80 | |||
| S_MARA | MPROF | Manufacturer Part Profile | Text (CHAR) | 80 | |||
| S_MARA | TRAGR | Transportation Group | Text (CHAR) | 80 | |||
| S_MARA | MSTAV | Cross-Distribution Chain Product Status | Text (CHAR) | 80 | |||
| S_MARA | MSTDV | Valid From Date for Status | Date | ||||
| S_MARA | PMATA | Pricing Reference Product | Text (CHAR) | 80 | |||
| S_MARA | SPROF | Pricing Profile for Variants | Text (CHAR) | 80 | |||
| S_MARA | ALLOW_PMAT_IGNO | Variant Price Allowed | Text (CHAR) | 1 | |||
| S_MARA | SOM_CYCLE | Billing Cycle | Text (CHAR) | 80 | |||
| S_MARA | SOM_CYCLE_RULE | Billing Cycle Determination Rule | Text (CHAR) | 80 | |||
| S_MARA | SOM_TC_SCHEMA | Assignment Schema | Text (CHAR) | 80 | |||
| S_MARA | BBTYP | Assortment List Type | Text (CHAR) | 80 | |||
| S_MARA | SERVV | Service Agreement | Text (CHAR) | 80 | |||
| S_MARA | MAGRV | Product Group: Packaging Materials | Text (CHAR) | 80 | |||
| S_MARA | VHIART | Packaging Product Type | Text (CHAR) | 80 | |||
| S_MARA | ERGEW | Allowed Packaging Weight | Number (NUMC) | 13 | 3 | ||
| S_MARA | ERGEI | Unit of Allowed Packaging Weight | Text (CHAR) | 80 | |||
| S_MARA | GEWTO | Excess Weight Tolerance for HU | Number (NUMC) | 3 | 1 | ||
| S_MARA | ERVOL | Allowed Packaging Volume | Number (NUMC) | 13 | 3 | ||
| S_MARA | ERVOE | Unit of Allowed Packaging Volume | Text (CHAR) | 80 | |||
| S_MARA | KZGVH | Packaging Product Is Closed Packaging | Text (CHAR) | 1 | |||
| S_MARA | VOLTO | Excess Volume Tolerance for HU | Number (NUMC) | 3 | 1 | ||
| S_MARA | IPRKZ | Period Indicator for Shelf Life | Text (CHAR) | 80 | |||
| S_MARA | RAUBE | Storage Conditions | Text (CHAR) | 80 | |||
| S_MARA | TEMPB | Temperature Conditions Indicator | Text (CHAR) | 80 | |||
| S_MARA | BEHVO | Container Requirements | Text (CHAR) | 80 | |||
| S_MARA | STOFF | Hazardous Product Number | Text (CHAR) | 40 | |||
| S_MARA | ETIAR | Label Type | Text (CHAR) | 80 | |||
| S_MARA | ETIFO | Label Form | Text (CHAR) | 80 | |||
| S_MARA | WESCH | Number of Goods Receipt/Issue Slips | Number (NUMC) | 13 | 3 | ||
| S_MARA | XGCHP | Indicator: Approved Batch Rec. Required | Text (CHAR) | 1 | |||
| S_MARA | MHDHB | Total Shelf Life | Number (NUMC) | 4 | |||
| S_MARA | MHDRZ | Minimum Remaining Shelf Life | Number (NUMC) | 4 | |||
| S_MARA | SLED_BBD | Indi. for the Shelf Life Expiration Date | Text (CHAR) | 80 | |||
| S_MARA | MHDLP | Storage Percentage | Number (NUMC) | 3 | |||
| S_MARA | RDMHD | Rounding Rule for Calculation of SLED | Text (CHAR) | 80 | |||
| S_MARA | HNDLCODE | Handling Indicator | Text (CHAR) | 80 | |||
| S_MARA | WHMATGR | Warehouse Product Group | Text (CHAR) | 80 | |||
| S_MARA | WHSTC | Warehouse Storage Condition | Text (CHAR) | 80 | |||
| S_MARA | HUTYP_DFLT | Standard Handling Unit Type | Text (CHAR) | 80 | |||
| S_MARA | SERIAL | Serial Number Profile | Text (CHAR) | 80 | |||
| S_MARA | PILFERABLE | Pilferable | Text (CHAR) | 1 | |||
| S_MARA | HAZMAT | Relevant for Hazardous Substances | Text (CHAR) | 1 | |||
| S_MARA | QQTIME | Quarantine Period | Number (NUMC) | 3 | |||
| S_MARA | QQTIMEUOM | Time Unit for Quarantine Period | Text (CHAR) | 80 | |||
| S_MARA | QGRP | Quality Inspection Group | Text (CHAR) | 80 | |||
| S_MARA | HUTYP | Handling Unit Type | Text (CHAR) | 80 | |||
| S_MARA | MAXC | Maximum Capacity | Number (NUMC) | 15 | 3 | ||
| S_MARA | MAXC_TOL | Overcapacity Tolerance | Number (NUMC) | 3 | 1 | ||
| S_MARA | TARE_VAR | Variable Tare Weight | Text (CHAR) | 1 | |||
| S_MARA | MAXL | Max. Pack. Length | Number (NUMC) | 15 | 3 | ||
| S_MARA | MAXDIM_UOM | UoM for Max. Pack. Length (ISO Format) | Text (CHAR) | 80 | |||
| S_MARA | MAXB | Max. Pack. Width | Number (NUMC) | 15 | 3 | ||
| S_MARA | MAXH | Max. Pack. Height | Number (NUMC) | 15 | 3 | ||
| S_MARA | RBNRM | Catalog Profile | Text (CHAR) | 80 | |||
| S_MARA | SSTUF | Assortment Grade | Text (CHAR) | 80 | |||
| S_MARA | LSTVZ | Listing Procedure | Text (CHAR) | 80 | |||
| S_MARA | LDVZL | Listing Period Start Date | Date | ||||
| S_MARA | LDBZL | Listing Period End Date | Date | ||||
| S_MARA | LSTFL | Listing Procedure | Text (CHAR) | 80 | |||
| S_MARA | LDVFL | Listing Period Start Date | Date | ||||
| S_MARA | LDBFL | Listing Period End Date | Date | ||||
| S_MARA | VDVZL | Sales Period Start Date | Date | ||||
| S_MARA | VDBZL | Sales Period End Date | Date | ||||
| S_MARA | VDVFL | Sales Period Start Date | Date | ||||
| S_MARA | VDBFL | Sales Period End Date | Date | ||||
| S_MARA | WAUSM | Delivery Unit of Measure (ISO Format) | Text (CHAR) | 80 | |||
| S_MARA | WVRKM | Sales Unit of Measure (ISO Format) | Text (CHAR) | 80 | |||
| S_MARA | WMAAB | ABC Indicator | Text (CHAR) | 80 | |||
| S_MARA | WBKLA | Valuation Class | Text (CHAR) | 80 | |||
| S_MARA | WHERL | Country/Region of Origin | Text (CHAR) | 80 | |||
| S_MARA | WHERR | Region of Origin | Text (CHAR) | 80 | |||
| S_MARA | WEKGR | Purchasing Group | Text (CHAR) | 80 | |||
| S_MARA | BWSCL | Source of Supply | Text (CHAR) | 80 | |||
| S_MARA | TAKLV | Tax Classification | Text (CHAR) | 80 | |||
| S_MARA | WLADG | Loading Group | Text (CHAR) | 80 | |||
| S_MARA | WBWSP | Valuation Margin | Number (NUMC) | 6 | 2 | ||
| S_MARA | PSTATQ | Indicator: Quality | Text (CHAR) | 1 | |||
| S_MARA | PSTATV | Indicator: Sales | Text (CHAR) | 1 | |||
| S_MARA | PSTATL | Indicator: Storage | Text (CHAR) | 1 | |||
| S_MARA | PSTATE | Indicator: Purchasing | Text (CHAR) | 1 | |||
| MAKT - Material Descriptions | |||||||
| S_MAKT | MATNR | Product Number | Text (CHAR) | 18 | Mandatory | ||
| S_MAKT | SPRAS | Language Key | Text (CHAR) | 2 | Mandatory | ||
| S_MAKT | MAKTX | Product Description | Text (CHAR) | 40 | Mandatory | ||
| MARM - Units of Measure for Material | |||||||
| S_MARM | PRODUCT | Product Number | Text (CHAR) | 80 | Mandatory | ||
| S_MARM | MEINH | Alternative Unit of Measure (ISO Format) | Text (CHAR) | 80 | Mandatory | ||
| S_MARM | UMREN | Denominator for Conversion to Base Unit | Number (NUMC) | 5 | Mandatory | ||
| S_MARM | UMREZ | Numerator for Conversion to Base Unit | Number (NUMC) | 5 | Mandatory | ||
| S_MARM | EAN11 | GTIN | Text (CHAR) | 18 | |||
| S_MARM | NUMTP | GTIN Category | Text (CHAR) | 80 | |||
| S_MARM | LAENG | Length | Number (NUMC) | 13 | 3 | ||
| S_MARM | BREIT | Width | Number (NUMC) | 13 | 3 | ||
| S_MARM | HOEHE | Height | Number (NUMC) | 13 | 3 | ||
| S_MARM | MEABM | Unit for Length/Width/Height(ISO Format) | Text (CHAR) | 80 | |||
| S_MARM | BRGEW | Gross Weight | Number (NUMC) | 13 | 3 | ||
| S_MARM | GEWEI | Unit of Weight (ISO Format) | Text (CHAR) | 80 | |||
| S_MARM | VOLUM | Volume | Number (NUMC) | 13 | 3 | ||
| S_MARM | VOLEH | Volume Unit (ISO Format) | Text (CHAR) | 80 | |||
| S_MARM | CAPAUSE | Capacity Usage | Number (NUMC) | 15 | 3 | ||
| CLASS - Class Header Data (KLAH) | |||||||
| S_CLASS | PRODUCT | Product Number | Text (CHAR) | 18 | Mandatory | ||
| S_CLASS | CLASS | Class | Text (CHAR) | 80 | Mandatory | ||
| S_CLASS | CLASSTYPE | Class Type | Text (CHAR) | 80 | Mandatory | ||
| S_CHARACT - Characteristic (CABN) | |||||||
| S_CHARACT | PRODUCT | Product Number | Text (CHAR) | 80 | Mandatory | ||
| S_CHARACT | CLASS | Class | Text (CHAR) | 80 | Mandatory | ||
| S_CHARACT | CLASSTYPE | Class Type | Text (CHAR) | 80 | Mandatory | ||
| S_CHARACT | ATNAM | Characteristic Name | Text (CHAR) | 80 | Mandatory | ||
| S_CHARACT | POSNR | Item | Text (CHAR) | 3 | |||
| S_CHARACT | VALUE_CHAR | Character Value | Text (CHAR) | 70 | |||
| S_CHARACT | VALUE_NUMC | Numeric Value | Number (NUMC) | 16 | 16 | ||
| S_CHARACT | VALUE_DATE | Date | Date | ||||
| S_CHARACT | VALUE_TIME | Time | Time | ||||
| S_CHARACT | VALUE_CURR | Currency Value | Number (NUMC) | 23 | 2 | ||
| S_MLAN - Tax Classification for Material | |||||||
| S_MLAN | PRODUCT | Product Number | Text (CHAR) | 80 | Mandatory | ||
| S_MLAN | ALAND | Country/Region | Text (CHAR) | 80 | Mandatory | ||
| S_MLAN | TATYP1 | Tax Category 1 | Text (CHAR) | 80 | Mandatory | ||
| S_MLAN | TAXM1 | Tax Classification 1 | Text (CHAR) | 80 | Mandatory | ||
| S_MLAN | TATYP2 | Tax Category 2 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM2 | Tax Classification 2 | Text (CHAR) | 80 | |||
| S_MLAN | TATYP3 | Tax Category 3 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM3 | Tax Classification 3 | Text (CHAR) | 80 | |||
| S_MLAN | TATYP4 | Tax Category 4 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM4 | Tax Classification 4 | Text (CHAR) | 80 | |||
| S_MLAN | TATYP5 | Tax Category 5 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM5 | Tax Classification 5 | Text (CHAR) | 80 | |||
| S_MLAN | TATYP6 | Tax Category 6 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM6 | Tax Classification 6 | Text (CHAR) | 80 | |||
| S_MLAN | TATYP7 | Tax Category 7 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM7 | Tax Classification 7 | Text (CHAR) | 80 | |||
| S_MLAN | TATYP8 | Tax Category 8 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM8 | Tax Classification 8 | Text (CHAR) | 80 | |||
| S_MLAN | TATYP9 | Tax Category 9 | Text (CHAR) | 80 | |||
| S_MLAN | TAXM9 | Tax Classification 9 | Text (CHAR) | 80 | |||
| STXH - SAPscript Text Header | |||||||
| TDOBJECT | Text Object (e.g., MATERIAL, VENDOR, etc.) | CHAR | 10 | ||||
| STXH | TDNAME | Text Name (object key, e.g., material number, PO number) | CHAR | 70 | |||
| STXH | TDID | Text ID (text type, e.g., F01 = Header Text, L01 = Item Text) | CHAR | 4 | |||
| STXH | TDSPRAS | Language Key | LANG | 1 | |||
| STXH | TDTITLE | Title of the text (optional short description) | CHAR | 60 | |||
| STXH | TDFUSER | Last Changed by (user) | CHAR | 12 | |||
| STXH | TDFDATE | Date of Last Change | DATS | 8 | |||
| STXH | TDFTIME | Time of Last Change | TIMS | 6 | |||
| STXH | TDVERSION | Version Number of Text | NUMC | 4 | |||
| STXH | TDLOCK | Lock Indicator | CHAR | 1 | |||
| STXH | TDTRANSTAT | Translation Status | CHAR | 1 | |||
| STXH | TDOSPRAS | Original Language | LANG | 1 | |||
STXL - SAPscript Text File (Cluster) | |||||||
| STXL | RELID | Cluster Area (ID of cluster; for texts usually "TX") | Text (CHAR) | 2 | |||
| STXL | TDOBJECT | Text Object (e.g., MATERIAL, VENDOR, etc.) | Text (CHAR) | 10 | |||
| STXL | TDNAME | Text Name (object key, e.g., material number, purchase order) | Text (CHAR) | 70 | |||
| STXL | TDID | Text ID (text type, e.g., F01 = header text, L01 = item text) | Text (CHAR) | 4 | |||
| STXL | TDSPRAS | Language Key | Language (LANG) | 1 | |||
| STXL | SRTF2 | Sort number (used to split large texts across several cluster entries) | Numeric (NUMC) | 3 | |||
| STXL | CLUSTR | Length field for cluster (internal, technical) | Integer (INT2) | 5 | |||
| STXL | CLUSTD | Length field for cluster (internal, technical) | Integer (INT2) | 5 | |||
| STXL | VARTEXT | Compressed text data (the actual long text, stored in cluster format) | (RAW) | 255 | |||
Data Cleansing
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 |
|---|---|---|---|---|---|
| 001 | High | Remove Duplicated Entries - Services | Remove duplicates based on Service Description + UoM + Service Group (?) | PF2 / WP2 | |
002 | High | Remove Duplicated Entries - Materials | Check for materials with same Long/Short Description Check Old Material Number field Check Materials with same Manufacturer Part Number Check Source List/PIR for identical set ups Check BOMs for identical components Where duplicates found, check if either has no activity | PF2 / WP2 | |
| 003 | Medium | Validation of Service Group, UoM, and active status in target config | Validate existence of Service Group, UoM, and active status in target config | PF2 / WP2 | |
004 | High | English description missing or EN description not English language | All materials require English description by default, so need to be provided if missing. Current EN descriptions not in English language need to be translated. The field details for description are the following: Field Name / Data Element / Domain: MAKTX | PF2 / WP2 | |
005 | High | Description format | Material descriptions must adhere to S4 standardization so no special characters, and must not exceed character limit | PF2 / WP2 | |
006 | High | UoM alignment | All material UoMs to adhere to S4 standardization. Confirmation regarding EA/PC format. | PF2 / WP2 |
Conversion Process
The high-level process is represented by the diagram below:
Data Privacy and Sensitivity
N/A
Data Merging / Data Consolidation
The data merging is restricted to the Materia Types Z720 / ZB20 / ZDIE being Deduplicated/Merged into ZSER in combination with the Service Master.
Extraction
Extract data from a source into . There are 2 possibilities:
- The data exists. connects to the source and loads the data into . There are 3 methods:
- Perform full data extraction from relevant tables in the source system(s).
- Perform extraction through the application layer.
- Only if ; cannot connect to the source, data is loaded to the repository from the provided source system extract/report.
- The data does not exist (or cannot be converted from its current state). The data is manually collected by the business directly in . This is to be conducted using DCT (Data Collection Template) in
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 Description | Team Responsible |
|---|---|---|
| All material status not defined as "EXCLUDED" should be included in scope, otherwise must be included in scope (independently of the status) | ||
| 001 | Do not extract records where ASMD-LVORM = X (record deleted) | Syniti Team |
| 002 | Do not extract records where ASMD-MATKL (Material Group) is set as out of scope | Syniti Team |
| 003 | Do not extract records where ASMD-MLANG (Main Language) is set as out of scope | Syniti Team |
| 004 | Do not extract records where ASMD-BKLAS (Valuation Class) is set as out of scope | Syniti Team |
| 005 | Service Group (ASMD-ASBGR) must exist in customizing table T023 | Syniti Team |
| 006 | All Services and Materials (defined as services) that have been created on the last 36 months are relevant to be migrated | Syniti Team |
| 007 | All Services and Materials (defined as services) that have a Purchase Order created in the last 6 months or has a goods receipt on the last 6 months, must be included | Syniti Team |
| 008 | All Services and Materials that are marked for Deletion should be excluded | Syniti Team |
| 009 | All material status not defined as EXCLUDED should be included in scope, otherwise must be included in scope (independently of the status) | Syniti Team |
Selection Screen
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
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 Name | Field Description | Rule |
|---|---|---|
Extraction Dependencies
| Item # | Step Description | Team Responsible |
|---|---|---|
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 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
- 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 | Obtain DCT Sign-off from Business | SyWay S2P Data Team |
3 | Review and Validate Error and Preload Reports | SyWay S2P Data Team |
4 | Generate Load Files | SyWay S2P Data Team |
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| 001 | PF2 - MATERIAL | MARA | MATNR | Product Number | S4/HANA | S_MARA | MATNR | Product Number | Generate a new material code and keep the mapping of Old Material and New Material in a dedicated table |
| 002 | PF2 - MATERIAL | MARA | ATTYP | Product Category | S4/HANA | S_MARA | ATTYP | Product Category | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
| 003 | PF2 - MATERIAL | MARA | SATNR | Configuration Product for Retail Variant | S4/HANA | S_MARA | SATNR | Configuration Product for Retail Variant | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
| 004 | PF2 - MATERIAL | MARA | MATKL | Product Group | S4/HANA | S_MARA | MATKL | Product Group | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
| 005 | PF2 - MATERIAL | MARA | MBRSH | Industry Sector | S4/HANA | S_MARA | MBRSH | Industry Sector | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
| 006 | PF2 - MATERIAL | MARA | SPRAS | Language Key | S4/HANA | S_MARA | SPRAS | Language Key | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
| 007 | PF2 - MATERIAL | MARA | MEINS | Base Unit of Measure (ISO Format) | S4/HANA | S_MARA | MEINS | Base Unit of Measure (ISO Format) | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
| 008 | PF2 - MATERIAL | MARA | NUMTP | GTIN Category | S4/HANA | S_MARA | NUMTP | GTIN Category | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
| 009 | PF2 - MATERIAL | MARA | SPART | Division | S4/HANA | S_MARA | SPART | Division | Apply Data Conversion from OLD to NEW value. The 1:1 relation is expected. |
Transformation Mapping
| Mapping Table Name | Mapping Table Description |
|---|---|
Material Number | Mapping of legacy Material Number to target system value |
Material Type | Mapping of legacy Material Types to target system value |
Material Group | Mapping of legacy Material Groups to target system value |
| Product Hierarchy | Mapping of legacy Product Hierarchies to target system value |
| Language Key | Mapping of legacy Language Key to target system value |
| Unit of Measure | Mapping of legacy Unit of Measure to target system value |
Transformation - Special Requirements
Custom Fields - to be identified the usage of those and whether they will be moved into S4/Hana
Tables: MARA / MAKT
Custom Unit of Measures: to be identified the usage of those and whether they will be moved into S4/Hana
Data Mapping: Account Group
| Account Group | |
|---|---|
| OLD: Legacy Account Group | NEW: S4/Hana Account Group |
| Z720 | ZSER |
| ZB20 | ZSER |
| ZDIE | ZSER |
* some materials were originally created under type ZNLA (e.g., electricity). However, these must be converted to type ZSER. An exception list table should be created to capture all relevant materials, ensuring they are flagged as in-scope for migration.
Transformation Dependencies
List the steps that need to occur before transformation can commence| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Ensure DCT tables completeness | SyWay S2P Data Team |
2 | Value Mappings are according to the latest design - <List of Value Mappings> | SyWay S2P Data Team |
| 3 | Mapping Tables must be properly updated | Syensqo Data Team |
Pre-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
Verify Record Count | SyWay S2P Data Team to verify that the total number of relevant records from the DCT is equal to the total number of records in the Preload and Load Sheets. |
| Mandatory Fields | Check mandatory fields for completeness |
| Field Format | Validate field formats (text length, data types) |
| Service Group and UOM | Confirm Service Group and UoM exist in target system |
| Duplicated Records | Check for duplicates before load |
Accuracy
| Task | Action |
|---|---|
| Description | Check whether the description matches the with the same value from Legacy System |
| Legacy Code | Check whether the Legacy code is maintained as expected. The rule is valid for all legacy systems. |
| UOM Maintained | Check whether the Unit of Measure was respected |
Business
Completeness
| Task | Action |
|---|---|
Accuracy
| Task | Action |
|---|---|
Load
The load process includes:
- Execute the automated data load into target system using load tool or product the load file if the load must be done manually
- 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 Description | Team Responsible |
|---|---|---|
| 001 | The data is save into the staging areas of Migration Cockpit | Syniti Team |
| 002 | Data Load is executed by Migration Cockpit respecting the proper sequence | Syensqo Team |
Load Phase and Dependencies
Configuration
| Item # | Configuration Item |
|---|---|
Conversion Objects
| Object # | Preceding Object Conversion Approach |
|---|---|
Error Handling
| Error Type | Error Description | Action Taken |
|---|---|---|
Post-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
| Check record count against DCT and load file. | |
| Verify random samples in S/4 using transaction AC03. | |
| Ensure data appears in standard search helps (e.g., ML81N). | |
| Log any mismatches or errors for remediation. |
Accuracy
| Task | Action |
|---|---|
Business
Completeness
| Task | Action |
|---|---|
Accuracy
| Task | Action |
|---|---|
Syniti Reports
| # | Topic | Jira Ticket | Creation Date | Resolution Date | |
|---|---|---|---|---|---|
| 001 | |||||
| 003 | |||||
| 004 | |||||
| 005 | |||||
| 006 | |||||
| 007 |
Open Questions
| # | Topic | Jira Ticket | Creation Date | Resolution Date | |
|---|---|---|---|---|---|
| 001 | |||||
| 003 | |||||
| 004 | |||||
| 005 | |||||
| 006 | |||||
| 007 |
Key Assumptions
- Master Data Standard is up to date as on the date of documenting this conversion approach and data load.
- is in scope based on data design and any exception requested by business.
See also
Change log
Workflow history
| Title | Last Updated By | Updated | Status | |
|---|---|---|---|---|
| There are no pages at the moment. | ||||


