[ABAP] Expliziter Aufruf einer vorhandenen Suchhilfe

* generischer Parameter für den manuell eine Suchhilfe 'AUFK' angezeigt werden soll
PARAMETERS: p_test TYPE char32.
  
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_test.
  TRY.
      DATA: lv_shlp TYPE shlp_descr.

* shlptype:
* SH	Suchhilfe
* CH	Prüftabelle
* CT	Prüftabelle mit Texttabelle
* FV	Domänenfestwerte
* DV	Festwerte aus Ablauflogik
* CA	Kalender-Hilfe
* CL	Uhrzeit-Hilfe
* SR	Suchhilfe am Datenelement (temporär)
* MC	Matchcode
* MI	Matchcode-Id
* IN	interne Tabelle
      CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
        EXPORTING
          shlpname = 'AUFK'
          shlptype = 'CH'
        IMPORTING
          shlp     = lv_shlp.

* Suchhilfefeld festlegen
* wenn mehrere Felder benötigt werden -> für jedes Feld extra
      ASSIGN lv_shlp-interface[ shlpfield = 'AUFNR' ] TO FIELD-SYMBOL(<fs_shf>).
      <fs_shf>-valfield = abap_true.
      <fs_shf>-value = '*'. " Vorgabewert / Einschränkung für die Suchhilfe

      DATA: f_rc TYPE sy-subrc.
      DATA: it_values TYPE STANDARD TABLE OF ddshretval.

      CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
        EXPORTING
          shlp          = lv_shlp
          disponly      = abap_false
          maxrecords    = 0           " alle Ergebnisse auflisten
          multisel      = abap_false  " Einfachauswahl
        IMPORTING
          rc            = f_rc
        TABLES
          return_values = it_values.  " Rückgabewerte

      IF f_rc = 0.
* Rückgabewert an Parameter übergeben
        p_test = it_values[ fieldname = 'AUFNR' ]-fieldval.
      ENDIF.
    CATCH cx_root INTO DATA(e_txt).
      MESSAGE e_txt->get_text( ) TYPE 'S' DISPLAY LIKE 'E'.
  ENDTRY.

Weiterführende Infos: Link und Link