Uniqueness in Qualified tables

Dear MDM experts,
I have this requirement wherein we have a qualified table wherein the user shouldnt enter duplicate entries.
e.g. in the case of customer master data,the user may have only 1 qualified table record per company code. (can have differnt company codes)
I have set Company code as an NON QUALIFIER but it does not enforce any kind of uniqueness.
<h5>Is it possible using qualified tables to have such an enforcement ?
</h5>
Also as an alternate can I write a validation rule such that it will allow me to enter data in the qualified table only once per company code.
Thanks.

yes this will work in the case only, if you have your customer name as a master table field. Try this:
1. Customer Name and qualified are two fields in Main table.
2. In QT you have Comp_Code as unique Field as non qualifier and other data like company_name, Loc as non Qualifier or what ever you want.
then DM allow you to enter same company code for two different records.
now this is also possible that a person may have worked in 2 different organizations then you can put 2 records in QT and you can select them for a single customer.
Rewards if found helpful.
BR,
Alok Sharma

Similar Messages

  • How to create a unique group field in Qualifier table

    Hi,
    I am trying to use a qualified table in Product maintable like "Site items".
    However I would like to have two non-qual field in that like 'Plant' and 'item#' which should be an unique combination.
    I have tried to create a table(X) with the above two fields with display and another table (Y)that uses the table X for lookup (site-item) so as to make it dispaly and unique both. However when i am using this Y table as a lookup for the qualified table(site items) , not able to load data.
    Error message:
    "Import failed. Unable to find source column index for 'Site Item ID' field"
    Another issue also not able to populate data for the qualified flds even if when able to load data without making a group unique field for this qualified table.
    In MDM 5.5 sp4. Thanks in advance for any tips.
    -reo

    Hi Beena,
                    In the above post of mine I suggested you to use STRING data type.
    As you are telling that when creating TABLE MAINTANENCE GENERATOR you are
    getting an error saying that " Datatype STRING is not supported ". I tried this, what you said is right.
                      After your reply I did research on this and I also met my heads,
    The conclusion is <b>IT IS NOT POSSIBLE TO GENERATE TABLE MAINTANENCE</b> for the table which is using STRING type. At last I can give you one suggestion, i.e., In the short text of that field write STANDARD TEXT name.So that whenever you want, go to this standard text, but the problem is you have to maintain it manually.
    <b>Reward all helpful answers.</b>
    Regards,
    V.Raghavender.

  • Force one unique record in a qualified table in data manager

    Our main table is Customers. We have a qualified table that stores Company Code information. We need to ensure that each customer in the main table has only one record per company code in the Company Code qualifeid table.
    Company ABC can be linked to Company Code 1, Company Code 2, Company 3 (three records in the Company Code qualified table)
    Company ABC cannot be linked to Company Code 1, Company Code 2, Company 2 (three records in the Company Code qualified table where two are duplicates)
    Company code is a the only Non-Qualifer field in the Company Code qualifeid table. I have set field as Unique in the console but i can still add duplicate records

    Tammi,
    Choosing Qualified table is wise option, when we really want to maintain possible duplicate data!
    otherwise Normal Lookup table would be ideal option.
    befor we proceed further, cud u pls explain me the unique factor to choose qualified in ur Business requirement?
    thanks
    Alexander

  • How to enforce unique records in a Qualified Table

    Our main table is Customers.  We have a qualified table that stores Company Code information.  We need to ensure that each customer in the main table has only one record per company code in the Company Code qualifeid table. 
    Company ABC can be linked to Company Code 1, Company Code 2, Company 3 (three records in the Company Code qualified table)
    Company ABC cannot be linked to Company Code 1, Company Code 2, Company 2 (three records in the Company Code qualified table where two are duplicates)
    Company code is a the only Non-Qualifer field in the Company Code qualifeid table.  I have set field a Unique in the console but i can still add duplicate records.

    Hi Tammi,
    Don't expect to get many answers from this forum, which is Business Process Expert General.
    Your question sounds more like an ABAP problem.  Actually, it seems to have nothing to do with SAP; it really sounds more like a general programming problem.
    You will probably have better luck in one of the ABAP forums, maybe
    ABAP Development
    Good Luck,
    DB49

  • Unique key for Qualified tables

    Hello Experts,
    We are currently facing an issue with qualified tables. We need to retain existing system keys as below:
    Item (Main table)
    Item_Id, Item_Number
    Item_Price (Qualified Table)
    Item_Price_Id, Item_Id, Price_Type_Id, Price
    E.g.
    1, Pencil
    2, Pen
    3, Notepad
    1, 1, Retail_Price, $10
    2, 1, Wholesale_Price, $5
    3, 2, Retail_Price, $15
    4, 2, Wholesale_Price, $10
    We need to migrate the existing ids (Item_Price_Id) in MDM qualified table and need to maintain the same as max(Item_Price_Id) + 1 for all future records.
    Is there a way we can achieve this?
    Your help is greatly appreciated.
    Thanks in advance,
    Vinay

    Hi Karol,
    The Interface Iprinciple has this function as it:
    Gets the unique identifier which unambiguously identifies the object's <b>principal type and principal's data record</b>(s) in the data store (e.g. a relational database).
    <b>Note: the unique ID is a case sensitive string</b>
    Use this identifier to keep and persist references to principals. As this identifier contains internal information and is usually not readable, it should not be displayed in user interfaces.
    UME implementation guarantees to return Strings which are not longer than 255 characters.
    <b>Returns:</b>
    a non-null String identifying this principal
    I hope this helps you.
    Regards
    Pravesh

  • Qualified tables

    Hi, due to characteristics of our implementation we need a qualified table for mails. The standard one can be used but i have a problem, i need a restriction for avoiding duplicated records and for now, i´ve not got the right key.
    I.E.
    ADDRESS TYPE: non qualifier. Unique field
    MAIL TYPE: Qualifier  . Unique field.
    mail address: qualifier.
    I need to get the structure below with one record for value like this:
    add type:
    Standard
    mail type: KEY1
    Mail address: [email protected]
    but if trying to create a new record with the same keys but with the different mails it succedes thing that it´s what i don´t need. Does anyone know how to fix those values, i can´t have any duplicates and i can use other table type as needs to be syndicated as qualified.
    Thanks in advance.

    Hi Antonio - Have one quick question on your question...to understand it better..
    do you mean to say that you are creating records like the following...
    Ex1 :
    Standard,Key1,[email protected]
    Standard,Key1,[email protected]
    or Ex2 :
    Standard,Key1,[email protected]
    alternative,Key1,[email protected]
    or Ex3:
    Standard,Key1,[email protected]
    Standard,Key1,[email protected]
    which one of the above examples is ok and which one is not.
    Cheers,
    Aravind

  • Qualified Tables Problem

    hi,
        I would like to know if possible to avoid duplicates in a Qualified table. When you create a qualified table you can set several things. firstly you can set if fields inside the qualified table are Non Qualifiers or Qualifiers and furtheremore you can set some field properties like display field...and unique field.
    I realized that you can put 2 iqual records inside of a qualified table.
    I would like to know how i can make so that there are not duplicate records inside the qualified table.

    Hello Jose,
       Here is the example how you can eliminate the duplicates by using a qualified table
    first the main table of product records shown in the figure below that contains sparse quantity pricing data for each product.
    SKU     Name     1-9     1-24     1-49     10-24     25-49     50-99
    113     Widget     $3.51                 $3.48     $3.44     $3.40
    114     Wrench           $8.75                 $8.30     $7.99
    115     Bearing                 $5.12                 $4.80
    Using a qualifier to store the quantity pricing data, the qualified table would have a single field Quantity and a single qualifier Price, and would contain the quantity records shown in the figure below.
    Pricing:
    Quantity     [Price]
    1-9     
    1-24     
    1-49     
    10-24     
    25-49     
    50-99     
    A qualified lookup field in the main table would replace all of the quantity price fields, and the pricing data would be stored as qualifier values associated with main table/qualified table links, as shown in figure below.
    SKU     Name     Lookup [Pricing]
    113     Widget     1-9; $3.51
              10-24; $3.48
              25-49; $.344
              50-99; $3.40
    114     Wrench     1-24; $8.75
              25-49; $8.30
              50-99; $7.99
    115     Bearing     1-49; $5.12
         50-99; $4.80
    A main table/qualified table link is created only for those product/quantity combinations for which a price value actually exists.
    So!, finally we can conculde this as ONLY THING THAT NEEDS TO TAKE CARE IS THAT THERE SHOULD BE NO COMMON DATA INVOVLED IN ANY OF THE COLUMN, IF THERE IS ANY COMMON DATA - THAT NEEDS TO BE CREATED CREATE IT WITH A NEW COLUMN.
    Thanks,
    Suresh

  • Qualified table concept

    Hi,
    I want to discuss, the concept of Qualified table in MDM 5.5.
    Now, in my repository I have main table Business Partner which has a Lookup field Tax Number which is Lookup(Qualified-Flat) (multi-valued).
    There are 2 fields in this table which are both Display field.
    Tax Number is a Qualifier and Tax Number Type is Non-qualifier.
    Now, for a record in Business Partner in Qualified Lookup field Tax Number, there are 4 values.
    Tax Number Type| Tax Number
    Permanent | 840987
    Temporary | 432
    Temporary | 432
    Permanent | 5432
    Now, according to Qualified table concept: For each association of Business Partner Record with Tax Number Type: Permanent or Temporary.
    There should be a Tax Number as Qualifier. But it need not be unique. Then, the significance is, it as an association with the Tax number type.
    Now, if we see from MDM point of view: The non-qualified value need not be duplicate.
    So, my data is wrong but the values are Ok.
    Regards
    Kaushik Banerjee
    Edited by: Kaushik Banerjee on Oct 14, 2008 12:46 PM

    Hi Kaushik,
    Tax Number Type| Tax Number
    Permanent | 840987
    Temporary | 432
    Temporary | 432
    Permanent | 5432
    Two things I would like to share:
    - When you select any data to be fit for saving in a qualifier table,you need to understand it very well.As given in your above example,Tax no type is the non-qualifier determing the Qualifier tax num.As far as i understand this data,it would not be absolutely correct to say that the Tax num type alone can determine the tax num.You can have all tax numbers either Permanent or temporary,but this alone cannot determine the tax number values.what i mean is that by jsut classifying the number as permanaent or temporary you cannot say the num to be so and so.In thsi case if you are saving this kind of data in a qualified table you may need another field to detrrmine the Tax num and the combination of the two of non qualifier field will decide the qualifier for all incoming records.
    - When you import the qualified tabe,you will map the non qualifier.In this case out of your 4 non qualifier values only 2 will enter MDM as the matching field is tax num type and there are only two distinct values in this field.So in that case you will have two unique non qualifier values which will determine the qualifiers accordingly for all main table records
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Not able to see data in the qualifier table of the main tbl , Data Manager

    Hi,
    I have an issue of not able to see the data of two qualified table after populating them.
    It is in mdm-5.5 ps4.
    When populating data first time ,it shows up in those two table slots in the right side of the Data Manager.
    However subsequently it does not show up in those slots , only by right click on the table and selecting "View/edit", the window pops up where those data shows up.
    However unlike other qualified tables the data does not showup automatically for these two tables.
    Appreciate any suggestion or feedback on this.
    regards,
    -reo

    You may have checked the Filter Check Box next to the Qualified Lookup cell in Data Manager, when the current table is the Main Table.
    You use the Filter Checkbox to limit the qualified table records by the current search selections.
    Secondly, you have see if there are any Qualified Links to the main table record you are viewing.
    If not, create the Qualified links in Data manager, for the main table record and the Qualified Table Record.
    Once this is done, you will see the Display fields of the Qualified table for which the links exists for the given main table record.
    Message was edited by:
            Adhappan Thiagarajan

  • Get Qualifier value from Qualified table

    Hi,
    I am trying to get all the qualifier value for a qualified table. What is the best way to do it. Can I use QualifierSearchDimension to search for all the qualifier value.
    Re: Lookup [Qualified Flat] type field how to use as a query condition? link gives us a way to do this , but it talk about getting the non - qualifiers only , so How can we get the qualifier values.
    The link Search Qualifier Fields : MDM Java APIs gives us a way to this , but it is using old Java API , does anyone know how to do it using MDM API SP06.
    Thanks and Regards,
    Subhasis

    Hi Subhasis,
    The Search API's will only search for a particular value in the qualified tables. In order to read all the qualifier and non qualifier for a record, please follow the below mentioned steps.
    Assuming 'rec' is the variable that holds the reference for the current record.
    MdmValue lookUpVal = rec.getFieldValuel(<Field Id of the field>);
    com.sap.mdm.valuetypes.QualifiedLookupValue val = (com.sap.mdm.valuetypes.QualifiedLookupValue) lookUpVal;
    // Get the total number of qualified records present for that field
    int size = val.getValuesCount();
    // Iterate through each qualified record to fetch the details
    for(int i=0;i<size;i++){
        MdmValue nqVal = val.getValue(i);
       if(nqVal != null){
             MdmValue incVal = val.getQualifierFieldValue(i,<Field Id of the qualifier field value>);
    Regards,
    Ponraj M
    Edited by: Ponraj M on Jul 10, 2009 10:12 AM

  • Not able to Populate Qualified Table in Import Manager

    Hi,
    I am performing following steps for populating Bank Detail Qualified table in MDM from R3 but not able to populate the data.
    1.Populating all lookup tables like Account_no,Bank-Key.......
    2.Mapping all fields in Bank detail table except the 'Collect Auth'
    field which is Qualifier
    3.In Customer table(Main) mapping  Collect auth to Bank Detail field and
    customer_no to its corresponding ID.
    It is not populating the Bank detail data which are available in lookup tables
    Appreciate your suggestion
    -regards,
    reo

    Reo
    Matching will be based on the Display field (at least one) of the Main table.  This is for example the Customer Number.
    You also need to map all the display fields of the qualified lookup table. Then you can set the Qualified Update Action by right clicking on the field in the main that is linked to the qualified lookup.(the Collection_Authorization I think). Set the option that well update/append/replace the qualified data fields of the looked table.
    There is two how_to_guides that will help. You can download from SAP Service Market Place. (Otherwise I can email to you)
    How To Troubleshoot MDM Import Manager
    HowTo_LoadQualifiedFields
    Rgs
    Con

  • How to add record in Qualified table using MDM Java API

    Hi experts,
    I am trying to add a record into a Table.
    but I am facing the problem in setFieldValue method.
    //Getting Field-ID to pass in setFieldValue() method.
    FieldId[] fields = new FieldId[6];
              fields[0] = repSchema.getFieldId("GTINs", "Description");
              fields[1] = repSchema.getFieldId("GTINs", "Unit_Descriptor");
              fields[2] = repSchema.getFieldId("GTINs", "GTIN");
              fields[3] = repSchema.getFieldId("GTINs", "Alternate_Item_Classifications");
              fields[4] = repSchema.getFieldId("GTINs", "Country_Of_Origin");
              fields[5] = repSchema.getFieldId("GTINs", "Bar_Coded");
    Record rec = RecordFactory.createEmptyRecord(mainTableId);
    rec.setFieldValue(fields, );
    but I am not getting how to assign the value to these fields using MDMvalue Interface.
    Can anyone provide me the code sample or Code flow so that I can do this.
    Plz help me it'll be great help for me.
    Thanks
    Tarun
    Edited by: Tarun Sharma on Feb 4, 2008 11:39 AM
    ==========================================================================================
    Hi Gurus
    I found the way to add the MDMValue in setFieldValue Method.
    we can set like this:
    setFieldValue(<fieldId object like fieldId[], <MdmValue like this> new StringValue("ABC"));
    Now I am facing problem in adding value to lookup flat table.
    According to the setFieldValue method we can assign the loookup like this:
    setFieldValue(<fieldId[0]>, new LookpValue(<here we have to pass the recordID of lookup table>);
    so I want to know how I can pass the recordId of lookup table here.
    Please suggest.
    Thanks
    Tarun Sharma
    Edited by: Tarun Sharma on Feb 4, 2008 3:15 PM
    Edited by: Tarun Sharma on Feb 4, 2008 3:25 PM
    Edited by: Tarun Sharma on Feb 8, 2008 6:58 PM

    Hi Andrea,
    I tried your suggestion but now i am getting Type Mismatch Error.
    Please suggest me what I can do?
    //TableId for Lookup[Flat].
    TableId lookupTableId = repSchema.getTableId("Return_Goods_Policies");
    FieldId[] ReturnGoodsPolicyTableIdFields = new FieldId[1];
    ReturnGoodsPolicyTableIdFields[0] = repSchema.getFieldId("Return_Goods_Policies", "Name");               
    Record recLookup = RecordFactory.createEmptyRecord(lookupTableId);
    try{
    recLookup.setFieldValue(ReturnGoodsPolicyTableIdFields[0], new StringValue("New_Brand"));
    }catch(Exception ex){
    System.out.println(ex);
    //Creating Record in Qualified Table - Request Details
    CreateRecordCommand createLookupcommand = new CreateRecordCommand(simpleConnection);
    createLookupcommand.setSession(session);
    createLookupcommand.setRecord(recLookup);
    createLookupcommand.execute();     
    //Getting the recordId of Lookup record.
    RecordId lookupRecordId = createLookupcommand.getRecord().getId();
    //Table Id for Qualified table.
    TableId  qualifiedTableId = repSchema.getTableId("Ext_Hardlines");
    FieldId[] ExtHardlinesFields = new FieldId[3];
    ExtHardlinesFields[0] = repSchema.getFieldId("Ext_Hardlines", "Name");//Text
    ExtHardlinesFields[1] = repSchema.getFieldId("Ext_Hardlines", "Pieces_Per_Trade_item");//Integer
    ExtHardlinesFields[2] = repSchema.getFieldId("Ext_Hardlines","Return_Goods_Policy");
    Record recQualified = RecordFactory.createEmptyRecord(qualifiedTableId);
    try{
    recQualified.setFieldValue(ExtHardlinesFields[0], new StringValue("Qualified Value"));
    recQualified.setFieldValue(ExtHardlinesFields[1], new StringValue("Qualified Description"));
    recQualified.setFieldValue(ExtHardlinesFields[2], new LookupValue(lookupRecordId));
    }catch(Exception ex){
    System.out.println(ex);
    //Creating Record in Qualified Table - Request Details
    CreateRecordCommand createQualifiedCommand = new CreateRecordCommand(simpleConnection);
    createQualifiedCommand.setSession(session);
    createQualifiedCommand.setRecord(recQualified);
    createQualifiedCommand.execute(); I am getting this Type match here, but i m not getting what mistake i did.     
    RecordId qualifiedRecordId = createQualifiedCommand.getRecord().getId();
    //Adding to Main Table
    TableId  mainTableId = repSchema.getTableId("GTINs");
    FieldId[] gtinsFields = new FieldId[1];
    gtinsFields[0] = repSchema.getFieldId("GTINs","Ext_Hardlines");
    Record recMain = RecordFactory.createEmptyRecord(mainTableId);
    //Adding the new record to Qualifed Lookup value and setting the Yes Qualifiers
    QualifiedLookupValue qualifiedLookupValue = new QualifiedLookupValue();
    qualifiedLookupValue.createQualifiedLink(qualifiedRecordId);
    try{
    recMain.setFieldValue(gtinsFields[0], new QualifiedLookupValue(qualifiedLookupValue));
    }catch(Exception ex){
    System.out.println(ex);
    CreateRecordCommand createCmd = new CreateRecordCommand(simpleConnection);
    createCmd.setSession(session);
    createCmd.setRecord(recMain);
    createCmd.execute();
    Could you help me out?
    Thanks
    Tarun

  • Issue in Mapping Qualified Table in Import Manager

    Hi Experts
    I have extracted Customer data from R/3 ECC, I could successfully loaded reference data, but when trying to load Main table data (Using DEBMDM06 MAP) I am getting mapping issues with Qualified table (Sales Data and Bank Details).
    Error Messages
    Map 'Sales Data' field to import qualifier(s)
    Map 'Bank Detals' field to import qualifier(s)
    I have checked and found that all the field and value mapping is in place, If i remove mapping for the qualified table fields then the data is ready to import.
    What is the issue, and how do I import Qualified Table data.
    Appreciate your inputs
    Gaurav.

    Hi vickey ,
    Kindly go through the below link it will help you understand better the mapping the workinga nd importing of Qualified tables:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00a15239-684e-2b10-b8ae-b936b7d1c1fe
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c03240fa-cc3e-2b10-aa9a-a5798e319a6e(Qualified importing with main table)
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Duplicate keys possible in qualified tables.

    Dear experts,
    In short; when defining a qualified table in a repository you can define one or more fields as key-fields. This only prevents you from adding a the reference twice to the pre-selection but still allows you create more than one instance of this key within the same main table record.
    For instance, if you have a material repository with material as key for the main table and you define a qualified table to represent the plant level data, you can still maintain more than one record for plant X in relation to material Y.
    This results in data duplication and is a serious risk when distributing the data to subscribing systems.
    The issue was reported through OSS and was explained to be a feature to allow multiple telephone number. etc to be maintained. No solution was provided.
    We found this issue in our MDM system (MDM 5.5 SP05). Can you help us find out whether or not this issue was encountered at other clients/projects and if there is a solution? If you have the same issue, can you please let me know what version and support pack youu2019re on?
    We would appriciate any help on this.
    Thanks in advance.

    Hi,
    You are right......... This how Qualified Table works.
    Check this:
    Re: Material master for same Sales Org
    Thanks,
    Maheshwari

  • Can we Sum the Values in the Qualified table Fields??

    Hi All,
    I have a requirement where..Each material has multiple UOM's, So designed it as Qualified Table.
    UOM is a Qualified table.
    UOM Type is NON Qualifier.
    Weight Qualifier - Integer field
    Length Qualifier - Integer Field
    Now in main table there  is a field called Net Weight.
    I need to write a validation which checks Whether Sum of ''Weight'' in Qualfied table is Equal to ''Net Weight'' for that record.
    So if there are 5 UOM for 1 material, then the validation should check whetehr the Sum of all 5 Weights in QT is equal to ''Net Weight''  Field in Main table!!!
    Did anyone faced a similar issue, If yes How did you solve it!!
    Please Help!!
    KR
    John

    Hi John,
    Try this:-
    Net Weight = SUM(UOM.Weight)
    Here SUM is the standard function thats u need to select from list of functions.
    Please let us know if it works..
    Thanks,
    Mahi

Maybe you are looking for