Validation upon qualified tables
Hi,
Can anybody help me in writing one validation for comparing the field X of two qualified tables A and B.
The X values comes from two different client systems. The need is to check and compare the two values.
BR SK
Hi Susil,
Create new Validation in the main table only
Select the Field X from qualified table1 and another field from qualified table 2.
i.e. say Qualified1 and Qualified2 are the two main table fields of type Lookup Qualified then the validation expression would be
Qualified1.FieldX = Qualified2.FieldX
But the above validation will be helpful when you assign the value of FieldX in both the Qualified tables for same record.
If I interpreted your question wrongly then please let me know.
Regards,
Jitesh Talreja
Similar Messages
-
Validation on Qualified Tables
Hi,
The following validations executes as expected when triggered manually, however, when it is triggered through a workflow, the Validation step is skipped.
IF(COUNT(Qualified_Table_Name.[Record]) = COUNT(Qualified_Table_Name.Qualified_Field_1), Qualified_Table_Name.Qualified_Field_1 >= 10, FALSE)
What could be the reason for this behaviour.
Regards,
AnoopHi Annop,
have a look at this thread:
Workflow with validation
expecially on Alexander Raja's advice about properties - quote:
"Validation : Should carry the validation name rather than the rule."
Regards,
Michal -
Hi ALL,
I have field in the Main table, where I need to run a assignment on this field, based on the validation results from qualified table (qualifier).
Lets say field in Main table is " Global Status " ; Qualified table ( qualifier field - plant status).
if plant status = Z3 then Global Status is Active --> i can have more than one qualified links and may the Plant status= Z3 is first qualified link or last qualified link.
Is this possible?? to writie a validation for the same.
please revert to me asap.
thanks,
AlexanderHi Alexander,
As per my understanding, I think this is possible to run a validation if plant status = Z3 then Global Status is Active.
This validation is true if any of the qualified links has Plant Status = Z3, either this is 1st Qualifed link or last and fails only if none of qualifed links has plant status = Z3.
As you are running Validations this should run as expected. Further on the based of Validation result you can run assignment.
I also feel that you can also run Assignment directly if any of the qulified link has plant status = Z3 then populate Global status = Active as Global status field belongs to main table not qualified table.
Just check and revert with result as I dont have MDM installed on my PC so would able to check it tomorrow from my end.
Regards,
Mandeep Saini -
Validation on Phone Qualified Table
Hello,
Our main table is Customers and we have a Qualified table Phone.
We need to create a validation so that if the County (non qualifer) of the Phone table = US, then the length of the complete phone number (qualifier) field must have a lenght equal to10.
I am writing the Validation against the main table Customers.
I tried these two and neither work. I get a valdation error if the Country = US and the complete number = 10. I get a validation error if the counyty does not equal US.
IF(Phone.Country.[Record]= Countries[Unites States],LEN(Phone.Complete No.)=10)
IF(Phone.Country.[Record]= Countries[Unites States],LEN(Phone.Complete No.)=10,FALSE)
If I do indiviual validations on Country and Complete phone length, then the validation works but i need the combined validation.
Any suggestions?
thanks
TammiHi Tammi,
Validations behaves slightly different in case of Qualified table. When you are using length function for Qualifiers then you need to add some number to get the desired result.
E.g. In your case you want the length of Phone Number = 10 and when you run the Assignment on any text field with assignment expression as Phone.Complete No. you will get some thing like 1:<Complete No.>; i.e. now in writing validations you need to pass LEN(Phone.Complete No.) = 13 to get the desired output.
Best way to analyze any validation is to create Assignments of individual expression present in the Validation so that one can get the exact value by validation expression.
Try the below validation. Please take care of brackets
IF( (IS_NOT_NULL(Phone.Country) AND IS_NOT_NULL(Phone.Complete No.)) , IF(Phone.Country.Record= CountriesUnites States,LEN(Phone.Complete No.)=13) )
Kindly update us...
Regards,
Jitesh Talreja -
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 -
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. -
Can we run an assignment on a qualified table from a main table?
Can I run an assignment on a qualified table from a main table.
For example: My main table Vendor and Qualified Table is Company Qualified .
Company Qualified - VendorNr (Non- Qualifier),Company(Qualifier,lookupFlat - Company)
Company - Name,Description (It has valid values in it already).
How to add a default value into the Company Qualified table.
When i add a assignment like
If(is_null(Company Qualified [Record],default lookup value from Company) ...it says invalid.
Any help greatly appreciated thanksThis is not possible currently in MDM. I've tried many times to find a good way to do this and so far have been unsuccessful. I also have tried to have a workflow on the main table call an assignment in a lookup / qualified table, and that doesn't work either. The biggest reason is because you have to select a table field when you create an assignment, and it doesn't give you the option to choose fields within a table.
Hopefully they will address this in a future release.
Edited by: Harrison Holland on Jun 3, 2008 2:33 PM -
Hi All,
How to Map the qualified fields in the qualified tables if the qualifier for that field is set to YES, because such fields are not reflected in the<b> import manager </b> for mapping only the fields whose qualifier is set to NO are visible.Thee problem is wen the qualifier for a field is set to YES you can feed the data only in the DATA MANAGER as these fields are only visible therewhich become so much of a lengthy process if data is large.
Can any one please explain the importance of the qualifier in the qualified table in layman terms, how to make the best use of it and please if possible give a short and sweet example for it.
HELP NEEDED URGENTLY
Thanxs in Advance.Hi Prasad,
<b>Where do we use the Qualified tables:</b>
At times data is stored in such a way that duplication is unavoidable due to the storing mechanism and other factors. It may also happen that the data is sparse. The efficient way of storing data in such scenarios is the use of Qualified tables as it reduces the size of the main table and removes the unnecessarily created duplicates.
<b>Difference between Qualified lookup table and Flat lookup table:</b>Flat lookup tables normally work on only a single field. It contains the set of legal values to which corresponding lookup field in the main table is assigned.
E.g. suppose we have a flat lookup table for Material Group for an automobile manufacturing company. Here we have a fixed set of legal values that can be looked up into the main table (for example Cars, Bikes, SUVs, etc.)
Qualified tables work on the combination of two types of fields where value of one or more fields (qualifiers) changes depending on the values of one or more other fields (non-qualifiers).
E.g. suppose we have a field Price whose values varies with the region for the same product. Here we have a fixed set of related legal values (combination of fields) that can be looked up into the main table. (For example Product A has a price of $30 in Southern region whereas $40 in Central region, then we get a set like Product A | Southern | $30, Product A | Central | $40 in the Lookup Qualified table)
<b>Watch out for the definition of Qualifiers and non-Qualifiers:</b>
This was something which took a long time for me to hunt down.
Qualifiers are those fields whose values change based on the value of some other field(s) and whose value is different for each main table record
Non Qualifiers These fields are only the part of qualified lookup table, but they apply not only to the qualified table but also to each association of the qualified table record to the main table record. Simply speaking, they are the fields that will decide the values in the Qualifier (main table)fields.
<b>Our Scenario:</b>
Suppose we have been provided with the following source data
Manufacturer Name of Drug Region Price Storage Temp
A Crocin North 280 27 Celsius
A Crocin South 300 14 Celsius
A Crocin Central 260 30 Celsius
A Disprin North 380 30 Celsius
A Disprin South 360 27 Celsius
A Disprin Central 320 14 Celsius
<b>Observation:</b>
Values of Price and the Storage Temp field change based upon the Name of Drug and Region field values and also their values are different for each main table record; hence these should be madequalifiers in the qualified lookup table
Since Name of Drug and Region fields are deciding the qualifier values hence these should be kept as non qualifiers in the qualified lookup table. Manufacturer and Price will be part of the main table.
<b>Design of repository:</b>
We will discuss only the design of the main table Products and the Qualified lookup table Prices as they are of our immediate concern.
Products
Field Field Detail
Manufacturer Name- Manufacturer
Type - Text
Required Yes
Display Yes
Lookup[Price] Name- Lookup[Price]
Type - Lookup[Qualified Flat] (multi-valued)
Required None
Display No
Multi-Valued - Yes
Lookup Table Prices
Prices
Field Field Detail
Name of Drug Name- Name of Drug
Type - Text
Required No
Display Yes
Qualifier - No
Region Name- Region
Type - Text
Required No
Display Yes
Qualifier - No
Price Name- Price
Type - Currency
Required No
Display Yes
Symbol - $
Decimal Place - 0
Qualifier - Yes
Cache - Yes
Storage Temp Name- Storage Temp
Type - Measurement
Required No
Display Yes
Dimension Temperature
Default Unit Celsius
Qualifier - Yes
Cache - Yes
Note: Caching of qualifiers is strongly recommended as it dramatically improves search performance.
Once the design of the repository is through, we now move on to the trickiest area the one of the Import Manager
Importing records:
As per the standard practice, we load the lookup table first, here Prices and then the main table Products.
<b>Step1:</b>
Loading the Qualified lookup table data:
Select the corresponding tables in the source and destination hierarchy in the Import manager.
Go to Map Fields/Values tab and Map the corresponding fields in the field mapping grid.
Note: Here only two fields (non qualifiers)can b seen in the destination field grid, however in the repository design we have created four fields.
The qualifiers (fields) never appear in the destination field of the qualified lookup table in the Import Manager.
Go to Match Records tab and select the non-qualifiers as matching field and Add it as Combination.
Select Import Action as Create as it is an Initial load of data.
<b>
Step2:</b>
Loading the Main table data:
Map all the source fields to corresponding fields in the repository.
Notes: Here many fields in destination (including qualifiers (Q) which are defined in the qualified table and not in the main table of the repository structure in Console).
Minimum required field mapping: All non-qualifier fields of the qualified lookup table should be mapped. Qualifier field (Q) is optional.
Now we are left with one field (Lookup [Price]) in destination which is still unmapped and we have no corresponding field left in the source to map it with. For this, go to source field tab and right click to create compound field
Lookup [Price] will be available in the source field and will get automatically mapped to the corresponding destination field.
Note: If any one of the non-qualifier fields of the qualified lookup table is not yet mapped, we are not allowed to create the compound field.
Do the Record Matching and Import the data into Data Manager Client by selecting the appropriate Import action.
Final Qualified data in main table:
The data is available in the Data Manager.
P.S. If there is only one non-qualifier in a scenario, then the Compound field is not created and direct one to one mappings suffice.
Please award me points if u find trhis blog as a value addition.
Thanks & Regards ,
Deepankar -
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 -
Hi Experts!
I am trying to create a design in which there is one Independent field and 7 dependent field using Qualified tablein MDM.
In ECC though,Only valid entries are allowed for one corresponding selection of NQ.
But in MDM i can create any value without any issue.SO my question is how will my system know that for one entry of NQ only particular entries of other fields are allowed.
Pls guide!
Thanks,
RavzHi,
As validation is not possible on qualified tables.
If you really want to put validation entries then use table for qualifiers so that you can put onlt that valkue that defined in that table.
Thanks,
sudhanshu -
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 -
Mass Update of date in Qualified table
I having problem in updating End availability date in Partner Specific Data (which is a qualified table). How can do a mass update of selected records. I have written an assignment expression which has no error but it is not doing the update.
Regards,
MarcelHi Marcel
Assignment and validation does not work well for qualified table. It will work for only first qualified linked record and not all.
for mass update you can use import manager map the date qualifier field and select replcae action for qualified update in the destination item.
best regards
ravi -
Expression with qualified table fields
Hi all!
I have 2 doubts concerning the free-form search and expressions using qualified table.
We're implementing SRM-MDM Catalog. Here is the scenario
The search is done in the Main Table (Products). The qualified table (Contract) has the following fields:
Contract ID: Non-Qualifier
Contract Item: Non-Qualifier
Contract Category: Non-Qualifier
Lower Bound: Non-Qualifier
Amount: Qualifier
Currency: Qualifier
Obsolete: Qualifier
There are 2 records in the Contract table assigned to the Product in main table:
123-1-Normal-1-100-BRL-False
456-1-Normal-1-250-BRL-True
1st doubt:
Using the free-form search, if I set the field Contract-Amount to be less than 150, only the record 123-1-Normal-1-100-BRL is listed in the result, which is ok. But if I enter in the expression option the formula Contract.AMOUNT<150, both records are listed:
123-1-Normal-1-100-BRL
456-1-Normal-1-250-BRL ???
Is this formula wrong?
2nd doubt:
The Contract info isn't a mandatory information. It's ok to have a product in the main table without a contract assigned to it. This can happen for example if all contracts for a product are obsolete. In the named search, if I select all products where obsolete equals to 'FALSE', only the records of the main table that have at least one valid contract are listed. As the contract info isn't mandatory, I was expecting a different behavior. Also the records that don't have a valid contract should be listed, but the contract information should be blank. Is there a way to do that?
Thanks!check out these tables,
VBAK Header Data
VBAP Item Data
VBAG Release Data by Schedule Line in Sch.Agrmt.
VBUK Header Status and Administrative Data
VBUP Item Status
VBRL SD Document: Invoice List
VBPA Partner
VBKD Business Data
VBKA Sales activities
VBEP Schedule Line Data
VBRK Billing: Header Data (invoice)
VBRP Billing: Item Data (invoice)
VBFA Sales Document Flow
VTTP Shipment item
regards,
seenu -
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
Maybe you are looking for
-
Macbook won't turn on, won't charge either (no green/amber light)
So I was cleaning my keyboard today (just with water and a towel) and after cleaning, the screen shut off but my macbook was still turned on (could hear the fans). It wouldn't respond to anything and I tried a hard shut down but this did not work eit
-
Hello all. When I use Acrobat 9 Pro Extended and I want add a pdf as a layer, and this pdf have a video in it, when I convert it in a layer the pdf imported is flattered so I only have the 'poster' of that video no the proper video. I would like to k
-
Page number problem with document imported from MS Word.
I am a new Mac/Pages user and imported a Word document to use as a template to help me learn the Pages formatting nuances. This has worked well except for one problem. I have page numbers in the footer, but only the first digit of the page number sho
-
When printing from Illustrator the document prints Black instead of Blue
Computer is Windows 7 x64 running adobe CS6. The printer is a HP laserjet 3800dn the driver for the printer is PCL5 but it does the same thing printing with the Postscript driver. We have a navy blue color that prints out black for some reason. In
-
OIM 10g : SQL Script to Delete or Cancel process instance tasks for user resources
Hello, I have users with a resource with a process instance that have a large number (1000) of task instance related to reconciliations (Reconciliation Update Received). And when trying to revoke this resource, OIM take a long time to perfom this job