Show TOC

ABAP-Dictionary SuchhilfeLocate this document in the navigation structure

Verwendung

In Web Dynpro ABAP können Sie bestehende Suchhilfen aus dem ABAP Dictionary wieder verwenden.

Auf Ihrer View können Sie Felder mit einer Eingabehilfe (F4-Hilfe) versehen, damit Benutzereingaben erleichtert werden.

Es gibt zwei Arten von Suchhilfen:

  • Elementare Suchhilfen

  • Sammelsuchhilfen

Hinweis

Das Symbol für das Vorhandensein einer Suchhilfe ist immer das gleiche, unabhängig davon, ob es sich um eine Suchhilfe aus dem ABAP Dictionary, eine OVS-Wertehilfe (siehe OVS-Wertehilfe) oder eine frei programmierte Wertehilfe (siehe Frei programmierte Wertehilfe) handelt.

Weitere Informationen und ein detailliertes Beispiel finden Sie unter ABAP-Dictionary Suchhilfe verwenden.

Einbindung

ABAP-Dictionary-Suchhilfen werden über die Eigenschaft Wertehilfe-Modus der Context-Attribute in eine Web-Dynpro-Anwendung eingebunden, siehe auch Context-Attribute anlegen und pflegen.

Hinweis

Wenn im ABAP Dictionary an einem Feld einer Struktur eine Suchhilfe hinterlegt ist, und die im ABAP-Dictionary hinterlegte Zuordnung von Suchhilfeparameter zu Feldname der Struktur für die Web-Dynpro-Wertehilfe genutzt werden soll, dann weisen Sie der Eigenschaft Dictionary-Struktur den Namen der Struktur zu. Damit sind zur Laufzeit alle Komponenten der Struktur dynamisch als Attribute des Knotens verfügbar.

Wenn die Eigenschaft Dictionary-Struktur nicht gefüllt ist, dann wird eine eventuell vorhandene Wertehilfe des Datenelements verwendet.

Lediglich die Optionen automatisch und Dictionary-Struktur sind für ABAP-Dictionary-Suchhilfen relevant:

  • automatisch

    Die dem Datentyp des Context-Attributs im ABAP Dictionary zugeordnete Suchhilfe wird verwendet. Die so ermittelte Suchhilfe wird unter ermittelte Suchhilfe angezeigt und kann nicht geändert werden.

    Beispiel

    Die Suchhilfe SCITAIRP ist im ABAP Dictionary dem Feld SPFLI-AIRPFROM zugeordnet. Ist der Typ des Context Attributs SPFLI-AIRPFROM, so wird die Suchhilfe SCITAIRP verwendet.

    Als ermittelte Suchhilfe erscheint jetzt also SCITAIRP.

    Kann keine Suchhilfe zum Typ des Attributs ermittelt werden, so wird auch kein Suchhilfen-Symbol angezeigt und es wird keine Suchhilfe ausgeführt.

  • Dictionary-Struktur

    Dem Context-Attribut kann explizit eine im Dictionary vorhandene Suchhilfe zugeordnet werden. Unter dem Feld für den Wertehilfe-Modus erscheint das Feld Dictionary-Struktur, in das Sie selbst die gewünschte Suchhilfe eintragen. Die Suchhilfe muss im ABAP Dictionary definiert sein. Wird keine Suchhilfe eingetragen, so wird zur Laufzeit anhand des Typs des Context-Attributes versucht, eine Suchhilfe zu ermitteln.

Hinweis

Um eine optimale Benutzerführung zu gewährleisten, ist es nicht zulässig, den Wertehilfe-Dialog (Popup) durch Modifikation des Suchhilfe-Zeitpunkts ( callcontrol-Step) in einem Suchhilfe-Exit zu schließen. Ein geöffneter Dialog sollte nur noch vom Benutzer geschlossen werden können.

Der Benutzer erwartet eine entsprechende Werteliste, auch wenn diese leer ist, und nicht ein Schließen des Wertehilfe-Dialogs.

Wertehilfe für Datumsfelder

Der Standardwert für den ersten Tag der Woche ist Montag. Sie können mit dem BAdI CALENDAR_DEFINITION einen anderen Tag definieren, wodurch sich die Anzeige der Wochentage und die Berechnung der Wochennummer verändert:

Die Wertehilfe für Datumsfelder (Funktionsbaustein F4_DATE aus der Funktionsgruppe SHLC) ruft das o.g. BAdI auf. Dadurch wird in der F4-Hilfe die Anzeige so angepasst, dass der erste Tag der Woche derjenige aus der BAdI-Implementierung ist. Falls eine von der ISO-Regel abweichende Wochenzählung implementiert ist, blendet die F4-Hilfe diese aus, da das verwendete Frontend-Control keine abweichende Zählung der Wochen ermöglicht.

Weitere Informationen finden Sie in SAP Hinweis 1063178 Auf SAP-Site veröffentlichte Informationen.

Wertehilfe und das onEnter-Ereignis

Oftmals ist es wünschenswert, dass der onEnter-Actionhandler eines InputFields direkt nach der Auswahl eines Wertes aus der Wertehilfe ausgeführt wird, um beispielsweise von diesem InputField abhängige Felder der View zu aktualisieren. Dieses Verhalten kann pro View für alle Wertehilfen eingestellt werden, indem die Methode register_on_enter_for_f4() des Interfaces IF_WD_VIEW_CONTROLLER aufgerufen wird.

          
METHOD wddoinit.
          
wd_this->wd_get_api( )->register_on_enter_for_f4( register_on_enter = abap_true ).
          
ENDMETHOD.
            

Einschränkungen

  • Die Kurzanwahl bei Sammelsuchhilfen wird nicht unterstützt

  • Bei der Wiederverwendung von ABAP Dictionary Suchhilfen gibt es Situationen, in denen sich ein Suchhilfe-Exit im Web-Dynpro-Umfeld anders verhalten sollte als im klassischen Dynpro. Beispielsweise ist es im Web-Dynpro-Umfeld nicht möglich, einen eigenen Dialog mittels CALL SCREEN zu verarbeiten .

    Eine Anwendung kann selbst herausfinden, ob sie im Web-Dynpro-Umfeld läuft, indem sie das Attribut IS_ACTIVE der Klasse CL_WEB_DYNRPO abfragt:

                  
    IF CL_WEB_DYNPRO=>is_active = abap_true. ... ELSE. ... ENDIF.
                      
  • Für das Datenelement TIMS gibt es keine automatische F4-Hilfe.

  • Die Datums-Wertehilfe von Web Dynpro ABAP unterstützt nicht alle ABAP-Datumsformate, siehe auch SAP Hinweis 1056623 Auf SAP-Site veröffentlichte Informationen

  • In Einzelfällen kann es vorkommen, dass keine persönlichen Werteliste zur Verfügung steht. Dies kann auftreten, wenn die persönliche Wertehilfe explizit per Suchhilfe-Exit ausgeschaltet wurde. Aus Gründen der Einheitlichkeit wird auf dem UI in diesem Fall der Tab für die persönliche Wertehilfe zwar angezeigt, ist aber für den Benutzer nicht auswählbar. Das gleiche gilt für den Button für das Übernehmen von Werten in die persönliche Wertehilfe.

  • Wenn Sie die Selektion dadurch einschränken, dass ein InputField readOnly ist, werden in der Vorschlagswerteliste eines davon abhängigen InputFields lediglich entsprechend gefilterte Werte angezeigt.

Beispiel

Sie finden ein Beispiel für die ABAP Dictionary Suchhilfe im System in der Component WDR_TEST_DDIC_SHLP.