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

Similar Messages

  • 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

  • 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

  • Error while inserting value Qualified field in the main table

    Hello,
    I am trying to populate Qualified field in the main table when a new record is inserted in the Products Repository.
    The field is Reference Price and its a qualified lookup field. I am using the below code to create qualified lookup value and create qualified link values.
    QualifiedLookupValue qlvRefPrice = new QualifiedLookupValue();
    TableId qltabid = repSchema.getTableId("ReferencePrices");
    FieldId qlfieldid = repSchema.getFieldId("ReferencePrices","RP_ReferncePrices");
    RecordId rdRefPrice = getRecordId(connPool,session,"RP",qlfieldid,qltabid);
    HashMap map = new HashMap();
    map.put(repSchema.getFieldId("ReferencePrices","StartDate_ReferencePrice"),new DateTimeValue(cal));
    map.put(repSchema.getFieldId("ReferencePrices","EndDate_ReferencePrice"),new DateTimeValue(cal));
    map.put(repSchema.getFieldId("ReferencePrices","ListPrice"),new FloatValue(Float.parseFloat("123.3")));
    map.put(repSchema.getFieldId("ReferencePrices","Currency"),new LookupValue(getLookupRecordId(connPool,session,"Currencies","Currency_Currencies","EUR")));
    QualifiedLinkValue qlvLinkValue = MdmValueFactory.createQualifiedLinkValue(rdRefPrice,map);
    qlvRefPrice.addValue(qlvLinkValue);
    emptyRecord.setFieldValue(fieldIdRefPriceHistory,qlvRefPrice);
    However when the createrecord command is executed I get the following error.
    java.lang.RuntimeException: No matching validation Id 97. at com.sap.mdm.internal.validation.ValidationInfoHelper.retrieveValidations(ValidationInfoHelper.java:71) at com.sap.mdm.data.commands.CreateRecordCommand.execute(CreateRecordCommand.java:246) at com.alcatel_lucent.productdetail.ProductItemDetail_Comp.createProduct(ProductItemDetail_Comp.java:2927) at com.alcatel_lucent.productdetail.wdp.InternalProductItemDetail_Comp.createProduct(InternalProductItemDetail_Comp.java:656) at com.alcatel_lucent.productdetail.ProductItemAddView.onActionSave(ProductItemAddView.java:971) at com.alcatel_lucent.productdetail.wdp.InternalProductItemAddView.wdInvokeEventHandler(InternalProductItemAddView.java:662) at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:332) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73) at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:869) at com.sap.tc.webdynpro.portal.pb.impl.localwd.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:77) at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1356) at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:327) at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:869) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:332) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:219) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)      
    I spoke to my MDM team and they say there is no validation which they have put for Reference Price field. I have tried inserting values in another field of type qualified lookup in the same main table and that works without any issue.
    The code is as below:
    QualifiedLookupValue qlvRating = new QualifiedLookupValue();
    TableId qlvtable = repSchema.getTableId("ProductRatings");
    FieldId qlvratinglink = repSchema.getFieldId("ProductRatings","RatingLink");                    
    RecordId rdidPR = getRecordId(connPool,session,"CI",qlvratinglink,qlvtable);
    wdComponentAPI.getMessageManager().reportSuccess("rdidPR "+rdidPR);
    HashMap mapPR = new HashMap();
    mapPR.put(repSchema.getFieldId("ProductRatings","AvailRating"),new LookupValue(getLookupRecordId(connPool,session,"AvailabilityRatings","AvailabilityRating_AvailabilityRatings","CI")));
    mapPR.put(repSchema.getFieldId("ProductRatings","EffectiveDate"),new DateTimeValue(cal));
    mapPR.put(repSchema.getFieldId("ProductRatings","FERAIndic"),new LookupValue(getLookupRecordId(connPool,session,"ReplacementIndicators","Code","FE")));
    mapPR.put(repSchema.getFieldId("ProductRatings","FERAOrdItem"),new LookupValue(getLookupRecordId(connPool,session,"ReplProducts","ProdID","100008200")));
    QualifiedLinkValue qlvLink = MdmValueFactory.createQualifiedLinkValue(rdidPR,mapPR);
    qlvRating.addValue(qlvLink);
    emptyRecord.setFieldValue(fieldIdRatingHistory,qlvRating);     
    I would really appreciate if someone can help in solving the issue.
    Thanks in advance,
    Aamod

    Hi Aamod,
    Sees that some validation/assignments are getting triggered as soon as you make changes to the record in MDM. Please check once after removing validations/workflow that you may have. This way you may debug the issue.
    Hope this helps!!
    Cheers,
    Arafat

  • Insert Lookup record

    Hi All,
       My problem is with MDM and Java APIs below is my requirement
    I have a,
              Main table name     : Products
              Lookup table name  : Details
    Lookup table has one qualifier and one non qualifier field.
    I have to insert a record into the Products table, iam able to enter the values for the normal fields like text, integer etc. But not able to enter the lookup record. Can you please let me know how this can be achieved, also if u have any sample code for this it would be of great help.

    Hi Mausam,
    Thanks for the reply, I tried following those steps please see the code below, it is  still not working..
    I have added a record into the main table and the record id is stored in the variable <b>"id"</b>
    Now iam doing the following steps
    //"Products" is the main table
    //"details" is the lookup table entry in the main table
    <b>//Create a Qualified Link between main table and qualified table</b>
    QualifiedLinkArray qualifiedLinkArray = new QualifiedLinkArray();
    QualifiedLink qualifiedLink = new QualifiedLink();
    <b>// specify the values of "YES" qualifiers</b> Value val = new Value("Dev");
    A2iField sd = new A2iField("Name", val); 
    qualifiedLink.GetQualifiers().Add(sd);
    qualifiedLinkArray.Add(qualifiedLink);
    int changeStamp = rs.GetChangeStampAt(id);
    catalog.AddQualifiedLinks("Products", "details", id,qualifiedLinkArray, changeStamp);
    <b>But Iam not inserting the values of "NO" qualifiers anywhere.. have i missed out any steps??</b>
    Please help..
    Regards
    Suresh

  • PDF file Not opening in Main Table

    Hi,
    I have added PDF lookup field in my main Table in console.
    I m able to import PDF file in PDF table ( after making Allow Invalid PDFs as YES)
    I have also imported PDF file in Main table field.
    But here PDF file is not opening.
    I m able to open PDF file only in PDF table & not in main table.
    Also i am not able to Generate Thumbnail.
    I m getting error:
    Regenerating thumbnail for 'Mahi.pdf'...failed.
    Regeneration of thumbnails complete.
    Can anybody tell me what could be the problem?
    Thanks,
    Mahi

    Hi Maheshwari,
    I have added PDF lookup field in my main Table in console.
    I m able to import PDF file in PDF table ( after making Allow Invalid PDFs as YES)
    I have also imported PDF file in Main table field.
    But here PDF file is not opening.
    You can link the pdf to the Main tabel record by two ways:
    1. Using Import Manager
    2. Using Data Manager itself.
    I have just tried it by the second way and I am able to open the Pdf in the Main Table itself.
    PLease follow these step below:
    1. Import the Pdf in the Pdf table and store the Pdf in the repository itself by choosing the Option - +Store in Repository+
    2.Go to Main Table and double click on the Look up field on the right side. GO to the Data Group Tab and add the Data Group you have created.
    3. Then choose the pdf you want to choose for that particular main table record. You will find the PDf getting attached in the Main Table Record.
    4. Now try and open the Pdf, HopefullyYou will find it opening in the Main Table itself .
    Hope it helps.
    Thanks and Regards
    Nitin jain

  • Re : looking up in other main table

    Hi
    Could someone let me know, my scenerio below:
    I have 2 main tables Suppliers and Materials table, Can i set up a field in Suppliers table which looks into material main table and shows only the materials that this supplier produces.
    Thanks in Advance

    Hello Shifali,
    You can create a Lookup main field in suppliers table.
    Steps
    1. Login to console and Unload the repository.
    2. In the Main table Suppliers create a field called "Material ", select the Type as "Lookup main", and select the Main table as "Materials"
    3. Load the repository with Update Indices.
    4. Login to Data Manager and select the Main table as Suppliers.
    5. You can see the field "Material" in the record detail tab , hear you can select a Material from the Main table "Materials" by providing a search criterian in the field.
    6. In the Lookup main Field "Material" you can only see the fields of the Main table "Materials" for which the Display field Property is set to "Yes".
    Eg: If you have only one display field called "Material Number" (Material Number Display field Property is set to "Yes") in the Main table Materials, you will only see this field in the Lookup main field in the Suppliers table.
    You cannot write Assignments on Lookup main field though the Lookup main field is shown in the Assignment field Drop down. The assignment will Fail.
    Beacuse for any lookup field you have to assign an existing lookup records (Eg. if you want to assign a value to lookup field Account groups of the Supplier table you have to select the existing value "Account.Group 0001" from the drop down) but in our case the lookup tab dropdown does not show the Lookup main records from the Main table Material, which means you cannot select an existing value
    Rgds,
    Prasad

  • Reading data from Lookup [qualified flat] (multi-valued) table

    I have a main table u2019ABCu2019 which has a Lookup [qualified flat] (multi-valued) field u2018XYZu2019 along with some other text fields. I am able to read data from table ABC including lookup field data, but I do not see the relation
    For Ex: If for a contract in table u2018ABCu2019, there are multiple line items in look up table. I have a contract with 2 line items in u2018ABCu2019, but 4 line items in look up table (2 records each for each line item with item number).  Now, when I read the data from table u2018ABCu2019 for that contract, I get all the 4 lines in result table; but item no is blank even though there is item no field in table u2018XYZu2019.
    Below is the sample code:
    wa_query-parameter_code = Contract ID Field.
      wa_query-operator = 'EQ'.
      wa_query-dimension_type = 1. "mdmif_search_dim_field.
      wa_query-constraint_type =8. " mdmif_search_constr_text.
      wa_string =  Contract Number.
      GET REFERENCE OF wa_string INTO wa_query-value_low.
      APPEND wa_query TO lt_query.
      CLEAR wa_query.
    CALL METHOD lcl_api->mo_core_service->query
            EXPORTING
              iv_object_type_code      = 'ABCu2019
            it_query                 = lt_query
            IMPORTING
              et_result_set            = lt_result_set_key.
    LOOP AT lt_result_set_key INTO ls_result_set_key.
        lt_keys = ls_result_set_key-record_ids.
      ENDLOOP.
    Contract Price for lower bound
      ls_result_set_definition-field_name = XYZ'.
      APPEND ls_result_set_definition TO lt_result_set_definition.
    CALL METHOD lcl_api->mo_core_service->retrieve
        EXPORTING
          iv_object_type_code      = 'ABCu2019
          it_result_set_definition = lt_result_set_definition
          it_keys                  = lt_keys
        IMPORTING
          et_result_set            = lt_result_set.
    In table lt_result_set, I see 4 records, but I do not know which 2 records belong to item 1 of the contract and other 2 records for item2.
    Can anyone help me in resolving this. Any kind of help is appreciated.
    Thanks,
    Shekar

    i do not quite understand ur problem statement ..
    but if u have items in the main table to which QLUT entries are linked ..
    then when you read the main table record (u get LinkIds at the record level) that gives u the relation to the Qlookup values
    i mean for ur case - u would get only 2 values in the QLUT values for the "selected" record in the main table
    am not sure if you say correctly - that you get "unlinked" values in the QLUts
    so u should 2 values in lt_result_set and not 4  .. see if u are using the LinkIds properly
    hth
    thanks
    -Adrivit

  • More than one main table

    All -
    Is there any pros and cons to have more main table for master data in sigle repository. say 4-5 main table ?
    Here most of the look up can be common in many cases.
    I am confusing to move ahead.
    as in what impact on Database, Roles , users, Load etc ..
    Suggesst.
    Rgds
    Deep

    Hi Deepak,
    as in what impact on Database, Roles , users, Load etc ..
    I don't think there should be impact on database, and for Role & user credential you can
    manage as different main table there are some Point need to take care i.e. as follows
    1. Number of Tuple and Qualified table assign to single main Table
    2. Number of records on single main table
    3. Number of User login to repository
    Why you need 4-5 main table ???
    i would suggest consolidate your main table to 2 or build new repository rather to create 4-5 main table in to single repository to avoid complexity and easy to use and maintain
    Note: Above mention point may change upon your business requirement
    Thanks,
    Jignesh Patel

  • 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

  • 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

  • How to populate the main table and the lookup's at the same time

    Hi ,
       What I have with me is the XML files which contain the data from the material master and the excel sheet which talks about the mapping . it basically tells me which field of the main table maps to which field of which segment in the IDOC and also the name of the table and the field in the R3 system .
    I wish to use this info to populate the data in the material repository .
    - 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 .
    - Can I use the standard maps available for import in the business content of material repository in MDM ?
    - If the answer to the second question is NO then I think i can create the maps and save them for future use .
    Regards
    Deepak Singh

    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

  • 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

  • Display many fields of a lookup table in the main table

    Hello Experts,
    In MDM, I have a "Suppliers" table which is a lookup table. This table has 4 fields :
    - Supplier Name (Display Field)
    - Supplier Code
    - Email
    - Phone number
    In the main table, a field "Supplier" uses the "Suppliers" lookup table. This fields displays the "Supplier Name" of the "Suppliers" lookup table.
    Now I also want to display the "Email" and the "Phone Number" of the supplier. If I set these fields as Display Fields in the "Suppliers" lookup table, they appear concatenated in the main table, which I don't want.
    The only way I found to display those fields is to set 2 new fields in the main table as calculated fields, eg: IF(TRUE, Supplier.Email).
    Is there any way to display those fields w/o using calculated fields?
    Thanks for your help

    Hi Christian,
    Thanks for your help. Actually I am working on the SRM part of MDM, so I do not use portal to display data but the SRM-MDM UI on which I can not manage iViews.
    The need is to have, for each Material displayed, the name and the contact data of the Supplier. If I concatenate those data  the display is not very clear for the user. Eg:
    Supplier data: TOTO, contact_at_toto.com, 1234567890
    I would rather have :
    Supplier: TOTO
    EMail: contact_at_toto.com
    Phone Number: 1234567890
    As you said, the non automatic update of calculated fields is an issue in my case. So I am currently looking at assignments, which seems to be schedulable via a workflow but I don't know if it's a good mean?
    Best regards,
    Patrick

Maybe you are looking for