MDM Multiple Main Tables

1) Is it posssible to have multiple main tables in a single repository?

Hi Yashovardan,
Multiple main table in a single MDM repository is not supported till the MDM 5.5 version.
But yes this is available in the latest release of MDM 7.1
Check the other advancements too in the below presentation:
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/101fdef1-7776-2b10-0ab9-8d67c1f3e1d7 (MDM 7.1)
Hope It Helped
Thanks & Regards
Simona Pinto

Similar Messages

  • Multiple Main Table Question

    I am new to MDM 7.1 & Multiple Main Tables. I have a very basic questionu2019
    My Requirement is that I have to keep Two Main Tables,
    1.      Manufacturer Parts Master Table and the key is Manufacturer Name + Manufacturer Part No (Two fields)
    2.      I  have another Main Table  called Manufacturer Parts Table and key will be Manufacturer Name + Manufacturer Part No (Two fields)
    My requirement is  that when I load data in to the 2nd Main table (Manufacturer parts Table) I have to validate against the Master table (Manufacturer Parts  Master Table) with the key combination of Manufacturer Name + Manufacturer Part No  and that this key combination must exists in the 1st table.( Manufacturer Parts Master Table.). If  not then it is an error.
    I know we can use the 1st table as lookup main table for the 2nd table but do we need to combine the key fields Manufacturer Name + Manufacturer Part No for both the tables to validate against the Manufacturer Parts Master table with the same key combination?.
    Anyone explains how I can do this?
    Also, Qualified tables still exits in MDM 7.1? OR we have to use  Tuples?

    Hi,
    1. Manufacturer Parts Master Table and the key is Manufacturer Name + Manufacturer Part No (Two fields)
    In Console: Say your 1st main table has Manufacturer Name + Manufacturer Part. No two fields which are Display fields. For this 1st Main table you should have your Edit Key mapping = Yes.
    In Import Manager: Your Remote Key in your MDM import Manager should be mapped with combination of these two fields using Partition Concept with some delimiter say ,
    e.g. for 1 record in your 1st main table when you right click on your Edit key mapping using MDM data Manager it has values as:
    RemoteSystem Key
    ABC MANF1,123
    So here Key is combination of Manufacturer Name + Manufacturer Part No (MANF1,123) which has delimiter ,
    2. I have another Main Table called Manufacturer Parts Table.
    In Console: For this 2nd Main table first of all, you will create a Field of type Lookup Main which is lookup to 1st main table say X. You will have some other field too in 2nd main table which is Display field and using it you can import data.
    In Import Manager: For 2nd Main table, your source fields again should be combination of Manufacturer Name + Manufacturer Part No using partition field concept with delimiter say , and map this Partition field here with field X which is lookup to main table. when you will do this you will see all your source values for this partition field gets mapped automatically for the records which are present in 1st main table and if there is any value which is not mapped it means that that manufacturer name + manufacturer Part no does not exist in 1st main table.
    You must set this property in Import Map, if you are importing data through Import server by right clicking on target mapped field X Set MDIS Unmapped Value handling = Fail which will take care if record exists in 1st main table then only record imported in 2nd main table else give error. As if record exists in 1st main table then while importing data through 2nd main table his value automatically gets mapped.
    Also, Qualified tables still exits in MDM 7.1? OR we have to use Tuples?
    For most of standard Master's e.g. Material SAP Note 1355137, Customer SAP Note 1412742: Tuple has been replaced using  Qualified table. But if you want, you can model data as per your requirement. You can still use Qualified table if business demands.
    Regards,
    Mandeep Saini

  • How to map lookup main table field in another main table using MDM 7.1?

    We created a new SAP MDM 7.1 repository with multiple main tables.  The first main table is called ProductMaster table which contains Products information.  The ProductCode is the primary key and the only display field for the table during data loading process. The second main table is ProductByRegion table which has a main table lookup field ProductCode and a RegionId field.  These two fields (ProductCode and RegionId) combine as the PK for this main table.  Both main tables have key mapping enabled. 
    I was able to load ProductMaster table using Import Manager.  But Iu2019m having trouble to load data into ProductByRegion table using MDM Import Manager.  Although I have met all the 5 requirements below (excerpted from MDM Import Manager Reference Guide P.222), the ProductCode wonu2019t show up on the destination value pane.  If I mapped all productCode to NULL field, ProductCode wonu2019t load.  If I u2018Addu2019 all ProductCode to Destination Value pane, the Import Manager added duplicated rows to Product Master table while only loading 1 record to ProductByRegion table.  I canu2019t get ProductCode show up in Matching Destination Field list.  When I checked ProductMaster records in MDM Data Manager, I right-clicked on one of records, chose Edit Key Mappings, it didnu2019t show anything.  However, if I right-clicked on one of those duplicated rows, Edit Key Mapping shows remote system and key correctly.
    Where did I do wrong?  How can I fix the problem?
    Thank you for help in advance.
    From: SAP MDM Import Manager Reference Guide:
    Mapping to Main Table Lookup Destination Fields
    Import Manager handles main table lookup fields (Lookup [Main])
    differently than other MDM lookup fields. Specifically, Import Manager
    does not display the complete set of display field values of the records
    of the underlying lookup table. Instead, the values it displays for a main
    table lookup field are limited by both the key mappings for the lookup
    table and the values in the source file.
    Also, Import Manager does not automatically display the values of a
    Lookup [Main] destination field in the Destination Values grid when you
    select the field in the Destination Fields grid. Instead, for a main table
    lookup field value to appear in the Destination Values grid, all of the
    following conditions must be met:
    u2022 The lookup table must have key mapping enabled
    u2022 The lookup field must be mapped to a source field
    u2022 The source field must contain key values for the lookup table
    u2022 The destination value must have a key on the current remote system
    u2022 The destination valueu2019s key must match a source field value
    NOTE ►► The current remote system is the remote system that was
    selected in Import Manageru2019s Connect to Source dialog (see
    u201CConnecting to a Remote Systemu201D on page 416 for more information).
    Vicky

    Hi Michael,
    Thank you very much for your response.  I'm new to SAP MDM, I need some clarification and help regarding your solution. 
    I did use two maps to load ProductMaster and ProductByRegion separately.  Here were my steps:
    1. create main table ProductMaster with key mapping enabled at the table level and set ProductCode as unique and writable once (primary key).
    2. create a map to load ProductMaster record from a staging table located an oracle database.  But Key mapping didn't show anything when I looked at them using Data Manager.
    3. create main table ProductByRegion with a lookup field looking at ProductMaster table.  This field and RegionId combines as a unique field for ProductByRegion table. 
    4. create a map to load ProductByRegion table.  But ProductCode records only shows on the source pane not destination pane and can't be mapped properly.
    My questions:
    1. How can I "Ensure that you add key mapping info for all ProductMaster records" besides enabling Key Mapping on the table level?
    2. How can I define a concatenation of ProductCode and RegionId as a REMOTE KEY"?
    Thanks a lot for your help!
    Vicky

  • Create Lookup[Taxonomy] field for same taxonomy in two main tables

    In MDM 7.1 SP03, 
    1) We have two main tables MTable1 and MTable2 in repository
    2) One Taxonomy table Taxo1
    3) In MTable1, Created a Lookup[Taxonomy] field for Taxo1 table
    4) In MTable2, not able to create Lookup[Taxonomy] field for Taxo1
    table.
    Why is it not allowed to use Lookup[Taxonomy] in multiple main tables?
    Thanks,
    Rajesh
    Edited by: Rajesh Penagalapati on Nov 12, 2009 4:53 AM
    Edited by: Rajesh Penagalapati on Nov 12, 2009 4:54 AM

    Hi,
    Thats a limitation .Multiple Main tables cannnot share  the same Taxonomy table.
    You can refer the features of MDM 7.1 at
    http://help.sap.com/saphelp_nwmdm71/helpdata/en/43/D7AED5058201B4E10000000A11466F/frameset.htm
    Regards
    Nisha

  • Limit on number of Main tables in a repository

    Hi experts,
    Is there any limit on number of main tables being maintained  in a repository? Do we face any performance issue or any such issue if we maintain 20-30 or more main tables in data model? Please share your experience or any documentation link if any.
    Thanks,
    Vineet

    Hi Vineet,
    In Latest version of SAP MDM which is 7.1 we have the liberty to use multiple Main tables so answer to your question is yes we can use 20-30 main tables, now the question is that what type of data model you are prepairing this question is just to understand your entire structure and may be suggest some thing at higher level on which you can think and then take corrective action as per your thoughts.
    Generally even if you are integrating Customer/Products in single repository and then designing the main table you wont have to prepare such huge number of main tables you can have these two main tables and then rest of then as sub tables and refer it to each other also you need to know what imapct it will have on system performance becuase they would be referring to each other and also if you are creating some thousands of records in each repository then it is more advisable to use limited number of main tables and use MDM to it's fullest capability by designing such model that we have best utlisation of server performance.
    Hope it helped a bit.
    Let me know if you need any further information on same.
    Thanks and Regards
    Praful.

  • How to replace NULL values from main table

    Dear all,
    I like to remove the NULL values from a main table field. Or the question is how to replace any part of the string field in MDM repository main table field.
    e.g.   I have a middle name field partly the value is NULL in some hundreds of records, I like to replace NULL values with Space
    any recommendation.
    Regards,
    Naeem

    Hi Naeem,
    You can try using Workflows for automatically replacing NULLs with any specific value.
    What you can do is: Create a workflow and set trigger action as Record Import, Record Create and Record Update. So, that whenever any change will occur in the repository; that workflow will trigger.
    Now create an assignment expression for replacing NULLs with any specific value and use that assignment expression in your workflow by using Assign Step in workflow.
    For exiting records, you will have to replace NULLs manually using the process given by Preethi else you can export those records in an Excel spreadsheet which have NULLs and then replace all NULLs with any string value and then reimport those records in your MDM repository.
    Hope this will solve your problem.
    Regards,
    Varun
    Edited by: Varun Agarwal on Dec 2, 2008 3:12 PM

  • Creating record on second main table during import

    Hello all,
    I am importing data to a main table (materials), and I have a second main table linked to the materials main table to store supporting data.  Assuming I have a new record being imported that contains an entity that doesn't exist in that second main table, is it possible to create a record inside the second main table?  This functionality exists for lookup tables, if the lookup record doesn't exist you can configure the map to create the record in the lookup table.  Can the same thing be accomplished with multiple main tables?  I'm having trouble with this because I can't get any field aside from the primary key on the second main table to show up in the destination fields in the import manager.

    Hi,
    As you said, Assuming I have a new record being imported that contains an entity that doesn't exist in that second main table, is it possible to create a record inside the second main table?
    This scenario is quite possible.
    I have a Work Around and it should work according to me...
    See, In this case you have to create two maps, one for Main table (Primary) Import and another for Second Main table(Secondary).
    Before Importing Main table(Import) this file should be Imported to Second Main table import(Secondary) by putting that file to ready inbound port of Second Main table.
    So, Records entities that do not exist in secondary main table will get created and for existing records will get updated.
    Now when the same Source file import for Main table, that record entity would be already there in Secondary main table and as such you would not face any issue while importing through main table.
    Kindly let me know if you face any issue.
    Thanks and Regards,
    Mandeep Saini

  • Retrieving lookup field values from a main table using MDM JAVA APIs

    Hi all,
    am trying to retrieve the main table data...., i could able to retrieve all the data except lookup field values..., iam facing some runtime exceptions and i dont know why exactly it is throwing this exception..., i pasted piece of code where exactly the error is and the exception also.
    in the below sode i set some result set definitions and passing them to retrieveLimitedRecordsCommand. it is showing some exception at retrieveLimitedRecordsCommand.execute(); command.
    //*** Code  ***//
      supportingMainResultDefinitions = new ResultDefinition[] { rdQual ,rdFlat, rdqFlat  };
                                            retrieveLimitedRecordsCommand.setResultDefinition(rd);
                                            retrieveLimitedRecordsCommand.setSearch(new Search(tableId));
                                            retrieveLimitedRecordsCommand.setSession(sessionId);
                                            retrieveLimitedRecordsCommand.setSupportingResultDefinitions(supportingMainResultDefinitions);
                                            try {
                                            retrieveLimitedRecordsCommand.execute();
                                                    PrintRecords.toConsole(retrieveLimitedRecordsCommand.getRecords());
                                                    } catch (CommandException e) {
                                                    e.printStackTrace();
    //***  Below is the Exception raised ***//
    java.lang.UnsupportedOperationException: Unexpected field type -1
            at com.sap.mdm.internal.schema.PropertiesHelper.createField(PropertiesHelper.java:274)
            at com.sap.mdm.internal.schema.PropertiesHelper.convertFrom(PropertiesHelper.java:281)
            at com.sap.mdm.internal.data.RecordMetadata.<init>(Unknown Source)
            at com.sap.mdm.internal.data.RecordsLoader.<init>(Unknown Source)
            at com.sap.mdm.internal.data.RecordsLoader.<init>(Unknown Source)
            at com.sap.mdm.internal.data.RecordResultSetHelper.convertFrom(Unknown Source)
            at com.sap.mdm.data.commands.RetrieveLimitedRecordsCommand.execute(Unknown Source)
            at com.sap.mdm.apitutorial.lesson2.RecordsDisplay.getDisplayRecords(RecordsDisplay.java:303)
            at org.apache.jsp.Sample_jsp._jspService(Sample_jsp.java:190)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
            at java.lang.Thread.run(Thread.java:534)
    If anyonw worked on this concept..., please provide me the solution
    Regards
    Praveen k

    Which version are you using?  Can you please try and narrow down to the offending field?  You can do this by limiting the fields you provide to ResultDefinition.

  • MDM Data model design for Main table visa vis lookup table

    Hi ,
    I would like to know whether the legal entities or Address table which are common for all MDM main tables like Customer ,Vendor,Material,Business Partner etc can also become a main table when their attributes are around 30-40 range.
    Is it a sound design approach to make Company table with about 50 attributes and say address table with 20 attributes as Main table and replicate a small company-id table with 2 or 3 attributes to link to the main table(company)? This will ensure replicating that small table(company-id) to all other Main tables(customer,vendor,......) instead of replicating that big company table as lookup for all main tables?
    Thanks in advance for any idea or feasibility comments.
    -reo

    Hi, Deepak
    >>> - How can I populate the data in the lookup table at the same time when I am populating the main table ? I have only the XML's that correspond to the main table . I don't have seperate data for the lookup tables .
    I don't think you can populate both main table and all fields of lookup tables at the same time, i.e. using same map. You can consider 2 options to upload all information you have:
    1) If your XML file contains data you would like to upload to lookup tables, you can upload it to MDM lookup tables with several maps using same XML and choosing different sections of that XML corresponding to different MDM lookup tables.
    2) Also you can upload main table simultaneously with lookup table entries (using same map), but in this case new lookup table entries will only contain display field values that you mapped. To do this you should use 'Add' value mapping functionality for fields that you mapped to lookup tables.
    >>>- Can I use the standard maps available for import in the business content of material repository in MDM ?
    1) In case you have material master repository delivered by SAP and you use XML files which structure corresponds to SAP predelivered XSD schemas then you can use these maps undoubtedly.
    2) If your repository is based on SAP predelivered, but you changed it ,you should adjust these maps due to differences in repository structure and  XML files structure.
    3) If you created your repository from scratch you should consider option of making your own import maps.
    Regards,
    Vadim Kalabin

  • MDM Tuple Update using Auto ID field of Main table

    Hi Experts,
    I am getting an issue while updating the tuple in MDM.
    The scenario is as follow:
    We are using DEBMDM06, where one of the field of the XSD is populated with the Auto ID field of MDM.
    This scenario is used for re-importing of data for updating the tuple.
    Now, I have mapped all the tuple related fields and have mapped the Auto ID field that exist in XSD with the Auto ID field that exists in MDM and using the same field for Matching.
    This matching works, but after executing import does not update the tuple, whereas it updates the rest of the fields of the Main table.
    I am aware that Tuple does not support the Auto ID field, but I believe we can use this field ( belonging to main table) and execute import action for updating tuple.
    Has anyone come across this issue? Can we use Auto ID as a matching field to update the tuple?
    Thanks in advance.
    Best Regards,
    Parul Malhotra

    Hi
    Have you tried with "Updated Null Fields",  as Auto id is a calculated field we can not import any data in it.  Try importing with "update Null fields " and let us know the result.
    Check the Tuple update options in configuration options of you import map and import manager.
    I do not have a MDM 7.1 system to check, update null fields should solve your problem
    Let us know the results
    Thanks
    Sowseel

  • MDM Main Table

    Hello MDM Experts,
    I'm new to MDM. When you create a new repository in MDM, MDM automatically creates a main table named Products. I do not want to use this as the main table an I have to create my own main table with diffrent attributes How do I delete this Products  table. Thanks.
    -Kan

    You cannot delete the main table.
    You can always rename the main table.
    When the repository is unloaded, you can re-name, add new fields to the main table.
    You can also create new sub tables.
    Please refer to the MDM Console Reference Guide.
    Hope this helps.
    Please mark helpful answers.

  • MultiValue LookUp Record Save in Main Table MDM

    Hello all,
                I am using SAP MDM Java API (5.5).
    I am trying to insert records into my Main Table.
    One of the fields of the Main Table is a Flat LookUp Table which is also a multi value.
    Can you kindly guide me how records will be inserted for the MultiValue table conceptually? Meaning how and what or whether record ids will be used? Kindly give me the code example also.
    Thanks in advance.
    Regards,
    Yogesh Bhatia

    Yogesh, for MVLookups, instead of the record Ids, a link is stored in the main table.
    Let me grab some piece of code for you. You can write to my communication id in my business card. I'll nevertheless post it here also.
    Regards,
    Nitin

  • MDM java api search on Main table

    Hi All,
    I am developing MDM Web dynpro custom application using MDM java API 2. I am having difficulty while searching on main table by date field. The fields type in MDM as u201CTime Stampu201D how I make my search constraints. Please point me if there is any tutorial or sample code.
    Thanks
    John.

    Hi John,
    Try using the following code snippet.
    TableId tableId = schema.getTable("Products").getId();
    FieldId fieldId = schema.getField("Products", "Update_Date").getId();
    FieldSearchDimension searchDimension = new FieldSearchDimension(fieldId);
    Calendar cal = Calendar.getInstance();
    cal.set(2009, 11, 24);
    DateTimeSearchConstraint dateConstraint = new DateTimeSearchConstraint(cal, DateTimeSearchConstraint.GREATER_THAN);
    Search search = new Search(tableId);
    search.addSearchItem(searchDimension, dateConstraint);
    Here "Products" is the name of the table on which the search is done. "Update_Date" is a field of type Timestamp. I've hard-coded the date currently. You can use the various Date constructors to set the date dynamically.
    Regards,
    Anil Madhavan

  • Main table vs Look up Table in MDM 7.1

    Hi All,
            I was looking at major differences between Main table and flat table.My question is what stops me from using my lookuptable as the main table as I can do Syndication,key mapping etc even with my flat tables.(Unless I am wrong in my assumption).
    Regards,
    Premjit

    Hi ,
    Maintable will hold data for a particular maste. It contains primary information about a business object such as a product or supplier. Lookup table will be a field which describes the master. you cannot use lookup as a main table because:
    1. The data model flexibility to accomodate different data types: such as hiererchies, taxonomies, QT wont be possible using flat lookup tables.
    2. Storing such a huge amount of data(lacs of records) in lookup will have lots of performance related issues and will slow down your MDM instance.
    3. During integration with Portal it'll be very difficult and will require huge effort to use MDM JAVA API's to fetch/enter data to MDM.
    These are few reasons which makes the case of using lookups as MT very weak. There will be more reasons im sure.
    Manish

  • MDM Multiple Repositories

    Can we have more than one repository in a single MDM Server that contains another repository?

    Hi Yashovardan,
    Yes definitely you can have Multiple MDM rep on a single server.
    In fact that is how it should be,you cannot have one MDM server for one MDM rep.
    It is an MDM server and so is capable to hold multiple different rep that can work independent of each other.
    The only limitation with the current MDM 5.5 version is that,you can have only 1 Main table with multiple Lookup tables.
    But with the latest MDM 7.1 release,this disadvantages will also be removed.
    You will can create a field of type Lookup main  in the new release which can lookup to another main table in the same rep.
    This will make Handling master data much easier as we can have two busines masters being handled intelligently in one single rep in MDM.
    Kindly update your thread if your query is answered so that users with similar queries can refer it in future.
    Hope It Helped
    Thanks & Regards
    Simona Pinto

Maybe you are looking for