SAP Suchhilfe Exit – Guide

Einführung in SAP Suchhilfe Exits

Suchhilfe Exits in SAP bieten Entwicklern die Möglichkeit, das Standardverhalten der SAP Suchhilfen (F4-Hilfen) zu erweitern oder zu modifizieren. Diese Customer Exits werden typischerweise verwendet, um:

  • Suchergebnisse zu filtern oder zu erweitern

  • Dynamische Suchbedingungen zu implementieren

  • Komplexe Suchlogiken umzusetzen

  • Benutzerdefinierte Datenquellen zu integrieren

In diesem Beitrag werden wir uns auf die technische Implementierung konzentrieren, insbesondere auf die relevanten Parameter und den Funktionsbaustein F4UT_RESULTS_MAP.

Die Schlüsselparameter im Detail

CHANGING Parameter

SHLP (TYPE SHLP_DESCR)

Dies ist die Beschreibung der Suchhilfe und enthält alle relevanten Informationen über die konfigurierte Suchhilfe.

CALLCONTROL (TYPE DDSHF4CTRL)

Dieser Parameter steuert den Ablauf der Suchhilfe.

TABELLEN Parameter

SHLP_TAB (TYPE SHLP_DESCT)

Tabelle mit Beschreibungen aller beteiligten Suchhilfen. Wird benötigt, wenn Ihre Suchhilfe auf anderen Suchhilfen basiert.

RECORD_TAB (LIKE SEAHLPRES)

Diese Tabelle enthält die tatsächlichen Suchergebnisse, die dem Benutzer angezeigt werden. Sie müssen diese Tabelle füllen, wenn Sie eigene Ergebnisse bereitstellen.

Der Funktionsbaustein F4UT_RESULTS_MAP

Dieser zentrale Funktionsbaustein wird verwendet, um Suchergebnisse in das von der Suchhilfe erwartete Format zu konvertieren. Hier ein detaillierter Blick auf den Aufruf:

ABAP

Copy

Download

CALL FUNCTION 'F4UT_RESULTS_MAP'
  EXPORTING
*   SOURCE_STRUCTURE   = 
    apply_restrictions = 'X'
  TABLES
    shlp_tab           = shlp_tab
    record_tab         = record_tab
    source_tab         = lt_result
  CHANGING
    shlp               = shlp
    callcontrol        = callcontrol
  EXCEPTIONS
    illegal_structure  = 1
    OTHERS             = 2.

Parameter-Erklärung:

  • apply_restrictions: Bei ‚X‘ werden die in der Suchhilfe definierten Einschränkungen angewendet

  • source_tab: Ihre interne Tabelle mit Rohdaten

  • record_tab: Wird mit den formatierten Ergebnissen gefüllt

  • shlp/shpl_tab: Beschreibungen der Suchhilfe(n)

  • callcontrol: Steuerung des Suchablaufs

Verarbeitungsschritte steuern

Die Verarbeitung der Suchhilfe erfolgt in mehreren Schritten, die Sie im CALLCONTROL-STEP überprüfen können:

CHECK callcontrol-step = 'SELECT'.

Der ‚SELECT‘-Schritt ist der Moment, in dem Sie Ihre eigene Suchlogik implementieren können. Hier würden Sie typischerweise:

  1. Ihre eigene Datenbankabfrage durchführen

  2. Die Ergebnisse mit F4UT_RESULTS_MAP konvertieren

CHECK callcontrol-step = 'DISP'.

Der ‚DISP‘-Schritt (Display) wird aufgerufen, bevor die Ergebnisse angezeigt werden. Hier können Sie:

  • Die Ergebnisliste nachträglich modifizieren

  • Zusätzliche Informationen hinzufügen

  • Bestimmte Einträge herausfiltern

Praxisbeispiel

Hier ein einfaches Beispiel, wie ein Suchhilfe-Exit implementiert werden könnte:

FUNCTION Z_MY_SEARCHHELP_EXIT.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  TABLES
*"      SHLP_TAB TYPE  SHLP_DESCT
*"      RECORD_TAB STRUCTURE  SEAHLPRES
*"  CHANGING
*"     VALUE(SHLP) TYPE  SHLP_DESCR
*"     VALUE(CALLCONTROL) TYPE  DDSHF4CTRL
*"----------------------------------------------------------------------

  DATA: lt_result TYPE TABLE OF my_structure.

  " SELECT-Phase verarbeiten
  CHECK callcontrol-step = 'SELECT'.
  
  " Eigene Selektion durchführen
  SELECT * FROM my_table 
    INTO CORRESPONDING FIELDS OF TABLE lt_result
    WHERE Feld = Bedingung.

  " Ergebnisse mappen
  CALL FUNCTION 'F4UT_RESULTS_MAP'
    EXPORTING
      apply_restrictions = 'X'
    TABLES
      shlp_tab           = shlp_tab
      record_tab         = record_tab
      source_tab         = lt_result
    CHANGING
      shlp               = shlp
      callcontrol        = callcontrol
    EXCEPTIONS
      OTHERS             = 1.

  " Weitere Verarbeitung signalisieren
  IF sy-subrc = 0.
    callcontrol-step = 'DISP'.
  ENDIF.

ENDFUNCTION.

Fazit

Suchhilfe Exits bieten Möglichkeiten, die Standard-Suchfunktionalität in SAP an individuelle Anforderungen anzupassen. Durch das Verständnis der zentralen Parameter SHLP, CALLCONTROL, SHLP_TAB und RECORD_TAB sowie des Funktionsbausteins F4UT_RESULTS_MAP können Sie komplexe Suchszenarien effizient umsetzen.

Beitrag teilen:

Können wir Ihnen helfen?

Können wir Ihnen helfen?

Stefan Hanisch
Nach oben scrollen