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.
-reoHi 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 recordsTammi,
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,
VinayHi 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 -
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 -
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 -
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 PMHi 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,
-reoYou 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,
SubhasisHi 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,
reoReo
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 PMHi 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
JohnHi 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
-
Images and styles not showing in Design view on CS3
Hi all, I am playing around with a CSS website template that I downloaded and opened in DW-CS3. I am just using this to learn and play around with. It came with the style sheet, jpg images etc. I just noticed that when in Design view for the index pa
-
Or indeed is some other way possible, such as using an Applescript to detect when I am using my personal hotspot on my (limited data package!) 3g iPhone (via wi-fi or USB etc) and then switch off the automatic downloads until I revert back to my regu
-
Error while trying to activate R/3 datasource from BI with T-Code rsa5
hi all, i want to activate a particular datasource in R/3 through BI.iam following the below steps. RSA1-->source system>select source system>right click>connection parameters>remote logon>rsa5-select datasource. when iam trying to activate from rsa5
-
How can I get an image in a cell to copy to another cell using formula?
I have an jpeg image in a table that I want to be copied to 2 other tables automatically? Thanks for any help provided
-
Hi, I'm facing a issue when try to consume a BW 7.4 query using A-Office 1.4 SP 7 Patch 1. The error is: Source type \CLASS=CL_RSBOLAP_VARIABLE_CHARACTERI is not compatible, for the purposes of assignment, with target type (RS_EXCEPTION-000) Print At