Named Searches - Performance Questions
Dear MDM Pros,
I have question regarding the performance of Named Searches.
I have a repository with 600.000 datasets (and various lookup tables) now I need to setup named searches for restricting the access to the data.
I have one field with classifications (Number 8 digits / 15.000 different classes) on that I want to restrict access. The restriction should work on the first 2 digits of a class.
Example Classification:
21010509
21010503
21010504
21010507
19050711
19050912
31020530
Rule:
LEFT(CLASSIFICATION,2) >= 19 AND LEFT(CLASSIFICATION,2) <= 21
So my idea is to use this
LEFT(CLASSIFICATION,2) >= 19 AND LEFT(CLASSIFICATION,2) <= 21
Expression in the search and save this as Named Search.
As wrote before I think this is really slow.
Can anybody give me a hint how to find a performance optimized solution for this problem.
Best regards
Roman
Hi Christian,
here is what SAP said:
07.10.2008 - 16:22:51 CET - Antwort von SAP
Dear Mr Becker,
I have looked at this issue that you described.
I have attached 2 notes: 1077701 and 1138862.
Note 1077701 describes under " 6) Named Search" that the use of
expressions is not supported for named search.
The reason for this is that an expression can result in extensive searchoperation as you experience it. The response time in MDM Data Manager
was in a range of 2-3 minutes when I executed a free form search
with the expression you used in my environment. My observation in
our SAPconnect session yesterday was that you have a similar response
time with MDM Data Manager in your environment.
Note 1138862 describes under "Situation 2:" that the
SRM-MDM Catalog Search UI will show a 5-7 times slower response
time then the MDM Data Manager for the same search.
This is why you experience response times of 10-15 minutes in
SRM-MDM Catalog Search UI when calling it with a named search that
uses an expression.
Kind regards,
Alexander Ohlgart
I am running MDM with 5.5 SP3 actual fix.
HTH
Roman
Similar Messages
-
Restriction of inactive items using named search
Hi experts,
I am working in SAP MDM and facing following issues.
In catalog displayed in shopping carts, when i need to remove inactive items (items with inactive value in item status field) from that catalog i simply remove the mask for those items.
However for the catalog displayed in purchase orders those items still displayed because i'm using named searches.
Does anyone know how i can remove inactive items from this catalog using named searches?
ThanksTo create a named search in MDM follow below mentioned steps:
1. login to data manager and open Named searches table.
2. add a new record in this table and specify name for the named search.
3. Once you save the named search, go back to Catalog Items table. Now from the Search Parameters pane or Free form search specify filter criteria as Status = Active.
4. You can see result in the status bar of the data manager. It will display some thing like "XX records out of YY records displayed". This means filter criteria is set successfully.
5. Now go to "Search" menu in the menu bar and click on "Save as Named Search". This will display all named searches in the side pane.. Select your named search which you just created. this will save your filter criteria (status= active) in your named search.
6. now you are good to define this name search in SRM Web service.
Revert if any further questions.
Best Regards,
Shiv
2 -
Restrict users from saving own search in existing Named Searches
Hello,
I have created some Named Searches that will be used by the MDM users. These users are only allowed to use these named searches (in their search selections) but they are not allowed to 'overwrite' any of the named searches by their own search criteria.
How can I prevent the user from 'overwriting' the Named Searches?
Because even when I set the user role to "None" for all functions and "Read-Only" for all tables and fields, the user can still make their own search and Save that as Named Search (and thus 'overwriting' the existing Named Search which impacts also the other users that make use of these Named Searches).
We are using MDM 5.5 SP5 (5.5.42.106).
Or is this an autorisation bug in MDM?
Thanks for your answers!
Regards,
MarcelAll,
Just for your information:
We have upgraded to MDM 5.5 SP06 Patch 3 (build 5.5.63.57) and they have introduced new role feature to protect named searched to be overwritten (see also release notes of patch 3 - OSS Note 1234675).
So you can now change the Role (in MDM Console) and under section MDM Data Manager, you can set None or Execute for the function of Saving a Named Search.
If you set it to None, then the menu option in the MDM Data Manager of saving an search as a Named Search (and hence overwriting the named search) is greyed out. Only when you set it to Execute (which is automatically set during upgrade to thi snew version when the role has set it's Default function to Execute), then the user can overwrite the named search with his own search.
So, issue solved!
Regards,
Marcel -
Dear Experts,
I try to create Named Searches On the SRM-MDM Catalog.
I created named searches and assigned each named search do CATALOG_ID.
I assigned the relevant CATALOG_ID to the organizational unit in the organizational stracture.
In the Search UI the user sees the link to the named search I assigned, but he still see all the Items and not only the items I assigned to the named search.
I guess I did not assign the items I picked properly.
Can someone help?
Thanks & Regards,
KerenHi,
In SRM MDM data manager select the current table as Named search in record mode.Right click -Add -Say NamedSearchS1.Then Select your main table as current table.Select the records which you want to display to particular user.Then go to menu Search-Add to named search S1.
Go to Console under roles table-select the particular role-under tables and field tab-Named search-add constraint as S1.
MDM support 400 named searches.
In EBP then add the s1 in call structure.
Regards
Nisha -
User-Specific Configuration for different named search role
We need different user specific layout settings for each user. i have duplicated catalog user role for each user and maintained specific named search for that particular user in constraint. but when we want to configure specific layout for individual user. its not showing that catalog user in the catalog config UI for the layout configuration. please advice. if it shows that specific user then we would configure each specific user layout with individual look and feel ( like shopping lists, search fields, images, etc., ). thanks for your inputs.
Answered
-
Simple performance question. the simplest way possible, assume
I have a int[][][][][] matrix, and a boolean add. The array is several dimensions long.
When add is true, I must add a constant value to each element in the array.
When add is false, I must subtract a constant value to each element in the array.
Assume this is very hot code, i.e. it is called very often. How expensive is the condition checking? I present the two scenarios.
private void process(){
for (int i=0;i<dimension1;i++)
for (int ii=0;ii<dimension1;ii++)
for (int iii=0;iii<dimension1;iii++)
for (int iiii=0;iiii<dimension1;iiii++)
if (add)
matrix[i][ii][iii][...] += constant;
else
matrix[i][ii][iii][...] -= constant;
private void process(){
if (add)
for (int i=0;i<dimension1;i++)
for (int ii=0;ii<dimension1;ii++)
for (int iii=0;iii<dimension1;iii++)
for (int iiii=0;iiii<dimension1;iiii++)
matrix[i][ii][iii][...] += constant;
else
for (int i=0;i<dimension1;i++)
for (int ii=0;ii<dimension1;ii++)
for (int iii=0;iii<dimension1;iii++)
for (int iiii=0;iiii<dimension1;iiii++)
matrix[i][ii][iii][...] -= constant;
}Is the second scenario worth a significant performance boost? Without understanding how the compilers generates executable code, it seems that in the first case, n^d conditions are checked, whereas in the second, only 1. It is however, less elegant, but I am willing to do it for a significant improvement.erjoalgo wrote:
I guess my real question is, will the compiler optimize the condition check out when it realizes the boolean value will not change through these iterations, and if it does not, is it worth doing that micro optimization?Almost certainly not; the main reason being that
matrix[i][ii][iii][...] +/-= constantis liable to take many times longer than the condition check, and you can't avoid it. That said, Mel's suggestion is probably the best.
but I will follow amickr advice and not worry about it.Good idea. Saves you getting flamed with all the quotes about premature optimization.
Winston -
Create Named Search with Java API
Hi,
is it possible to create or modify a named search with the Java API?
Best regards,
RomanHi Olof,
You can use the below code for searching a value in lookup table:
ResultDefinition objResultDefinition = new ResultDefinition(Lookup Table Id);
objResultDefinition.addSelectField(Lookup Field ID);
StringValue [] objStringValue = new StringValue[1];
objStringValue[0] = new StringValue("Value to search");
RetrieveRecordsByValueCommand objRetrieveRecordsByValueCommand = new RetrieveRecordsByValueCommand(objConnectionAccessor);
objRetrieveRecordsByValueCommand.setSession(strUserSessionID);
objRetrieveRecordsByValueCommand.setResultDefinition(objResultDefinition);
objRetrieveRecordsByValueCommand.setFieldId(lookup field id);
objRetrieveRecordsByValueCommand.setFieldValues(objStringValue);
objRetrieveRecordsByValueCommand.execute();
RecordResultSet objRecordResultSet = objRetrieveRecordsByValueCommand.getRecords();
Now using the objRecordResultset in a loop you can get the record id by calling the getRecord(i).getId() method.
Hope this helps!!
Cheers,
Arafat -
Hi All,
Does anyone know if its possible to execute Named Searches using the Java API? If so, how would you set up that call?
Best Regards,
MarkHello Mark,
SAP does provide with some methods related to Named Searches just have a look at these links
1. <a href="https://help.sap.com/javadocs/MDM/current/com/sap/mdm/search/SearchDimension.html#NAMED_SEARCH">Named search</a>
2. <a href="https://help.sap.com/javadocs/MDM/current/com/sap/mdm/security/AccessPermission.html#NAMED_SEARCH_OBJECT">Named Search Object</a>
3. <a href="https://help.sap.com/javadocs/MDM/current/com/sap/mdm/search/NamedSearchSearchDimension.html#NAMED_SEARCH_SEARCH_DIMENSION">Named Search Search Dimension</a>
I hope this solves ur problem.
Regards Dollar Man -
Hi All,
I have to create a Named Search. I have already created a Named Search in the Client. I have added only 2 records in this name search but all the records have been added to the name search.
Where am i going wrong??
Regards
RichaHi Richa,
I am taking an example for namedSearches.
First create a Named Search say abc.
In Vendor repository there is a table Account Group in which there is a field Goods Suppiler and I set the search criteria on Goods supplier and go to Search option ->save as Namedsearch->abc.
Now go to main table and add arecord xyz for which Account group must be Goods Supplier and save the record and go to Search option and select Restore Named Search ->abc.
now go to Account group table the new record added will be reflect in the Account Group Table (That is why Named searches are also called Dynamic searches).
Hope it will help you.
With Regards,
Vinay Yadav
Edited by: Vinay Yadav on Apr 30, 2008 7:33 AM -
Guys,
I do understand that ccPBM is very resource hungry but what I was wondering is this:
Once you use BPM, does an extra step decreases the performance significantly? Or does it just need slightly more resources?
More specifically we have quite complex mapping in 2 BPM steps. Combining them would make the mapping less clear but would it worth doing so from the performance point of view?
Your opinion is appreciated.
Thanks a lot,
Viktor VargaHi,
In SXMB_ADM you can set the time out higher for the sync processing.
Go to Integration Processing in SXMB_ADM and add parameter SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 (seconds). You can also increase the number of parallel processes if you have more waiting now. SA_COMM CHECK_FOR_MAX_SYNC_CALLS from 20 to XX. All depends on your hardware but this helped me from the standard 60 seconds to go to may be 70 in some cases.
Make sure that your calling system does not have a timeout below that you set in XI otherwise yours will go on and finish and your partner may end up sending it twice
when you go for BPM the whole workflow
has to come into action so for example
when your mapping last < 1 sec without bpm
if you do it in a BPM the transformation step
can last 2 seconds + one second mapping...
(that's just an example)
so the workflow gives you many design possibilities
(brigde, error handling) but it can
slow down the process and if you have
thousands of messages the preformance
can be much worse than having the same without BPM
see below links
http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
BPM Performance tuning
BPM Performance issue
BPM performance question
BPM performance- data aggregation persistance
Regards
Chilla.. -
Named Search option is not activated
Hi,
I want to save a search as Named Search in my repository.
It is possible to save it as Local Search but the Named Search is de-activated.
Regards
Kaushik BanerjeeHi Kaushik,
If you want to save any search as Named search; then first you need to create a record in Named Searches table in data manager.
Go to data manager --> select table Named Search --> create record in that table --> go to main table --> apply the serach criteria which you want to save as named search --> go to search tab --> select save as Named search and select the name of your named search (you will see the same record here, which you created in Named search table).
This will definitely solve your problem.
Note: Named serach will be visible to all users on all machine whereas Local search will be visible only on your machine.
Regards,
Varun -
Using named Search has constrainst on user roles
Is there a standard way to use named search as a constraint for a user role. There are constraints related to flat files and masks but I can't find any on Named search file. Anyone have an ide how to solve this?
Regards
John-KjellHey John,
Why dont u save a named search in Data Manager with whatever field ie. on prices field.
And then u configure the User having that role in the Config UI ie. make all the configurations for that user like whichever fields u want to show to that user and than while passing the url for search ui in that u specify the user and the named search in the url itself.
For eg:
http://localhost:50100/SRM-MDM/SRM_MDM?sap-locale=EN&HOOK_URL=&mask=&namedSearch=&username=Admin&password=admin&catalog=SRM_MDM_Catalog_2.0&server=localhost&datalanguage=EN
In &namedsearch=<Specify the Named Search u saved>
and in &username=<Specify the user for which it is configured>
Try dis out
Regards Tejas................ -
MDM - Create a named-search with an active one
Hi MDM experts,
Is there any possibility to activate a Named-Search and save another with another active search criteria?
I mean:
I choose Named-Search A
I activate another field for filtering.
Then I need to save this result as Named-Search B.
I can't find this option available (only in display mode). Any experience how this can be done?
Thanks,
LMSAP Note 1345702
-
How to transport the validations, assignments, named searches, and workflow
Hi Experts
How to transport the validations, assignments, named searches, and workflow
between two repositories.
Thanks
Vickey.Hi Vickey,
In MDM 5.5 you can use the Archive /Unarchive option for it
You can refer the below link:
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20751e78-f81f-2a10-228f-eb3a16421b4d(Export/Import Schema)
Note:Export/Import schema can also be used for Transportation in MDM however as of MDM 5.5 the maps,validations and workflows cannot be transported.
From MDM 7.1 version onwards you can use the Export/Import Schema as well
You can refer the below link:
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d0dd1ae0-36e5-2b10-f8b4-e6365e643c0b
Hope It Helped
Thanks & Regards
Simona Pinto -
Selected named searches contains invalid search selections Data Manager
Hello Experts,
There is error in Named search in MDM Data Manager.
Error message:
one or more selected named searches contains invalid search selections that have been removed
for the current search. To correct this problem, restore each named search, modify it as
necessary and then save it to named search. Version 7.1.05.104
After restore each named search, still error remain there.
Thanks in advance.Hello,
Can you please share your solution to this issue.
I am having similar problems and would be interested to know how you solved it.
Thanks in advance,
Sofiane
Maybe you are looking for
-
Question about problem with HP LaserJet P1102
Hello, My name is Mariya. When we bought our printer I set it very good and it worked properly. The problem is sometimes I bring it to duty and use the printer there. One day I could not set the printer on my job and did something where was written t
-
Report for Activity hours consumed
Dear All, I am lookinf for a report showing no. of activity hrs. actually consumed with in a given period.I guess there are certain reports available in CO ,but looking for the right one.Plz help.
-
Seeking help to sync iPhone with Windows 7. Previously able to do this with mophy. Need help identifying and correcting problem.
-
I have a BPEL process that polls a DB table for records. The DB Adapter has the both Database rows per transaction and Database Rows per XML set to 10. A While loop in the BPEL process loops over all the 10 records, applies suitable transformation an
-
Hi Experts, I am new in SAP QM Audit Management and need clarity to about below queries: - 1) What & how to configure the Partner Classification in SAP Audit 2) What & How to activate the Plan Notification in SAP Audit Would be highly appreciated, if