Tipps und Links

Im Data Dictonary definierte Suchhilfen werden in der Regel einem Datenelement oder einem Datenfeld in einer Tabelle oder Struktur zugeordnet. Wenn diese Struktur eine Anzeigestruktur eines Dynpros ist, so wird zur Laufzeit auf dem Dynpro die F4-Hilfe angeboten.

Manchmal ist es notwendig z.B. in einem Report eine Suchhilfe expliziet aufzurufen. Der folgende Programmausschnitt zeigt beispielhaft, wie dies umgesetzt werden kann. Dabei ist "p_ibi" ein Selektionsparameter, für den der Aufruf der Suchhilfe "IBSP" erfolgen soll. Zurüggegeben werden soll von der Suchhilfe das Feld "INSTANCE".

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ibi.
DATA:
  lt_return_values TYPE TABLE OF ddshretval,
  ls_return_values TYPE ddshretval,
  l_rc             TYPE sy-subrc,
  l_shlp           TYPE shlp_descr,
  ls_interface     TYPE ddshiface.

* Die Struktur der Suchhilfe füllen
CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
  EXPORTING
   shlpname = 'IBSP'
   shlptype = 'SH'
  IMPORTING
   shlp     = l_shlp.

* Die Rückgabewerte festlegen
READ TABLE l_shlp-interface WITH KEY shlpfield = 'INSTANCE' INTO ls_interface.
IF sy-subrc = 0.
  ls_interface-valfield = 'X'.
  MODIFY l_shlp-interface FROM ls_interface INDEX sy-tabix.
ENDIF.

* Die Suchhilfe aufrufen
CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
  EXPORTING
   shlp          = l_shlp
   disponly      = ' '
   maxrecords    = 500
   multisel      = ' '
   cucol         = sy-cucol
   curow         = sy-curow
  IMPORTING
   rc            = l_rc
  TABLES
   return_values = lt_return_values.

* Den ausgewählten Wert setzen
IF l_rc = 0.
  READ TABLE lt_return_values INTO ls_return_values INDEX 1.
  p_ibi = ls_return_values-fieldval.
ENDIF.

ABAP, Suchhilfe

ADventas Consulting GmbH
Peter Langner
Kattjahren 8
22359 Hamburg

Tel.  +49 (40) 6055 9401
Fax  +49 (40) 6055 9400

Mail info@adventas.de