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
Similar Messages
-
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 -
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. -
Help needed to get unique record from an internal table
Hi Everybody,
I have to get unique record from an internal table. i know we can use read statement with key condition .
But the problem is i have to use some relational operators like GE or LE.
eg
read table itab into wa with key width GE itab-widthfrom
width LE itab-widthto
machno eq itab-machno.
Its giving me error when I use the operators GE , LE.( I think since it can't find a unique record with those relational
operators in the with key statement)
Is there any other way to get unique record from internal table without using the loop?
Thanks,
SunnyUsing the read statement you will need some kind of loop. For example.
DO.
READ TABLE......
WITH KEY ......
READ = SPACE
IF SY-SUBRC EQ 0
TABLE-READ = 'X'.
MODIFY TABLE
ADD 1 TO W_FOUND.
ELSE
EXIT.
ENDIF
ENDDO.
IF W_FOUND EQ 1.
...record is unique.
ENDIF. -
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 -
Extracting unique records from two different tables record
Hello,
In the following code of two different tables www.testing.com exists in both tables. I want to compare two different columns of the two different tables to get unique records.
SQL> select unique(videoLinks) from saVideos where sa_id=21;
VIDEOLINKS
www.testing.com
SQL> ed
Wrote file afiedt.buf
1* select unique(picLinks) from saImages where sa_id=21
SQL> /
PICLINKS
test
test14
www.hello.com
www.testing.comThanks & best regardsUnfortunatly you didn't mention the expected output. I guess it would be the one line
"www.testing.com"
in that case simply join the two tables.
select *
from saVideos v
join saImages i on i.sa_id = v.sa_id and i.picLinks = v.videoLinks
where v.sa_id=21;If needed then you could change the select list to retrieve only distinct values.
select unique v.sa_id, v.videolinks
from saVideos v
join saImages i on i.sa_id = v.sa_id and i.picLinks = v.videoLinks
where v.sa_id=21;I usually avoid distinct/unique whereever possible. This requires the database to do a sort and makes the query slow.
Edited by: Sven W. on Feb 10, 2011 1:55 PM -
Creates new record in the Qualifier Table while importing.
Hi Guys,
When sending new bank details to MDM, then MDM creates a new record in the Bank Detail qualified lookup table. This is OK. But when sending exactly same bank details again to MDM, then MDM creates again a new record in the Bank Detail qualified lookup table. I would expect that it
first performs the Automap and only if it cannot find a value, it will add a new record!
Can you guys help me out from this?
Best Regards
Devaraj PKHi Devaraj,
Please check these configuration options of Import Manager
1. Default Qualified Update - The default setting for whether incoming source subrecords either are appended to, completely replace,or update the set of existing qualified links of a qualified lookup field when updating existing records.
2. Default Matching Qualifiers - The default setting for which qualifiers to use as matching qualifiers when matching existing qualified links when updating existing records.
Any operation on the qualified tables will depend on the above two options.
Reward if found useful
Regards,
Jitesh Talreja -
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 delete(remove) one row(record) from a dynamic table
Hi,
I have adynamically created table.
I want to delete 1 record(Row) from that Dynamic table.
Say if my dynamic table contains 5 records(rows);after deletion of 1 record(1 complete row)from that dynamic table,the number of records(rows) should be 4 .
Please suggest me how to proceed.
Please provide me some sample code.Its not working
I tried with these code:-Its not working-->
IPrivateExportexView.IEt_WriteoffNode node=wdContext.nodeEt_Writeoff();
IPrivateExportexView.IEt_WriteoffElement nodeEle= node.createEt_WriteoffElement(new Zfrm_Writeoff_P());
node.removeElement(nodeEle);
Please suggest
Thanks
-SandipHi,
*int n=wdContext.nodeTable().getLeadSelection();*
*wdContext.nodeTable().removeElement(wdContext.nodeTable().getTableElementAt(n));*
Further more , an example is given below for better understanding , do modifications according to your need.
node :
value node - Table (cardinality - 0..n , selection 0..1)
no ( value attribute - string )
name (value attribute - string )
// create node elements
for(int i=0;i<5;i++)
IPrivateClearnodeElements.ITableNode node = wdContext.nodeTable();
IPrivateClearnodeElements.ITableElement ele = node.createTableElement();
ele.setNo((101i)"");
ele.setName("name :"(i1));
node.addElement(ele);
// Apply template Table -- select -- table node or
// create a table UI element and set the property Datasource - Table ( of the context)
Insert Colum , in that column, next insert celleditor , of type text view , bind the property text -- to "name " of Table node of the context
Insert Colum , in that column, next insert celleditor , of type text view , bind the property text -- to "no " of Table node of the context
// create a action "removeElement"
// create a button "Remove Element " --> Event action -- removeElement
// under the action write down the code :
public void onActionremoveElement(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionremoveElement(ServerEvent)
// before removing display elements
wdComponentAPI.getMessageManager().reportSuccess("Before deletion :");
for(int i=0;i<wdContext.nodeTable().size();i++)
wdComponentAPI.getMessageManager().reportSuccess(wdContext.nodeTable().getTableElementAt(i).getNo()) ;
wdComponentAPI.getMessageManager().reportSuccess(wdContext.nodeTable().getTableElementAt(i).getName()) ;
int n=wdContext.nodeTable().getLeadSelection();
wdContext.nodeTable().removeElement(wdContext.nodeTable().getTableElementAt(n));
// After deletion
wdComponentAPI.getMessageManager().reportSuccess("After deletion :");
for(int i=0;i<wdContext.nodeTable().size();i++)
wdComponentAPI.getMessageManager().reportSuccess(wdContext.nodeTable().getTableElementAt(i).getNo()) ;
wdComponentAPI.getMessageManager().reportSuccess(wdContext.nodeTable().getTableElementAt(i).getName()) ;
//@@end
If helpful , give points .
Let me know if any problem u face .
Thanks,
Srini -
Mismatching no of records b/w CATSDB table and Data Source 0ca_ts_is_1
Hi Experts,
We are extracting the data from Data base table <b>CATSDB</b>.The No of records in the table(SE11) are <b>800</b> with status <b>30</b>, but in RSA3 <b>(0ca_ts_is_1)</b> there are <b>500</b> records only.
What could be the causes?
Could you kindly suggest me anything.
Thanks in advance
Shaliny. MHi Shaliny,
In RSA3, increate the values for "Data Records / Calls" and Display Extr. Calls (to say 10000 and 10000) and see if it pulls all the records. Sometimes the numbers in RSA3 are misleading. Otherwise, pull the data upto PSA and check. RSA3 sometimes is not the best way to compare the number of records.
Hope this helps.
Thanks and Regards
Subray Hegde -
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 -
Loading data : Creation of entries in the Qualified Table
Hi,
I was wondering if anyone has succesfully achieved the following...
I'm looking at the standard materials repository.
- Main Table : Product
- Qualified Table: Location Data. This qualified table single non-qualifier field is a look-up to a flat look-up table, called Plants
The flat table is populated with the valid list of plants, using the check table synchronisation. The Main Table is empty, so is the Location Table.
In order to load products into this repository using the import manager it seems that it is required to "create" entries in the qualified table (Location), one for each plant-code.
Is this true ? I actually would expect the SAP MDM Import Manager client to be able to create the records in both the main table and if needed, the qualified table. As long as my plant code exists in the "Plants" look-up table, that should be sufficient. It seems not the case..
Thx,
DirkThe sequence of Import
- Load the Flat Lookup tables. ( in your case Plants)
- Load the Qualified Tables ( in your case load the non qualifiers of the Location Data)
- Load the Main table (in your case Products)
Though MDM allows you to create Lookup values on the fly, I would rather go with this approach.
If you are using Import Manager, you can add the Qualified Table Records in the fly.
But if you are using Import Server, you will NOT be able to add Qualified table records in the fly. I tested this, and I see the files in the ImportX error directory. -
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 -
Expression logic for qualified tables
Hello Experts.
I am searching for an expression that can manage the following requirements:
Different records of a qualified table belong to one record of the main table. One value that belongs to a certain combination in the qualified table should be automatically transferred to a field in the main table. For example there is one main table (MAIN) and a qualified table (QT) with at least two fields.
Main table (MAIN) with some fields
Qualified table (QT) with Field 1 and Field 2
I tried following expression: IF(QT.Field 1 = NAME, QT.Field 2). But the expression doesn'tt work.
How can an expression work with a certain combination of a qualified table? Has anybody an idea how to solve such a mystery?
Thank you in advanced,
AnjaHi Anita.
I have the answer: You need an additional field in qualified table. This field is filled during import with the concatenation of all field values of the QT record.
Qualified table with field 1 and field 2 look then like this
Field 1: Name
Field 2: Anita
Field Conca:Name.Anita
Now it is possible to build expression that can evaluate the string of the concatenation field.
Thanks for your help,
Anja -
Qualified Tables - Loop with Expression
Hi Experts,
Is there any way to setup a validation to loop over qualified links and check if a specific field has a value (not being NULL)?
For example I have the following qualified links of qualified table Location Data for a Main Table Record (Material), with two fields Plant and Purchasing Group. Plant is Non-Qualifier and Purchasing Group is Qualifier and a lookup field into the table Purchasing Group.
Plant: 3100
Purchasing Group: NULL
Plant: 2100
Purchasing Group: 12
I want to set up a validation to loop over all qualified links and check wether Purchasing Group is set. If one of them is not set I want to display a warning on record save.
Anybody know if this is supported?
Thanks,
IngoHi Ingo,
I am assuming the following requirement:
You want to throw a validation error when your qualifier(Purchasing Group) is NULL.
If this the case then we can have a validation as described below for the qualified link.
Step1. In Data Manager select Main Table as Current table and go to Validations Tab.
Step2. Create a validation expression by Using Function IS_NOT_NULL() and then Go to Fields drop down and select the Qualified Table --> Qualifier (Purchasing Group).
Suppose if your Qualified table is "Test" and Qualifier is "Purchasing Group" then the expression will look like IS_NOT_NULL(Test.Purchasing Group).
The other properties like "Error Message", "Automatic Execution" will vary as per your requirement
Try this out and let me know.
Thanks and Regards,
Sagar Sonje
Mark Helpful Answers
Maybe you are looking for
-
Problems creating a web service that uses the report generation toolkit
Hi, Im trying to develop a web service using labview 2013. I create a html form that is correctly communicating with my labview method and part of the web service functionality is to create a report from the data obtained in the html form publ
-
HT1369 i cant find my ipod shuffle on itunes
i am trying to download music to my ipod use itunes for windows 7 and i cant find my ipod in itunes
-
How does one put text on the spine?
I'm a little confused about the difference between the version I'm creating and the template I start with. I start with a template, then resize and mess with the arrangement of the pictures. I move text boxes. All seems okay. I put a colored backgrou
-
How can i know what SubVI is on SubPanel?
How can i know what SubVI is on SubPanel? In the main of my application i have three subpanels that open many different SubVI, i need to know what reference of subvi is actually open what could be the best way to do it? thanks, Andres
-
Hi, I added a jar from MW_HOME/modules as a shared library in Window->Preference->Shared Library in my OEPE and sure the app compiles fine. But this is my own eclipse IDE setting. I don't understand how I can get this setting to my teammate. and how