Search Help Exit Call Control Steps In ABAP

Estimated read time 9 min read

In this blog, we’ll dive deep into the world of SAP Search Help Exits. We’ll explore what they are, why they are important, and how you can implement them to improve your SAP applications. Whether you’re an SAP consultant or an ABAP developer, this guide will give you the knowledge to customize the search experience to meet your business needs. 

Search Help Exit is a function module with a predefined interface that allows developers to customize and control the behavior of search helps during the F4 input help process. This customization is particularly useful when you need to modify or filter the list of values presented to users based on specific criteria, such as user authorizations or dynamic conditions.  

Key Points: 

Purpose: Search Help Exits enable developers to intervene at various stages of the search help process to tailor its behavior. Functionality: They allow modifications to search help attributes, selection options, the hit list, and subsequent steps in the F4 processing. 

 

Search Help Exit-> Call Control steps 

There are various call control steps in search help exit process as follows 

SELONE-> select one of the elementary search help among various elementary search help(this step is only applicable for collective search help .  PRESEL-> Enter the select conditions .   SELECT-> for select the values   DISP-> for displaying the values   RETURN ->for returning the values   

Note : PRESEL step was not there when the dialog behavior display values immediately   

Now we do practical for detail understanding  

1)SELONE 
-> select one of the elementary search help among various elementary search help(this step is only applicable for collective search help.

Now you want to delete one of the elementary search help 

In the debugging u go to shlp table u get to know which one u have  to delete   

Now I want to delete elementary search help 
Go to function module inside the source code u write the logic 

* EXIT immediately, if you do not want to handle this step
IF CALLCONTROL-STEP = ‘SELONE’.
DELETE shlp_tab WHERE shlpname = ‘ZNA_PARAM1’.
ENDIF.

  Now u can observe only one search help 

 Only one tab 

2)PRESEL  
The purpose of presel is to provide the selections screen condition based on user requirement 

Using this table 

IF CALLCONTROL-STEP = ‘PRESEL’.
data : lw_SELOPT TYPE ddshselopt,
LT_SELOPT TYPE ddshselops.
lw_selopt-shlpname = ‘ZNA_PARAM1’.
lw_selopt-shlpfield = ‘QUANTITY’.
LW_SELOPT-sign = ‘I’.
lw_selopt-option = ‘EQ’.
LW_SELOPT-low = ’30’.

lw_selopt-shlpname = ‘ZNA_PARAM1’.
lw_selopt-shlpfield = ‘QUANTITY’.
LW_SELOPT-sign = ‘I’.
lw_selopt-option = ‘EQ’.
LW_SELOPT-low = ’40’.
APPEND lw_selopt TO lt_selopt.
SHLP-selopt = LT_SELOPT.
ENDIF.

 In this selopt table is there IS SELOPT Field.  

Instead of default we can done this by presell we can fetch quantity 30 or 40. 

3)SELECT 
In this we can do if u do not want the pop up screen if u directly want the values by using select we can skip. 

* dialog, to select one of the elementary searchhelps.
* If you want to skip this dialog, you have to return the selected
* elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
* either to ‘PRESEL’ or to ‘SELECT’.
* IF CALLCONTROL-STEP = ‘SELONE’.
** PERFORM SELONE ………
* EXIT.

 4)DISP 
Here it will display the values here we can modify like only particular user can see like this we can write the logic here sap given the documentation 

* This step is called, before the selected data is displayed.
* You can e.g. modify or reduce the data in RECORD_TAB
* according to the users authority.
* If you want to get the standard display dialog afterwards, you
* should not change CALLCONTROL-STEP.
* If you want to overtake the dialog on you own, you must return
* the following values in CALLCONTROL-STEP:
* – “RETURN” if one line was selected. The selected line must be
* the only record left in RECORD_TAB. The corresponding fields of
* this line are entered into the screen.
* – “EXIT” if the values request should be aborted
* – “PRESEL” if you want to return to the selection dialog
* Standard function modules F4UT_PARAMETER_VALUE_GET and
* F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
IF CALLCONTROL-STEP = ‘DISP’.
* PERFORM AUTHORITY_CHECK TABLES RECORD_TAB SHLP_TAB
* CHANGING SHLP CALLCONTROL.
EXIT.
ENDIF. IF CALLCONTROL-STEP = ‘DISP’.
select single uname
FROM zuser INTO lv_user
WHERE uname = sy-uname.
if sy-subrc <> 0.
REFRESH RECORD_tab.
EXIT.
ENDIF.

 In this type we can do validation  

5)Return 

It is used to return the values .
Here we can do logic If one of line of the item was selected  if only one recotrd is present in the table the corresponding fields of this line is entered into screen  

* – “RETURN” if one line was selected. The selected line must be
* the only record left in RECORD_TAB. The corresponding fields of
* this line are entered into the screen.
* – “EXIT” if the values request should be aborted

DESCRIBE TABLE record_tab LINES lv_lines.
if lv_lines = 1.
callcontrol-step = ‘RETURN’.
endif.
ENDIF.

 

 

 

​ In this blog, we’ll dive deep into the world of SAP Search Help Exits. We’ll explore what they are, why they are important, and how you can implement them to improve your SAP applications. Whether you’re an SAP consultant or an ABAP developer, this guide will give you the knowledge to customize the search experience to meet your business needs. Search Help Exit is a function module with a predefined interface that allows developers to customize and control the behavior of search helps during the F4 input help process. This customization is particularly useful when you need to modify or filter the list of values presented to users based on specific criteria, such as user authorizations or dynamic conditions.  Key Points: Purpose: Search Help Exits enable developers to intervene at various stages of the search help process to tailor its behavior. Functionality: They allow modifications to search help attributes, selection options, the hit list, and subsequent steps in the F4 processing.  Search Help Exit-> Call Control steps There are various call control steps in search help exit process as follows SELONE-> select one of the elementary search help among various elementary search help(this step is only applicable for collective search help .  PRESEL-> Enter the select conditions .   SELECT-> for select the values   DISP-> for displaying the values   RETURN ->for returning the values   Note : PRESEL step was not there when the dialog behavior display values immediately   Now we do practical for detail understanding  1)SELONE -> select one of the elementary search help among various elementary search help(this step is only applicable for collective search help.Now you want to delete one of the elementary search help In the debugging u go to shlp table u get to know which one u have  to delete   Now I want to delete elementary search help Go to function module inside the source code u write the logic * EXIT immediately, if you do not want to handle this step
IF CALLCONTROL-STEP = ‘SELONE’.
DELETE shlp_tab WHERE shlpname = ‘ZNA_PARAM1’.
ENDIF.  Now u can observe only one search help  Only one tab 2)PRESEL  The purpose of presel is to provide the selections screen condition based on user requirement Using this table IF CALLCONTROL-STEP = ‘PRESEL’.
data : lw_SELOPT TYPE ddshselopt,
LT_SELOPT TYPE ddshselops.
lw_selopt-shlpname = ‘ZNA_PARAM1’.
lw_selopt-shlpfield = ‘QUANTITY’.
LW_SELOPT-sign = ‘I’.
lw_selopt-option = ‘EQ’.
LW_SELOPT-low = ’30’.

lw_selopt-shlpname = ‘ZNA_PARAM1’.
lw_selopt-shlpfield = ‘QUANTITY’.
LW_SELOPT-sign = ‘I’.
lw_selopt-option = ‘EQ’.
LW_SELOPT-low = ’40’.
APPEND lw_selopt TO lt_selopt.
SHLP-selopt = LT_SELOPT.
ENDIF. In this selopt table is there IS SELOPT Field.  Instead of default we can done this by presell we can fetch quantity 30 or 40. 3)SELECT In this we can do if u do not want the pop up screen if u directly want the values by using select we can skip. * dialog, to select one of the elementary searchhelps.
* If you want to skip this dialog, you have to return the selected
* elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
* either to ‘PRESEL’ or to ‘SELECT’.
* IF CALLCONTROL-STEP = ‘SELONE’.
** PERFORM SELONE ………
* EXIT. 4)DISP Here it will display the values here we can modify like only particular user can see like this we can write the logic here sap given the documentation * This step is called, before the selected data is displayed.
* You can e.g. modify or reduce the data in RECORD_TAB
* according to the users authority.
* If you want to get the standard display dialog afterwards, you
* should not change CALLCONTROL-STEP.
* If you want to overtake the dialog on you own, you must return
* the following values in CALLCONTROL-STEP:
* – “RETURN” if one line was selected. The selected line must be
* the only record left in RECORD_TAB. The corresponding fields of
* this line are entered into the screen.
* – “EXIT” if the values request should be aborted
* – “PRESEL” if you want to return to the selection dialog
* Standard function modules F4UT_PARAMETER_VALUE_GET and
* F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
IF CALLCONTROL-STEP = ‘DISP’.
* PERFORM AUTHORITY_CHECK TABLES RECORD_TAB SHLP_TAB
* CHANGING SHLP CALLCONTROL.
EXIT.
ENDIF. IF CALLCONTROL-STEP = ‘DISP’.
select single uname
FROM zuser INTO lv_user
WHERE uname = sy-uname.
if sy-subrc <> 0.
REFRESH RECORD_tab.
EXIT.
ENDIF. In this type we can do validation  5)Return It is used to return the values .Here we can do logic If one of line of the item was selected  if only one recotrd is present in the table the corresponding fields of this line is entered into screen  * – “RETURN” if one line was selected. The selected line must be
* the only record left in RECORD_TAB. The corresponding fields of
* this line are entered into the screen.
* – “EXIT” if the values request should be aborted

DESCRIBE TABLE record_tab LINES lv_lines.
if lv_lines = 1.
callcontrol-step = ‘RETURN’.
endif.
ENDIF.     Read More Application Development and Automation Blog Posts articles 

#SAP

You May Also Like

More From Author