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 K

    Hi,
          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

  • Help on Search Help Exit

    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,
    Vijendra

    Hi,
    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,
    Loo

    Hi,
    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
    G

    Hi 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,
    Shailly

    Hi 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,
    Erik

    Hello 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,
    Andrew

    I 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 mandy

    Hi 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 &lt;&gt; 'SELONE' AND
         CALLCONTROL-STEP &lt;&gt; 'SELECT' AND
         " AND SO ON
         CALLCONTROL-STEP &lt;&gt; '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
    Ilhan

    The 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

  • Msg no.F5118

    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