Use of search help exit
use of search help exit with an example
Hi,
A search help describes the standard input help process. In exceptions it could be necessary to deviate in some points from this standard. Such a deviation from the standard can also be implemented with a search help exit.
The input help process should look as much the same as possible throughout the entire system. Search help exits should therefore only be used for exceptions.
A search help exit is a function module that has a predefined interface. A search help exit is called at certain times by the help processor. The administrative data of the help processor are passed to the search help exit using the interface.
You can store your own program logic that manipulates this administrative data in the search help exit. Individual steps of the input help process can be skipped with a search help exit.
for example
Search help exit F4UT_OPTIMIZE_COLWIDTH adjusts the column width in the hit list to the contents of the column. It makes sense to use this search help exit when the columns of the hit list have to be made very wide for extreme cases (e.g. for name fields), but normally they will contain much smaller values.
Each search help exit must have the same interface as function module F4IF_SHLP_EXIT_EXAMPLE (is used as pattern for all the search help exits to be created). You can find more information about the interface in the documentation for this function module.
Calling the Search Help Exit
If a search help exit is assigned to a search help, the help processor calls it at the following times:
Before Displaying the Dialog Box for Selecting the Required Search Path.
It is only called for collective search helps. Using the search help exit, the set of elementary search helps available can for example be restricted depending on the context.
Before Starting the F4 Process for the Elementary Search Help
The call is triggered independent of whether the dialog window for entering the search conditions appears or whether the selection is executed immediately (for example, because in the Hot key of the elementary search help Immediate value display is set).
Before Displaying the Dialog Box for Entering Search Conditions.
You can either influence the dialog for entering search conditions or skip it altogether here. You can also influence how the selection screen looks. The call is triggered only if there is no direct selection (that is, if in the Hot key of the elementary search help Immediate value display is not set).
Before Selecting Data.
The data selection can be partly or completely copied from the search help exit. This can become necessary if the data selection cannot be implemented with a SELECT statement for a table or a view.
Before Displaying the Hit List.
You can influence the display of the hit list in this step with the search help exit. You can reduce the number of values displayed here. For example, you can display only values for which the person calling the input help has authorization. You can also copy the complete hit list from the search help exit.
Before Returning the Values Selected by the User to the Input Template.
It could be advisable to intervene at this time if control of the further transaction flow should depend on the value selected. A typical example is setting set/get parameters.
Similar Messages
-
Help needed in search help exit
Hi Experts,
I have used a search help exit in IL03 transaction to include a field in a particular search tab. I have written the code in timepoint PRESEL1 and it is showing the search field in that search tab when I directly enter into that tab.
But the problem comes when I go to some other search tab and come to the required search tab the field which I have included is not displayed.
Please give your suggestions to solve this problem.
Thanks in Advance,
Arasu KHi,
In that case. you can do one thing.
in your search help, following field will have the value entred by the user.
SHLP_TAB[1]-INTERFACE[1]-VALUE
Read this table SHLP_TAB index 1 and do your logic.
Reward points if useful.
Regards,
Niyaz -
Search help exit for CSH_T003 not working in FB60
Hi. We need to restrict document types per transaction code.
I know we can use authorisations but it would look nicer to actually restrict the list available, so the user can only choose a valid one, rather than choose any but then be told of authorisation problems.
I put a user exit on the collective search help CSH_T003 and also on the individual H_T003 and set a break point right at the start of the user exit, but it does not break in transaction FB60.
Does anyone know if it is possible to use a search help exit in transaction FB60? If it is possible what am I doing wrong?
Thanks a lot for your help.
Regards,
Dave.Hi ,
If you are looking to retrict a specific document type for FB60. You can do so, by customizinng "a/c payable & receivable> Busi Trans > Outgoing invoices/Credit memo>Outgoing invoices/Credit memo enjoy.
Then in Fb60, go to "editing option" and hide the doc type under "Document type option". This will only work if you want to use a specific doc type for FB60.
Thanks
Ron
Edited by: Ron on Dec 2, 2009 8:45 PM -
Hi all,
In transaction code IW51: Create Notification.
Equipment Field is on Main screen and Ship-to Party is on Subscreen. I have created a new elementary Search help for Ship-to party and attached to collective search help DEBI in which I am displaying one column of equipment number attached to ship-to party.
Requirnment is when user hits F4 on Ship-to party, all the equipment associated to this ship-to party are displayed,if user clicks on any of equipment number , this has to be filled in equipment field which is on Main screen.
I think if fields are on same screen it will be filled automatically, but here the equipment is on main screen.
Please help me if any of you have faced this type of problem.
Thanks in Advance,
VijendraHi,
If you trying supply value for the equipment field in the main screen, i guess you wouldn`t be able to do it using the search help exit. Rather on the exit you can supply values for the equipment field directly.
just for eg. xxxx-equip. = <user selected value>.
Regards -
Search Help Exit with portal (webdynpro)
Hi,
I'm implementing a customised search help for CAT2. In the portal it is using the webdynpro. I'm using the search help exit to populate the hit list that i want it to appear at both the R/3 backend and the portal side. I've also added the search help to the the table TCATS_SHLP_ITS where it defines the display field for the portal side.
It is working fine where the hit list is populating correctly. However, when the user select the record from the hit list, i want to display another value that i've populated at the search help exit to the expected field on the portal screen. HOw can i do that? FYI, the 1st display field in the table TCATS_SHLP_ITS, is not the value that i want it to display at the selected field on the portal screen.
Kindly assist. Many thanks.
Cheers,
LooHi,
Were you able to resolve this issue.
Thanks,
Tanuj -
Search help exit in H_T001P
Hi,
I tried using the search help exit in the search help h_t001p .
It works for Tcode PA30 and does not work for PA40.
Any idea why?
am i missing something?
Thanks & Rgds
GHi gayatri,
in transaction screen see for the field search is assigned or not.
if you tell exactly for which field and screen no i will check and let you know.
thanks
vinod -
Populate and display internal table results using search help exit...
I have copied F4IF_SHLP_EXIT_EXAMPLE and made changes. I want this search help exit to populate and display contents related to 'FIELD1' when the user enters a specific value for it in the search help screen, meaning when the user restricts the search by that value. For field2, field3, field4, field5, field6, field7, and field8 I am using a custom view.
Following is the code:
TYPES: BEGIN OF t_search,
field2 TYPE field2,
field3 TYPE field3,
field4 TYPE field4,
field5 TYPE field5,
field6 TYPE field6,
field7 TYPE field7,
field8 TYPE field8,
field1 TYPE field1,
END OF t_search.
DATA: it_itab TYPE TABLE OF t_search,
wa TYPE t_search,
wa_selopt TYPE ddshselopt,
wa_fielddescr TYPE dfies.
ranges: r_field1 for std_table1-field1
STEP SELECT (Select values)
FREE: r_field1.
**Get the value entered for FIELD1 in search help
LOOP AT shlp-selopt INTO wa_selopt.
CASE wa_selopt-shlpfield.
WHEN 'FIELD1'.
r_field1-sign = wa_selopt-sign.
r_field1-option = wa_selopt-option.
r_field1-low = wa_selopt-low.
r_field1-high = wa_selopt-high.
APPEND r_field1.
CLEAR: r_field1.
ENDCASE.
ENDLOOP.
**Select 'ID' and 'FIELD1' from table into lt_itab
SELECT id field1
INTO TABLE lt_itab
FROM std_table1
WHERE field1 IN r_field1.
IF sy-subrc = 0.
**Now, based on the particular IDs from lt_itab, I need to select other values
from other tables which also have 'ID' as the key.
SELECT std_table2~field2
std_table2~field3
std_table3~field4
std_table3~field5
std_table3~field6
std_table4~field7
std_table4~field8
std_table1~field1
INTO CORRESPONDING FIELDS OF TABLE it_itab
FROM std_table2
INNER JOIN std_table3 ON
std_table3mandt = std_table2mandt AND
std_table3id = std_table2id
INNER JOIN std_table4 ON
std_table4mandt = std_table2mandt AND
std_table4id = std_table2id
INNER JOIN std_table1 ON
std_table1mandt = std_table2mandt AND std_table1id = std_table2id
WHERE
std_table1~field1 IN r_field1.
'id' is common in all the std_tables --> std_table1, std_table2, std_table3, std_table4.
STEP DISP (Display values)
**Then I need to gather all the results in my internal table it_itab and display
in search help results for the value of FIELD1 entered by the user in the search help.
CALL FUNCTION 'F4UT_PARAMETER_RESULTS_PUT'
EXPORTING
parameter = 'FIELD1'
fieldname = 'FIELD1'
TABLES
shlp_tab = shlp_tab
record_tab = record_tab
source_tab = it_itab
CHANGING
shlp = shlp
callcontrol = callcontrol.
I am not getting all the data in my internal table and wanted to know if there is anyting wrong in my select statement.
Any guidance will be appreciated and awarded appropriate points.
Thanks.the webdynpro fieldname and the search help input parameter name were made same.
-
Set a parameter value using Search help exit
Hi All,
I want a search help such as If I enter a warehouse number on my screen then search help for storage bins should have that warehouse number populated in selection dialog.
I guess i have to write some code in search help exit if CALLCONTROL-STEP = 'PRESEL'.
But I am not able to set the warehouse value to parameter.
Does any one have done something like this?
Thanks in Advance,
ShaillyHi Shailly,
I don#t know if that will be the best option for you, but you can make use of the abap program event at value request for your parameter_id.
What you need is to insert a similar code like the one below:
at selection-screen on value-request for p_param
select fielda fieldb from storage bin table into gi_warehouse_bin
where warehouse = warehouse parameter.
delete adjacent duplicates from gi_zzdez comparing all fields.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = space
dynpprog = 'REPORT_NAME'
dynpnr = '1000'
dynprofield = 'P_BIN'
window_title = 'Text'
value_org = 'S'
tables
value_tab = gi_warehouse_bin
exceptions
parameter_error = 1
no_values_found = 2
others = 3
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
Cheers,
Florin -
Search Help exits using Web Dynpro abap
Hi,
Before returning the values selected by the user to the input field, i have to set a column of the F4 result list based on some computation. How can i do that?
i.e to set a field value dynamically using search help exit
plz reply.
Thanks & Regards,
Raji.Hi Raji,
The blog mentioned by micheal is written by me.
Go through the blog and let me know your queries.Lets see if i can help you -
SY-TABIX within a search help exit...
Hallo all,
I tried to find an answer in earlier postst, but did not succeed, therefore this message.
I have built a customtabel with several columns. For one of the columns I have built a custom search help, including some coding in the search help exit. In this coding I want to do a different selection based on the value in another column (BUKRS) of the same table. Do you understand what I mean?
The trick is to retrieve the right value of in the column BUKRS in the same line of the table, at the moment I am pushing F4 for another column.
And I dont know how to do this. I dont have the right SY-TABIX value, so this is not helping.
Does anybody have an idea as how to tackle this?
Kind regards,
ErikHello Francois & Holger,
Thanks for the reply, but Iu2019m calling this searh help from the transaction SE16 itself, so I donu2019t have my own table control. I am also using the search help in another situation (from a custom-made screen) and here I can pass on the value via a parameter, but this is not working in the case I described.
So the SY-STEPL is not working too....
Kind regards,
Erik -
Help with DYNP_VALUES_READ and DYNP_GET_STEPL in search help exit
Hi,
I'm coding a search help exit for a field on a table control and I need to get access to the value of another field that's on the same line in order to limit the hit list. I can use DYNP_VALUES_READ to return the values from the step loop, but I can't find out which line of the step loop I'm on. DYNP_GET_STEPL always returns 0, presumably because I'm now in a function group and the step loop is getting reset. Any ideas?
Thanks in advance,
AndrewI want to read EBELP and INFNR.
Below is code that i'm using:
MOVE 'MEPO1211-EBELP' TO t_campos-fieldname.
APPEND t_campos.
MOVE 'MEPO1211-INFNR' TO t_campos-fieldname.
APPEND t_campos.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = 'SAPLMEGUI'
DYNUMB = '1211'
TABLES
DYNPFIELDS = t_campos
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11.
READ TABLE t_campos INDEX 1.
l_ebelp = t_campos-fieldvalue.
READ TABLE t_campos INDEX 2.
l_infnr = t_campos-fieldvalue.
The sy-subrc = 0, but the FM didn't bring the values of the screen fields. Is there some wrong with the filed name?
Thanks. -
Getting values from screen to search help exit
Hi Experts,
I have created a search help in which I am not using selection method but search help exit. Dialog type is 'Dialog with value restriction'. My requirement is to get the values entered in restriction screen into search help exit. Please suggest a parameter which will hold this value in search help exit function module.Hi M,
As you know there are 5 steps in search help exit. For each step, the values in parameter of your search help exit is different.
For your requirement, you need process in step 'DISP', and get the selection value from 'SHLP-SELOPT'.
Example:
*Build range for customer number
LOOP AT shlp-selopt INTO ls_selopt WHERE shlpfield = 'KUNNR'.
lr_kunnr-sign = ls_selopt-sign.
lr_kunnr-option = ls_selopt-option.
lr_kunnr-low = ls_selopt-low.
lr_kunnr-high = ls_selopt-high.
APPEND lr_kunnr.
CLEAR: lr_kunnr.
ENDLOOP.
Then using the lr_kunnr range in your select statement.
regards,
Archer -
How to create Search help exit, and then assign it to a collective search
hi gurus,
i have an intersting question for you, well my scenario is like i have to create a search help exit using some function module cause i didt found table for my search help but i can find the value through FM, i know we can create a search help exit and then assign it to collective search help,
my problem is what are the parameters i need to pass to this search help exit FM, and in the function module i want to use the value entered on the f4 selection screen to extract data through FM. i need to give a solution asap.
any reply will be highly appreciated
n rewards points for sure.
thanks mandyHi mandy,
Have a look at this code,
FUNCTION SHLP_SHOW_LIST.
""Local interface:
*" IMPORTING
*" VALUE(PLANT) TYPE WERKS_D OPTIONAL
*" VALUE(DISPLAY_ONLY) TYPE FLAG OPTIONAL
*" EXPORTING
*" REFERENCE(ITEM_SELECTED) TYPE CHAR20
*" EXCEPTIONS
*" POPUP_CANCELED
TYPE-POOLS SHLP .
CONSTANTS:
co_shlpname TYPE shlpname VALUE 'SHLP_CONTAINER',
co_shlpfield_itemalias TYPE ddshlpsfld VALUE 'CONTAINER'.
DATA: l_shlp TYPE shlp_descr_t,
l_subrc TYPE sysubrc,
l_return_tab TYPE STANDARD TABLE OF ddshretval,
l_return_wa TYPE ddshretval,
l_interface_wa TYPE ddshiface.
Get details for search help
CLEAR l_shlp.
l_shlp-shlpname = co_shlpname.
l_shlp-shlptype = 'SH'.
CALL FUNCTION 'DD_SHLP_GET_HELPMETHOD'
CHANGING
shlp = l_shlp.
Assign virtual screen field
READ TABLE l_shlp-interface INTO l_interface_wa
WITH KEY shlpfield = co_shlpfield_itemalias.
l_interface_wa-value = space.
l_interface_wa-valtabname = 'X2'. "virtuel screen field
l_interface_wa-valfield = 'Y2'. "virtuel screen field
MODIFY l_shlp-interface FROM l_interface_wa INDEX sy-tabix.
Call F4 popup
CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
EXPORTING
shlp = l_shlp
disponly = display_only
IMPORTING
rc = l_subrc
TABLES
return_values = l_return_tab
EXCEPTIONS
OTHERS = 0.
IF sy-subrc = 0 AND l_subrc = 0.
Value selected
READ TABLE l_return_tab INDEX 1 INTO l_return_wa.
item_selected = l_return_wa-fieldval.
ELSE.
Popup canceled / no value selected
RAISE popup_canceled.
ENDIF.
ENDFUNCTION.
make sure to call these FMs and populate accordingly...
Thanks
Madhu -
SELECT-OPTIONS Values via DYNP_VALUES_READ in a Search Help Exit
Hi all,
I appended a standard search help of a standard report with a search help of my own. Now I am trying to retrieve the values the user has entered into the selection screen of the report using the FM DYNP_VALUES_READ in my search help exit FM. It works fine for single values defined by PARAMETERS and for low and high values of SELECT-OPTIONS (so_example-LOW and so_example-HIGH), but I need the entire SELECT-OPTIONS table. I cannot make any changes in the report, so do you have any solutions I could implement in my search help exit FM?
Many thanks!
Vladan
P.S.
I found several questions on this topic but they either just different enough not to be applicable in my case or the formatting has made the replies useless.Most of the time we just copy the standard FM F4IF_SHLP_EXIT_EXAMPLE to a new one and give our own name.
You can see that on the 12th line there is the following code
* EXIT immediately, if you do not want to handle this step
IF CALLCONTROL-STEP <> 'SELONE' AND
CALLCONTROL-STEP <> 'SELECT' AND
" AND SO ON
CALLCONTROL-STEP <> 'DISP'.
EXIT.
ENDIF.
you should comment those line in order for the control to reach the PRESEL step (which is already defined in the SH Exit FM) which is on line 44.
Most of the time, when someone says they don't hit PRESEL, this is the problem.
Edited by: ajithkpunnoose on Jan 5, 2012 12:00 PM -
Adding a new field to the search help exit
Hi friends,
adding a new field to the search help exit. How does it work ?
Thanks in advace
IlhanThe search help exit allows you to modify functionality of search help. If you add a new field to the
parameter list that is not contained on the selection method you can manually populate it within the search
help exit.
This would be performed within the u2018STEP DISPu2019 section. Once within this section all search help
data has been retrieved and is stored in table RECORD_TAB (record_tab-string) as one long string value.
Therefore you need to read table SHLP in-order to locate position of value within string.
Example:
To find position of personnel number (PERNR) within elemenory search
help M_PREMN you would use the following code:
Loop at record_tab.
read table shlp-fielddescr into wa_shlp
with key tabname = 'M_PREMN'
fieldname = 'PERNR'.
You could then use this information in the following way, for
example, to find a persons organisation unit:
select orgeh endda
up to 1 rows
from pa0001
into (ld_orgeh,ld_endda)
where pernr eq record_tab-string+wa_shlp-offset(8)
u201Cpernr length is 8
order by endda descending.
endselect.
select single orgtx
from t527x
into ld_orgtxt
where orgeh eq ld_orgeh and
sprsl eq sy-langu and
( endda ge sy-datum and
begda le sy-datum ).
If you have added a new field to the end of the parameters list
the next step is to populate it by adding this data to the end of
the record_tab string:
concatenate record_tab-string ld_orgtxt into record_tab-string.
modify record_tab.
endloop.
Maybe you are looking for
-
How do you merge multiple songs into one album?
When I added a downloaded album to iTunes, it created one album for each track. How do I merge all of these albums/tracks into one album?
-
How to search for file in a directory or subdirectories?
I need ur help urgently. I'm currently doing a java project in which the program should be able to do file searching. For eg. if I key in a.jpg, it should display C:\pictures\a.jpg (a.jpg is stored in a folder called "pictures") But the problem is th
-
Oracle ERP 11.5.10
Hi, When I try to login to oracle applications from Windows 7 machine, it does not start downloading the Jinitiator Plugin automatically. Actually when I try to access any menu option, it does not go anywhere. Please let me know what to do? Thanks
-
One problem - now another - opening and viewing files
When I try to open an AVI file - I get the sound fine - with NO video at all. Any ideas? I have Quicktime Pro. Thanks
-
Dear all, While booking vendor invoice , i have created one tax code called S1(Input service tax code ), i am getting the above error Transaction key ESE S1 chart of accts 1000 not defined in table T030K (Message No.F5118). Thanks and Regards, Sonal