An Eye Opener for Transporting MDM Repositories
Its been a long time since i have not written a new blog in SAP MDM. Being SAP MDM as part of EIM, I was busy working in SAP BW and some other person reasons. Today, i am gonna talk about transport of MDM objects especially MDM repositories in different Environments like (Development, Quality and Production).
Once a developer done with the repository design, maps and all other stuffs and then need to transport it to Quality/Production Environment. What is the right approach.
I would always suggest you should move the repository schema with no records or Export/Import schema to quality environment and then finally to Production.
Its strange to know that some guys keep asking about how to move values of all LUT (look-up Table) to new environment without Main table records. So what they usually do..? They take the archive .a2a file of Developement repository and then unarchive it in Quality environment where they keep the LUT records and delete manually Main table data for this repository which sometimes causes lot of issues.
1). Since you have kept the same archive file of development repository with all records. After deleting main table records using MDM Data Manager, it may be still possible that these records are available in Database as Database also keep track of these MDM records using Internal ID key. So though you have even deleted records from MDM Data Manager but because of Database there might probablilty that you might face some issues while creating records in Data Manager like The Requested Record could not be found. So after deleting main table records one should ideally load repsoitory with Update Indices to refresh the linking of records in database too but still after doing it there may be probablilty that you can still face some other issues.
2). In order to keep LUT table values while transporting, you usually forget to integrate ECC system with MDM for populating Refrence table values which is not correct. In future, if you increase some values for look up tables in particular environemnt of ECC, same would not be reflected in MDM as you took these LUT values from ECC Development Environemnt only not from Quality, similarly it could be one of the biggest threat if you dont stick to basics and forget the same thing for Production Environment. You might configure MDMGX extraction for each of Environments for populating reference table values in MDM from ECC for smooth business operations.
3). Since in each environment your Remote System might be with different name and can have different LUT key value, so sometimes it may not allow to save main table records along with LUT Values.
For Example: For LUT table Countries, Country India has Key as IND in ECC Dev Env with remote System ECC DEV. It may or may not be different in ECC Quality Env. If India country Key maintianed as IN in Quality ECC so while importing it will lead to Data discrepancies. So sometimes you can face issues like Error 5611520 – Error Saving Key Mapping and Key mapping value must be unique. You cannot overwrite key.
4). If you are having Auto ID field maintianed in Main table of Repository so you have to make some alternative to count Auto ID starts again from 0 (Zero) since if you deleted exisiting records from MDM repository which you took as complete .a2a file from Development Environment it does not start from 0 (Zero) automatically.
There might be some other issues as well you can face. So I would suggest always move repository transport from one environment to different environment with no records just schema of .a2a file or with help of Export/Import Repository Schema in order to achieve smooth implemenation. One should not bothered about tranporting all Lookup table values from one environment to another using MDM repositories as it can lead to data discrepancies.
Note: All above are my personal views, there is nothing as such strong evidences i can furnish to support above and what other issues you can face, if you transport MDM repository.a2a file from one environment to another with complete main as well as lookup table records and then later deleting main table records to work on MDM repository.