Search on a Qualify Table using MDM Webservices
Hello
I´m trying to use the standard MDM 7 webservice to search records in a Qualify Table and I´m having some problems.
When I try to search records in a non-qualify table, it works perfectly, but when I search on a qualify table, I get the following result:
repository_3001-Error executing Search Records on repository MY_REPOSITORY, error code , caused by Qualifier values are not part of a qualified lookup record
I´m filling the following fields:
parameters/query/criteria/manufacturer/LogicalOperation: AND
parameters/query/criteria/manufacturer/constraint/element1/value: (blank to return all records)
parameters/query/criteria/manufacturer/constraint/element1/expression Operation: CONTAINS
parameters/resultDefinition/fieldListType: ALL
..and the repository information...
Thanks.
Vitor Zaninotto
Solved..
I cannot use parameters/resultDefinition/fieldListType: ALL, I must set the non-qualifier fields only.
Similar Messages
-
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 -
Getting Attributes using MDM WebServices
Hello all,
i'm trying to get the attributes associated to a taxonomy field from a taxonomy table.
I'm using MDM WebServices to achieve this task.
Can some one help me out on how to set the input schema to search for the attributes alone?
Thanks!
arunTo rephrase my question,
How do i search on a taxanomy table to retrieve the attributes associated to a child element using webservices?
Thanks
ak. -
Read data from MDM For Lookup and Flat table using MDM ABAP API
Hi,
I have requriment to read data from MDM from FLAT and Lookup table using MDM ABAP API. My design is like this ,
I have one ITEMS (Main table in MDM) and inside that i have one Lookup flat table ITEM_TYPE , my requriment is to read Item number and its related Item type.
From ABAP.
Please help if any body has any idea.
Regards,
ShyamHI Guys,
I found my solution by myself. Below is the solution , hope this will help others:-
Retrieve data from MDM using MDM ABAP API.
Step- 1. Create structure in SAP with the same name as that of MDM field code for MDM Main table.
Step-2. Create another structure in SAP having all lookup fields of MDM , fieldname in ECC must be same as that of MDM field
code.
Step-3.Create structure in SAP for individual lookup field(Single Field only) with the same name as MDM Field code.
Step-4.
DATA: IT_QUERY TYPE STANDARD TABLE OF MDM_QUERY, "MDM_QUERY_TABLE,
WA_QUERY TYPE MDM_QUERY,
WA_CDT_TEXT TYPE MDM_CDT_TEXT,
IT_RESULT_SET_KEY TYPE MDM_SEARCH_RESULT_TABLE,
WA_RESULT_SET_KEY TYPE MDM_SEARCH_RESULT,
WA_STRING TYPE STRING.
DATA:<Internal table> TYPE STANDARD TABLE OF <SAP Str Having all LOOKup Fields>
DATA: :<Internal table>TYPE STANDARD TABLE OF <SAP Str one LOOKup field>,
<Workarea> LIKE LINE OF :<Internal table>.
*PASS LOGICAL OBJECT NAME.
V_LOG_OBJECT_NAME = 'Logical object name defined in Customization'.
Define logon language, country & region for server
WA_LANGUAGE-LANGUAGE = 'eng'.
WA_LANGUAGE-COUNTRY = 'US'.
WA_LANGUAGE-REGION = 'USA'.
TRY.
CREATE OBJECT LR_API
EXPORTING
IV_LOG_OBJECT_NAME = V_LOG_OBJECT_NAME.
ENDTRY.
CONNECT to repository. Apply particular logon language info
CALL METHOD LR_API->MO_ACCESSOR->CONNECT
EXPORTING
IS_REPOSITORY_LANGUAGE = WA_LANGUAGE.
*NOW PASS ITEM NO AND GET KEY FROM MDM.
CLEAR WA_QUERY.
WA_QUERY-PARAMETER_CODE = <MDM FIELD CODE>. "Field code
WA_QUERY-OPERATOR = 'EQ'. "Contains
WA_QUERY-DIMENSION_TYPE = 1. "Field search
WA_QUERY-CONSTRAINT_TYPE = 8. "Text search
WA_STRING = <Field Value>.
GET REFERENCE OF WA_STRING INTO WA_QUERY-VALUE_LOW.
APPEND WA_QUERY TO IT_QUERY.
CLEAR WA_QUERY.
*PASS ITEM NUMBER AND GET RELATED KEY FROM MDM.
TRY.
CALL METHOD LR_API->MO_CORE_SERVICE->QUERY
EXPORTING
IV_OBJECT_TYPE_CODE = <MDM Main Table>
IT_QUERY = IT_QUERY
IMPORTING
ET_RESULT_SET = IT_RESULT_SET_KEY.
CATCH CX_MDM_COMMUNICATION_FAILURE .
CATCH CX_MDM_KERNEL .
CATCH CX_MDM_NOT_SUPPORTED .
CATCH CX_MDM_USAGE_ERROR .
CATCH CX_MDM_PROVIDER .
CATCH CX_MDM_SERVER_RC_CODE .
ENDTRY.
Pass record id into keys.
LOOP AT IT_RESULT_SET_KEY INTO WA_RESULT_SET_KEY.
WA_KEYS = WA_RESULT_SET_KEY-RECORD_IDS.
ENDLOOP.
WA_RESULT_SET_DEFINITION-FIELD_NAME = <Look field name>.
APPEND WA_RESULT_SET_DEFINITION TO IT_RESULT_SET_DEFINITION.
CALL METHOD LR_API->MO_CORE_SERVICE->RETRIEVE
EXPORTING
IV_OBJECT_TYPE_CODE = <MDM Main Table>
IT_RESULT_SET_DEFINITION = IT_RESULT_SET_DEFINITION
IT_KEYS = WA_KEYS
IMPORTING
ET_RESULT_SET = IT_RESULT_SET.
LOOP AT IT_RESULT_SET INTO
WA_RESULT_SET.
*PASS KEYS INTO MAIN TABLE TO GET Structure for FALT or Look up Table
TRY.
CALL METHOD LR_API->MO_CORE_SERVICE->RETRIEVE_SIMPLE
EXPORTING
IV_OBJECT_TYPE_CODE = <MDM Main Table>
IT_KEYS = WA_KEYS
IMPORTING
ET_DDIC_STRUCTURE =<SAP Strct having all Look up fileds of MDM>
ENDTRY.
LOOP AT <SAP Strct having all Look up fileds of MDM> INTO <Work area>.
CLEAR WA_KEYS.
APPEND <Work area>-field name TO WA_KEYS.
CALL METHOD LR_API->MO_CORE_SERVICE->RETRIEVE_SIMPLE
EXPORTING
IV_OBJECT_TYPE_CODE = <MDM Lookup table name>
IT_KEYS = WA_KEYS
IMPORTING
ET_DDIC_STRUCTURE = <Single Structure in SAP For Lookup field>.
READ TABLE <Single Structure in SAP For Lookup field>. INTO <Work Area> INDEX 1.
Here you can get the value of realted lookup fields associated with main table data.
ENDLOOP.
ENDLOOP.
LR_API->MO_ACCESSOR->DISCONNECT( ).
Edited by: Shyam Babu Sah on Nov 24, 2009 4:52 AM -
How to map lookup main table field in another main table using MDM 7.1?
We created a new SAP MDM 7.1 repository with multiple main tables. The first main table is called ProductMaster table which contains Products information. The ProductCode is the primary key and the only display field for the table during data loading process. The second main table is ProductByRegion table which has a main table lookup field ProductCode and a RegionId field. These two fields (ProductCode and RegionId) combine as the PK for this main table. Both main tables have key mapping enabled.
I was able to load ProductMaster table using Import Manager. But Iu2019m having trouble to load data into ProductByRegion table using MDM Import Manager. Although I have met all the 5 requirements below (excerpted from MDM Import Manager Reference Guide P.222), the ProductCode wonu2019t show up on the destination value pane. If I mapped all productCode to NULL field, ProductCode wonu2019t load. If I u2018Addu2019 all ProductCode to Destination Value pane, the Import Manager added duplicated rows to Product Master table while only loading 1 record to ProductByRegion table. I canu2019t get ProductCode show up in Matching Destination Field list. When I checked ProductMaster records in MDM Data Manager, I right-clicked on one of records, chose Edit Key Mappings, it didnu2019t show anything. However, if I right-clicked on one of those duplicated rows, Edit Key Mapping shows remote system and key correctly.
Where did I do wrong? How can I fix the problem?
Thank you for help in advance.
From: SAP MDM Import Manager Reference Guide:
Mapping to Main Table Lookup Destination Fields
Import Manager handles main table lookup fields (Lookup [Main])
differently than other MDM lookup fields. Specifically, Import Manager
does not display the complete set of display field values of the records
of the underlying lookup table. Instead, the values it displays for a main
table lookup field are limited by both the key mappings for the lookup
table and the values in the source file.
Also, Import Manager does not automatically display the values of a
Lookup [Main] destination field in the Destination Values grid when you
select the field in the Destination Fields grid. Instead, for a main table
lookup field value to appear in the Destination Values grid, all of the
following conditions must be met:
u2022 The lookup table must have key mapping enabled
u2022 The lookup field must be mapped to a source field
u2022 The source field must contain key values for the lookup table
u2022 The destination value must have a key on the current remote system
u2022 The destination valueu2019s key must match a source field value
NOTE ►► The current remote system is the remote system that was
selected in Import Manageru2019s Connect to Source dialog (see
u201CConnecting to a Remote Systemu201D on page 416 for more information).
VickyHi Michael,
Thank you very much for your response. I'm new to SAP MDM, I need some clarification and help regarding your solution.
I did use two maps to load ProductMaster and ProductByRegion separately. Here were my steps:
1. create main table ProductMaster with key mapping enabled at the table level and set ProductCode as unique and writable once (primary key).
2. create a map to load ProductMaster record from a staging table located an oracle database. But Key mapping didn't show anything when I looked at them using Data Manager.
3. create main table ProductByRegion with a lookup field looking at ProductMaster table. This field and RegionId combines as a unique field for ProductByRegion table.
4. create a map to load ProductByRegion table. But ProductCode records only shows on the source pane not destination pane and can't be mapped properly.
My questions:
1. How can I "Ensure that you add key mapping info for all ProductMaster records" besides enabling Key Mapping on the table level?
2. How can I define a concatenation of ProductCode and RegionId as a REMOTE KEY"?
Thanks a lot for your help!
Vicky -
How to retrieve the data from MDM hierarchy table using MDM Java API
Hi,
I had a hierarchy table in MDM. This table had some column say x. I want to retrieve the values of this x column and need to show them in a drop down using MDM Java API.
Can anyone help me to solve this?
Regards
VallabhaneniHi,
Here is your code...
TableId Hier_TId = repository_schema.getTableId(<hierarchy table id>);
java.util.List list = new ArrayList();
ResultDefinition Supporting_result_dfn = null;
FieldProperties[] Hier_Field_props =rep_schema.getTableSchema(Hier_TId).getFields();
LookupFieldProperties lookup_field = null;
TableSchema lookupTableSchema = null;
FieldId[] lookupFieldIDs = null;
for (int i = 0, j = Hier_Field_props.length; i < j; i++) {
if (Hier_Field_props<i>.isLookup()) {
lookup_field = (LookupFieldProperties) Hier_Field_props<i>;
lookupTableSchema =repository_schema.getTableSchema(lookup_field.getLookupTableId());
lookupFieldIDs = lookupTableSchema.getFieldIds();
Supporting_result_dfn = new ResultDefinition(lookup_field.getLookupTableId());
Supporting_result_dfn.setSelectFields(lookupFieldIDs);
list.add(Supporting_result_dfn);
com.sap.mdm.search.Search hier_search =new com.sap.mdm.search.Search(Hier_TId);
ResultDefinition Hier_Resultdfn = new ResultDefinition(Hier_TId);
Hier_Resultdfn.setSelectFields(rep_schema.getTableSchema(Hier_TId).getDisplayFieldIds());
ResultDefinition[] supportingResultDefinitions =
(ResultDefinition[])list.toArray(new ResultDefinition [ list.size() ]);
RetrieveLimitedHierTreeCommand retrieve_Hier_tree_cmd =
new RetrieveLimitedHierTreeCommand(conn_acc);
retrieve_Hier_tree_cmd.setResultDefinition(Hier_Resultdfn);
retrieve_Hier_tree_cmd.setSession(Auth_User_session_cmd.getSession());
retrieve_Hier_tree_cmd.setSearch(hier_search);
retrieve_Hier_tree_cmd.setSupportingResultDefinitions(supportingResultDefinitions);
try {
retrieve_Hier_tree_cmd.execute();
} catch (CommandException e5) {
// TODO Auto-generated catch block
e5.printStackTrace();
HierNode Hier_Node = retrieve_Hier_tree_cmd.getTree();
print(Hier_Node,1);
//method print()
static private void print(HierNode node, int level) {
if (!node.isRoot()) {
for (int i = 0, j = level; i < j; i++) {
System.out.print("\t");
System.out.println(node.getDisplayValue());
HierNode[] children = node.getChildren();
if (children != null) {
level++;
for (int i = 0, j = children.length; i < j; i++) {
print(children<i>, level);
//end method print()
Best regards,
Arun prabhu S
Edited by: Arun Prabhu Sivakumar on Jul 7, 2008 12:19 PM -
Issue creating qualified tables in MDM 5.5 SP04 Console
Try the following:
1) Make sure you are using SP04 Patch 1 (Build 5.5.33.13)
2) Unarchieve one of the supplied business content repositories (Eg. Customer, Material, etc).
3) Create a flat lookup table
4) Create a qualified table with only one field: Field type lookup flat referencing the flat lookup table created in step 3, non-qualifier, display field.
5) Create a new field in main table, type qualified multi-value, referencing the qualified table created in step 4.
6) Load the repository
7) Login to repository with data manager
8) Create 1 entry in lookup table created in step 3
9) Create 1 entry in main table, also creating 1 sub-entry in qualified table, save the record with SHIFT-ENTER
10) Make sure the record was saved, including qualified table entry
11) Close data manager
12) Open data manager again
13) Select your record and try to go in to the qualified sub-entry
In my case this produces data manager to crash.
This does not happen for qualified tables created in SP03 and updated to SP04, only for tables created directly in the SP04 console.
Please let me know if everybody is having the same problem.Hi, Jorge,
I have MDM5.5 SP4 P1 HF1 and followed your steps (except in step 4 (THANK YOU for numbering them), I have more than one field.) At step 13, I selected my record and to my amazement the record was there but my qualified table data was gone. And I then performed your step 14, and opened the qualified lookup table, and again to my amazement the console crashed.
This definitely appears to be a bug and you should report it. I will also see if I can ask around for other solutions.
Kristin -
Retrieving lookup field values from a main table using MDM JAVA APIs
Hi all,
am trying to retrieve the main table data...., i could able to retrieve all the data except lookup field values..., iam facing some runtime exceptions and i dont know why exactly it is throwing this exception..., i pasted piece of code where exactly the error is and the exception also.
in the below sode i set some result set definitions and passing them to retrieveLimitedRecordsCommand. it is showing some exception at retrieveLimitedRecordsCommand.execute(); command.
//*** Code ***//
supportingMainResultDefinitions = new ResultDefinition[] { rdQual ,rdFlat, rdqFlat };
retrieveLimitedRecordsCommand.setResultDefinition(rd);
retrieveLimitedRecordsCommand.setSearch(new Search(tableId));
retrieveLimitedRecordsCommand.setSession(sessionId);
retrieveLimitedRecordsCommand.setSupportingResultDefinitions(supportingMainResultDefinitions);
try {
retrieveLimitedRecordsCommand.execute();
PrintRecords.toConsole(retrieveLimitedRecordsCommand.getRecords());
} catch (CommandException e) {
e.printStackTrace();
//*** Below is the Exception raised ***//
java.lang.UnsupportedOperationException: Unexpected field type -1
at com.sap.mdm.internal.schema.PropertiesHelper.createField(PropertiesHelper.java:274)
at com.sap.mdm.internal.schema.PropertiesHelper.convertFrom(PropertiesHelper.java:281)
at com.sap.mdm.internal.data.RecordMetadata.<init>(Unknown Source)
at com.sap.mdm.internal.data.RecordsLoader.<init>(Unknown Source)
at com.sap.mdm.internal.data.RecordsLoader.<init>(Unknown Source)
at com.sap.mdm.internal.data.RecordResultSetHelper.convertFrom(Unknown Source)
at com.sap.mdm.data.commands.RetrieveLimitedRecordsCommand.execute(Unknown Source)
at com.sap.mdm.apitutorial.lesson2.RecordsDisplay.getDisplayRecords(RecordsDisplay.java:303)
at org.apache.jsp.Sample_jsp._jspService(Sample_jsp.java:190)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
If anyonw worked on this concept..., please provide me the solution
Regards
Praveen kWhich version are you using? Can you please try and narrow down to the offending field? You can do this by limiting the fields you provide to ResultDefinition.
-
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 -
I canu00B4t do a formatted search in a user table
Hye, I'm trying to do a formatted search over a user table using and I get the error -2006, why?
I use "report generator" and my selecc is :
SELECT T0.U_grupo, T0.U_CODE
FROM T0
WHERE T0.U_grupo ='[%0]' FOR BROWSE
If I do the same with standar table ( e.j OITM), all is right:
SELECT T0.ItemCode, T0.ItemName
FROM OITM T0
WHERE T0.PrchseItem ='[%0]' FOR BROWSE
unless, with user tables no, whyyyy?
thank´I have seen this, though I don't have an official answer, I have my own theories. SBO matches up the variable with the previous field name and looks up the description for that field. The description for user fields is not stored in the same place as standard fields.
In a previous thread, named "SQL Syntax in SBO" (number 7144) another user showed a way to do dummy selects with the variables to get the names of standard fields. Then the variables can be used for the real work.
That is awkward, and it limits you to the descriptions of standard fields.
Bruce -
Import Server - Multiple Qualified Table - Map Crash
Hello,
Requirement: I need to update multiple qualified table using single source file.
Preparation: I have created a map where mapping to multiple qualified table fields maually.
Have created a Inbound Port using the above map.
Problem: Import server throws an exception; while opening the Import Manager using the Port Option and corresponding Exception; Lot of fields were un-mapped. Looks like Import map crashed.
Please feel free to throw some light reg the same!
Thanks
AlexanderHi Alexander,
If you are performing multiple qualifier table mapping and importing then you will hav eto create differnt map for each table importing.In that case you will rrquire multiple inbound ports and in each ports deatils you will give the map name pertaining to which qualified lookup table you wish to import.
Actually using automatic importing for lookups is not desirable as the lookups always need to be prepopulated before your main table importing.
The exception taht you are receiving could be due to the reason that the map you are saving is using only one table mapping and so most of the fields are left unmapped.
try not to use automatic importing for Lookup qualifier tables and use manual importing and see if the the exception still comes.
Hope it helps
Kindly reaward points if found useful
Thanks
Simona -
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 -
SRM-MDM Catalogue Search UI - Qualified table search
Hi,
We are having the following situation:
- We have a catalogue of articles
- We have to tie an article to a location, in addition to a location-specific parameter.
- Exampe:
Article A is tied to location A, parameter A
Article B is tied to location B, parameter B
Article C is tied to location A, parameter B
- The way to solve this in MDM is to use the qualified table. I have created one where:
Location = non-qualifier
parameter = qualifier
I want to make this searchable in the SRM-MDM search UI.
The user should be able to choose one Location, and then one parameter tied to that Location, to view relevant articles.
This is no problem using SAP Portal with MDM. But how can we realise this using SRM-MDM search UI?
I have tried, but can only get a drop down or text search on the non-qualifier field.
Can anyone please help? Is this even possible?
KR;
ThomasHi Thomas,
Is there any possibilities to configure/add code to the search UI, or is this completely locked for customization/altering through code? Unfortunately, I feel it is standard and we can not customize it.
There is no issue in your design but if your location as well as parameter has certain(limited) number of values only. You can create location field in MDM Main table which is lookup to Locations Flat table and similarly for Parameter field lookup to Parameters table rather than using Qualified table. As you can set lookup/Text field search only, so you can set these two fields in your search criteria. where first you search for Location say US it will search records with US location and when you further give search according to parameter it will further filter(navigate) records based on both Location and parameter, just a thought came which i feel to share with you, try it if it helps you.
Regards,
Mandeep Saini -
Hello All,
I am trying to do drill down search in Data manager on qualified table.
when in search critieria i am selecting qualified table ,I am not getting all qualifiers in search tab.(we have 6 qualifiers and i am only getting 3 of them )
and in values as well when i am selecting say for
qualifier Value
country USA
if i am selecting this combination i am not getting any records whereas there are more than 1000 records of country USA .
any suggestions.!
KunalHi Kunal,
Check the below statements from MDM Reference Guide and check whether you have designed the repository in the same way or not.
It permits drilldown search by qualifier lookup values even before you have selected a single qualified table record in the qualified lookup field search tab.
It permits free-form search by qualifiers (both lookup and non-lookup) when Sort Index is enabled.
In above statements "It" is nothing but when you enable the Cache property of qualifiers.
Kindly update us on your issue.
Regards,
Jitesh Talreja -
Qualified Table getting a blank row in MDM 7.1
Hi All,
We are implementing MDM 7.1 and have created custom repository with multiple main table. We have also few qualified tables.
There is only one non-qualifier in all the qualified tables. The values are u201CAu201D (Active) or u201CIu201D (Inactive).
For example:
We have a qualified table called company group, where we store the groups to which a company belongs.
The import is through import sever and xml file is the input.
When there are no values for the group at the source system, we will not receive the XML tags for the group and we will receive xml tags for other data. The non-qualifier value u201CAu201D will also be part of the company group values from source.
The expected functionality is import server should ignore the company group table in total while importing through import server, as there is no xml tags for group.
We are getting a qualified row with only non-qualifier value u201CAu201D and rest of the values as blank.
Kindly provide suggestion to resolve this.
Regards,
Arul ManickavelHi Arul
Try using "Update" or "Replace" in the Import Map for the Qualified field mapping's "Set Qualified Update" option.
Regards
Varun
Maybe you are looking for
-
Colegas, Estou com uma dúvida quanto a parte de retenção de impostos no SAP B1. Quando entro com uma NF que tem, por exemplo ISS, essa nota é lançada e gerada o CP para ela. Porém como será feito o pagamento do imposto retido?? Tenho que gerar
-
SOAP Reponse contains and instead of and
I am new to Web Services. I wrote a simple SOAP client in Java. It seems to work and I get the SOAP response back; however the XML response has < and > instead of < and >. Am I making a mistake in my source code? I have placed my source code below an
-
I have recently purchased an iMac (6 months old) and I am running 5 applications most of the time: three browsers (safari, chrome and firefox), MS Word and MS Excel. I do run a lot tabs open on the browsers and leave them on for days (about 12 tabs o
-
How to work with PDF forms filled up by the user?
I would appreciate any help regrading work with PDF Forms. I present a PDF form to users with several fields that they need to fill up. My problem is to receive the values of these fields back. In PDF forms you can add a "Submit" button that sends th
-
Does SAP ECL viewer has drag and drop functionality...
Hi, Does ECL viewer has drag and drop functionality for example we can drag and drop file from windows sever to SAP. So that it can be used later on using BDN. Thanks. Regards, Rajesh.