Note 2366163 – Smart Value Help Enhancements
System Environment of Examples:
- BBPCRM 715
- WEBCUIF 749
- What is Smart Value Help
- The past and present of Smart Value Help, present means after Note 2366163 – Smart Value Help Enhancements
- How to implement new Smart Value Help
- How to only enable Last 5 Entries function for a field like “Description” field? which does not have value help at all.
Tips and Tricks：
- What is a good incident reported
- Different types of Value Help
- How to have multi column Smart Value Help
- Even more tips and tricks related to SVH
I can frequently meet customers who can report incident with very high quality. Take one recent example, this customer reported one incident about a potential bug. The incident contains the following information:
- Steps to reproduce the problem, including screen shots
- Compare to another system which does not have this issue, and also compare the differences in the codings
- Details about debug, and also make manual changes during debug which demonstrated a possible way of correcting the bug
- Point out which note might lead to this bug
When get such an incident, my value as a support is totally gone, I can simply click one button and forward it to our developer waiting for a correction note. But I do appreciate such incidents more than ever, such incidents are always another chance for me to learn more. I tried to reproduce this issue in our internal system, and tried the same debugging, and manual changes in debugging, and then forward the incident to our developer. After done all those, I prepared a cup of water, sit down would like to spend bit more time to understand this topic more thoroughly.
For this mentioned incident, customer discovered a bug introduced by Note 2366163 – Smart Value Help Enhancements (Please don’t worry. The bug is already fixed by newly created note 2620532). Actually Note 2366163 – Smart Value Help Enhancements has introduced a very good tiny function. It extended the past Smart Value Help. What is Smart Value Help? For an input field, when we type in the text box, there will be a dropdown, which contains two parts: first is “Last 5 Entries” ever entered, the second is immediate search with the characters typed and return “SVH Search Result”.
Then what did Note 2366163 enhanced?
Firstly, let’s understand what is a Value Help, it is the following button
And it might be one of the following two types:
- DDIC Search Help
- Advanced Search Help
Let’s take Create a Corporate Account for example. The field Country is using DDIC Search Help, in backend we have defined a check table or a search help for the V getter of this field. Another field Employee, it is using Advanced Search Help, in backend we have defined a navigation, it will navigate to a more complex bsp page to launch an advanced search.
Before Note 2366163, DDIC Search Help supports both “Last 5 Entries” and “SVH Search Result”. But Advanced Search Help only supports “Last 5 Entries”. And if an input field does not have Value Help, it won’t have “Last 5 Entries” or “SVH Search Result” function.
Note 2366163 provides possibilities for scenarios after the above “But”.
Before Note 2366163, in V getter, we can define the following descriptor:
- F4 Help descriptor
- This descriptor defines “DDIC Search Help”. It will tell which search help or which field’s check table will be used. And it can also define input field to start search and output field of the search result.
- Navigation Descriptor
- This descriptor defines “Advanced Search Help”. It will tell which outbound plug will be fired if click on the Value Help button. The outbound plug will lead you to the advanced search bsp page.
After Note 2366163, besides the above two descriptors, we can define more descriptors as following:
- Smart Value Help descriptor
- This descriptor defines when we type in the input field, we will use the typed character to search in which search help. That is the function “SVH Search Result” will be from which search help. And this will became the prerequisite to have the function “SVH Search Result” if F4 Help descriptor was not defined.
- Value help mixed descriptor
- This descriptor will define descriptor for “Smart Value Help” and “Value Help” separately. And the “F4 Help descriptor” or “Navigation Descriptor” can be passed over as a “Value Help” descriptor。
Picture is more welcomed than descriptive words:
With this mechanism, by adding codings in V Getter, we will be able to enable function “SVH Search Result” for “Advance Search Value”. And can also enable function “Last 5 Entries” and “SVH Search Result” for those field does not have Value Help button.
There is good coding examples in Note 2366163’s attachment. Which present the older and new way of coding in V Getter.
I tried to check in our standard coding. And it seems that up till now, there is no standard SAP application developer used this new way of V Getter. Maybe this enhancement can be used in your customer project/enhancement?
Here is my try of the new way of V Getter. I enhanced the Create Corporate Account page. Enhanced the V Getter for the “Employee” field. Please ignore the fact that I used the search help of Country here, just as testing. Maybe this strange way shows more clearly about separated SVH and Value help? ?
I also enhanced field “Search Term” on the same page, which does not have value help button. Please ignore again about using search help of “Country”.
Maybe you already found there are difference in my two implementations. The second one has more column instead of only one. This is because I’ve copied the standard search help. And activated the following two flags “Proposal Search for Input Fields” and “Multi-Column Full Text Search”. This did the trick. This multi column SVH was available even before Note 2366163.
Since I used Search Term as one example, this might lead to one requirement that is to have Last 5 Entries function only for fields like “Description” or “Search Term”, who does not have value help at all.
With the above mechanism, we are able to define a search help pointing to an empty table. And define it as SVH descriptor. Then this will do the trick. 🙂
Even more tips and tricks:
- If you created a rapid application or AET field, if you provided check table or search help on the field definition popup, you don’t have to write codings in V Getter. The infrastructure will naturally enable the value help and SVH；
- The SVH function has been embedded into the html when do UI element rendering. When type something in the input field, there will be http request sending from frontend to backend, the http request and parameters can be checked via HTTPWatch or F12 tools;
- The program to render SVH is in method CL_THTMLB_INPUTFIELD IF_BSP_ELEMENT~DO_AT_BEGINNING;
- If you would like to do trouble shooting, two possible directions,
- one is to check if the SVH function has been correctly rendered into the html, by check html source and debug in CL_THTMLB_INPUTFIELD IF_BSP_ELEMENT~DO_AT_BEGINNING;
- the other is whether the SVH http request has been processed correctly, by debug the call back request handling at backend, normally it should be CL_THTMLB_F4HELP IF_CRM_WEB_CALLBACK~HANDLE_REQUEST;
Great article and exactly what I have been looking for in the past few weeks:-)
Thanks for taking the effort to write it all down
Thanks a lot for the encouragement. 🙂