cancel
Showing results for 
Search instead for 
Did you mean: 

Enhancing Search - new field

Former Member
0 Kudos

Hey all,

I am trying to add new fields (Z fields that are in the BOL) to the search for opportunities (although the question I have is general, opportunities is just the first thing I am working on), and actually I have not found any real documentation on how to do it.

At the moment I assume that a starting point would be to add the field as an attribute under the SEARCH context node in the view Search of component BT111S_OPPT (after I enhanced the component). When I select the Z field through the "Create" wizard I get the error that the controller Search.do was not found in the BSP application that I created during the enhancing, though.

Am I on the right track there at all, or is there something else I have to do first?

Regards

Thomas

Accepted Solutions (1)

Accepted Solutions (1)

stephenjohannes
Active Contributor
0 Kudos

Thomas,

My earlier thread shows this:

This feels like deja vu, as I have done this before for complaints, but it should work the same

First off you added the field to the CI_EEW_BUS2000111_SEARCH include for the Opportunity search

Second you defined a new entry in CRMC_REPDY for your field.

Third you created an implementation of the badi CRM_RF_SEARCH_EEW for your new field.

Fourth: Add the search to your view

Fifth(optional) Add input help for the new search field.

I probably need to wiki this or blog the actual details. It is still sitting in draft mode.

Take care,

Stephen

Former Member
0 Kudos

Hi Stephen,

Maybe you pasted the wrong link.

Anyways, I have a very basic doubt for a long time and I think you are the right person to clear it.

My doubt is-When to go for EEWB? I mean in 90% of the projects, consultants are directly appending the Z-fields in the search structure for Search Enhancements.

Is this the correct way of Search Enhancement? Wouldn't an SAP Upgrade in future gonna overwrite the Appended structure?

Hope you got what I am trying to say!

Thanks and Regards,

Rohit

stephenjohannes
Active Contributor
0 Kudos

Rohit,

Yes I pasted the wrong link. Oh well if you go to the CRM wiki I put outline of the draft blog there.

In terms of your question here is the general rule:

1. Use the EEWB for all new fields that will be created in the CRM 2007 release.

2. Use manual techniques to "convert" fields over that were created in the EEWB but not in CRM 2007 release

3. If you made manual "touchups" to existing extensions you will need to decide if you want to use the EEWB going forward. I tend not to use the EEWB once a group of fields has been added. Instead I just "enhance" that segment manually, by doing basic structure enhancements. However you better know what you are doing. Usually you can also add new segments of fields and should not experience problems. This might become an issue if you did some manual work with the BDT.

4. If you need to do currency/quantity fields then don't use the EEWB, but manually add them to an existing EEWB segment. You may need to generate a "dummy" field to get the coding place holder.

5. Don't try to regenerate extensions created in a previous release with the EEWB. It just will make your life miserable.

SAP upgrade won't overwrite the structures if you place everthing inside of the customer include. Technically also if you use the ZZ-convention, append structures dont' get overwritten during an upgrade. We just did two upgrades this year on our CRM boxes, and none of our customer includes were touched.

Hopefully that answers your question.

Take care,

Stephen

Former Member
0 Kudos

Hello Stephen,

what exactly does the entry into table CRMC_REPDY achieve. I have found no hint on what it does. I see that it is a steering table for dynamic access in the description of the table. Does it help SAP to build the select statement?

TIA Lutz Morrien

stephenjohannes
Active Contributor
0 Kudos

Lutz,

I know it is a control table for the dynamic search of the reporting framework for business transactions. It basically makes fields visible to the search engine code. It is basically the "binding config glue" between the structure and the underlying code.

Keep in mind that my formula was based on what the EEWB generates for new CUSTOMER_H fields. I needed to do this, because I had pre CRM 52/2007 generated EEWB fields and needed to manually bring them up into the new CRM 52/2007 structures.

Take care,

Stephen

Former Member
0 Kudos

Hi Stephen,

Can you give me the wiki link. I'm not able to find it in wiki. Thanks..:)

Edited by: Anik Roy(moderator) on Nov 27, 2008 8:23 PM - removed email reference

stephenjohannes
Active Contributor
0 Kudos

The wiki link is the following:

https://www.sdn.sap.com/irj/scn/wiki?path=/display/crm/transactionSearchEnhancement

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Thomas,

For any enhancement, we usually add a field via EEWB transaction and then implement the filter logic in the BADI.

In the EEWB wizard, there is an option in one of the wizard screens to select whether the newly added field is also relevant for search. If we select the check-box, then this field is automatically added to the search structure also.

If the field is already present in CRM system and you just want a search on that field, then you can somehow try to pass this field to the BADI level by adding a value node on the UI and appending it to the query parameters.

Once the new parameters is there in the BADI, you can then implement your filtering logic in the BADI.

This is a very generic approach and may differ depending upon business requirements.

Hope this gives you some pointers to start with!

Regards,

Rohit

Former Member
0 Kudos

Hey,

could you explain that part about bringing the field into the UI a little more? In SP 2 I can only add model attributes, but whenever I try to do that, I get weird error messages that crash the transaction when I try to get more info by double clicking them... both in our and a customers system...

Regards

Thomas