cancel
Showing results for 
Search instead for 
Did you mean: 

Import of UOM ISO Codes into SRM-MDM Repository

Matt_Fraser
Active Contributor
0 Kudos

I am configuring a new SRM-MDM Catalog, and after much hunting around of documentation, blogs, threads, etc, have mostly got it going. I'm hung up on one of the final installation/configuration steps, however, for the Initialization of the SRM-MDM Catalog Repository.

Specifically, I am able to successfully extract Currencies, UoM ISO Codes, and Product Groups from SRM via MDMGX, but when importing them into the repository via MDIS (or MDM Import Manager, for that matter) only two of those three load successfully. For some reason I cannot get the UoM ISO Codes to completely load in the repository, although there is no error that I can find. What's odd is that one or two will load, but no more -- the rest are skipped.

Steps I took:

  1. In MDM Console, created a Remote System with name and code BBS_300 (i.e., <SID>_<client>) as a copy of the delivered 'SRM' template.
  2. In Import Manager, connected to the SRM Remote System with a dummy file and exported the Import Maps for LT_Currencies, LT_UOM_ISO_Code, and LT_ProductGroups.
  3. Still in Import Manager, connected to the BBS_300 Remote System (same dummy file), and imported the three Import Maps just exported. Also set Configuration -> Options -> Import -> Do not update record matching field value to 'No.' Other configuration options defaulted to what I've seen recommended in the Repository Guide (from Note 1548532); only this one needed changing.
  4. Back in the Console, created new Ports:
    1. Name = BBS_300 Currencies, Code = LT_Currencies
    2. Name = BBS_300 Unit of Measure ISO Code, Code = LT_UOM_ISO_Code
    3. Name = BBS_300 Product Groups, Code = LT_ProductGroups
    4. All Ports are Type = Inbound, Remote System = BBS_300, Map matches the Code, Format = XML Schema, XML Schema = ReferenceData SRM, and Processing Type = Automatic
  5. In SRM, tcode MDMGX:
    1. Upload Ports and Check-Tables, with Object Type = Catalog, imported MDMGX_Catalog.TXT that I downloaded from Note 1177780, with 'Remove Header Line' checked.
    2. Maintain Ports and Check-Tables, confirmed the existence of entries for OBJECT_TYPE = Catalog for System Types R3 and SRM.
    3. Define Repositories and FTP servers, I made a copy of SAP_SP4_PRODUCT with name equal to my repository (SPSCatalog), ObjectType = Catalog, Clnt Code = BBS_300, Remote System Type = SRM, and Language = EN (I stripped out the others). We don't use an FTP server (this is in Windows, so it's not needed), but I set the MDM Root to \\<MDM_host>\saploc\<SID>\MDS02\mdm\distributions\<HOSTNAME>_MSQL.
    4. Start Extraction, to the repository just defined, with Local download checked, File directory set to the MDM Root (as above), and Download in MDM port structure checked.

Up to this point everything worked fine. On my MDM server, I see the folder structure under \mdm\distributions\<HOSTNAME>_MSQL\SPSCatalog\Inbound\BBS_300. Under that I have three folders as expected for LT_Currencies, LT_ProductGroups, and LT_UOM_ISO_Code. In each of those I have Archive, Exception, Log, Ready, and Status.

For each port, I saw the extracted XML file appear in the Ready folder, and a few moments later disappear and a slightly differently-named xml file appear in the Archive folder. So, the MDIS automatic import mechanism is working. Nothing shows up in the Exception folders.

When I go to check the results in the MDM Data Manager, however, I see lots of Currencies and Product Groups (including our custom Product Groups), but for UOM ISO Code only one shows up. One record out of an extracted 143 (yes, the extract xml file contains all 143).

I tried this again, manually this time via the Import Manager, and there I saw that all the Map Fields/Values appeared to be correctly matched (again, per the Repository Guide), and Match Records default import actions were correctly set. I ran the import through this tool with almost exactly the same result: success messages, but only two UoMs imported. So, now I have two.

When I looked at the import log for the port from the automatic import I see these (snippets to keep this short and relevant):

Parsed and populated Chunk No: 1 w/ 143 segments.

Structural Transformation completed for Chunk No: 1 w/ 143 segments.

Value Transformation completed for Chunk No: 1 w/ 143 segments.

Importing: 'UOM_ISO_Code_554_BBS300.xml.CatalogRefData_554.UOM_ISO_Code' Table --> 'SPSCatalog.UOM ISO Code' Table.

Import action:

--Skip: 0

--Create: 1

--Updated (NULL fields only): 0

--Updated (all mapped fields): 0

--Replace: 0

--Delete [destination]: 0

--Value Exceptions: 0

--Import Exceptions: 0

143 Segments were Successfully imported.

But, 143 UoMs are not visible in Data Manager, only 1 (and then later 2) is. I cannot figure out what I'm doing wrong here.

This is MDM 7.1 sp14 (Import Server sp14 pl0), SRM-MDM Catalog Repository 3.0 sp5, and connected to SRM 7.13 sps9.

Thanks in advance for whatever assistance you can provide.

Cheers,

Matt

Accepted Solutions (0)

Answers (3)

Answers (3)

Matt_Fraser
Active Contributor
0 Kudos

Each time I re-run the import, either automatically via MDIS or manually via Import Manager, exactly one new unit of measure is imported, even though in the Import Manager the status preview indicates that it will create all the new records. So, now I have Millimols per liter, weeks, and thousand sheets. Nothing shows up in the exception folders, and in the manual imports no logs are created (or not such that I know where to look for them). The automatic import creates a log, of course, and that log shows no errors, only that a single record is imported, and no explanation for why the rest are skipped.

cweissheimer
Advisor
Advisor
0 Kudos

Hello,

This is very interesting behavior, can you please provide this xml file so that I may test?

Best Regards,

Carlos

Matt_Fraser
Active Contributor
0 Kudos

Hi Carlos,

Thanks for your reply! I assume you mean the xml file extracted from running MDMGX in the SRM system. Here is the file, as it appeared in the archive folder on the MDM system after the first import via MDIS.

Also of interest, I just now realized, looking into the file, that the three units of measure I've so far managed to import, one at a time, are the three that appear last in the file. So, first I got Weeks, then Millimol per liter, then Thousand Sheet. So, it seems the import brings in each unit of measure, then overwrites it with the next one, then the next one, etc, so the only one that sticks is the last one imported. However, if the UoM already exists, it skips the import, and thus the last one to be imported is the previous one to it.

With that in mind, I now notice something odd in the Data Manager. There I see my three UoMs, and two of them look normal, but there's something odd about the Thousand Sheet UoM, i.e. the one most recently imported. For some reason, it has multiple Remote Keys associated with it, in fact all the Remote Keys except for the two associated with the two previously imported UoMs, which each have only their one Remote Key.

So, something must be buggy about the mapping of the Remote Key, which is mapped to ISO_Code.

Cheers,

Matt

ChrisSolomon
Active Contributor
0 Kudos

The plot thickens!.....my money says the maid did it in the library with a candlestick!

cweissheimer
Advisor
Advisor
0 Kudos

Thanks for providing the file.

It seems that the problem is in the source file that you generated. I tested it and got the same behavior.

I was able to get my hands on a newly generated XML from freshly installed SRM and ERP systems, it imported all standard UOM records in one go, without issues. This file is also very different from yours, it has several <UOM_ISO_Code></UOM_ISO_Code> elements, one for each record (note that your file has only one).

I've attached it to this reply for reference.

Best Regards,

Carlos

Matt_Fraser
Active Contributor
0 Kudos

Thanks, Carlos. Ok, I'm reviewing the files to see if I can figure this out. Guess we'll have to do some UoM cleanup work in our master data between SRM and ERP. I remember this being a pain a number of years ago.

Matt_Fraser
Active Contributor
0 Kudos

Hi Carlos.

I'm having trouble understanding exactly what you mean when you say that my file has only one <UOM_ISO_Code></UOM_ISO_Code> element. I see one for each record, just as in your file.

The biggest differences that I see are that in my file I only include English for UnitName and CommercialName, whereas yours includes both English and German, and for many records also French, and yours includes a number of units of measure that aren't in mine at all. Also, I see that we have some differences between CommercialNames for some of the matching units (i.e., you have IB for Pikofarads, whereas I have PO). However, I'm at a loss to understand why that would cause the import to fail in this manner.

Otherwise, I see that your encoding of UTF-8 at the header of the file is in upper case, while mine is in lower case.

Could it be that German must be included? I guess I can give that a fairly quick test.

Cheers,

Matt

ChrisSolomon
Active Contributor
0 Kudos

Unplug it, count to 30 and then plug it back in. Viola!

(*seriously, I left my MDM past well behind me years ago! Sorry.)

Matt_Fraser
Active Contributor
0 Kudos

Lol, yeah, tried that.

Matt_Fraser
Active Contributor
0 Kudos

Perhaps someone from the group can help?