Show TOC Anfang des Inhaltsbereichs

Feldhilfe  Dokument im Navigationsbaum lokalisieren

Es gibt drei verschiedene Möglichkeiten, um Feldhilfe zu Bildschirmelementen von Dynpros anzuzeigen:

Anzeige der Datenelement-Dokumentation

Wenn ein Bildschirmelement im Screen Painter durch Übernehmen eine Felds aus dem ABAP Dictionary definiert wurde, wird bei Auswahl der F1-Hilfe für dieses Feld automatisch die zugehörige Datenelement-Dokumentation des ABAP Dictionary angezeigt, falls dies nicht in der Dynproablauflogik übersteuert wird.

Information zum Erstellen von Datenelement-Dokumentation findet sich unter Datenelemente.

Anzeige von Datenelement-Zusatzdokumentation

Falls die Datenelement-Dokumentation nicht ausreicht, kann man diese durch sogenannte Datenelement-Zusatzdokumentationen erweitern.

Eine Datenelement-Zusatzdokumentation enthält außer der Überschrift Definition folgende weitere Überschriften:

·        Verwendung

·        Vorgehen

·        Beispiele

·        Abhängigkeiten

Um eine Datenelement-Zusatzdokumentation für ein Dynpro zu erstellen, darf diese nicht direkt bei dem Datenelement mit dem Werkzeug Dictionary der ABAP Workbench angelegt werden, sondern man muss für das betreffende Feld in der Elementliste des Dynpros Springen ® Dokumentationen ® DatenelZusatzDoku wählen. In dem erscheinenden Dialogfenster ist neben dem Datenelement eine Nummer als Bezeichnung für den Datenelementzusatz einzugeben. Dann können im SAPscript-Editor Hilfetexte zu obigen Überschriften eingegeben werden.

Eine so erzeugte Datenelement-Zusatzdokumentation ist programm- und dynprospezifisch. Eine eventuelle aus dem Werkzeug Dictionary heraus erzeugte Datenelement-Zusatzdokumentation der gleichen Nummer wird durch den dynpro-spezifischen Zusatz in der Anzeige übersteuert. Eine im Dictionary angelegte Datenelement-Zusatzdokumentation kann in der Tabelle THLPF nachträglich mit einem Dynprofeld verknüpft werden. Dazu muss eine neue Zeile in der THLPF angelegt werden, welche die Verknüpfungsdaten: Programmname, Dynpronummer, Feldname und Nummer der Datenelement-Zusatzdokumentation enthält.

Um eine Datenelement-Zusatzdokumentation anzuzeigen, muss die Dynproablauflogik wie folgt auf das Ereignis POH reagieren:

PROCESS ON HELP-REQUEST.
...
  FIELD f [MODULE mod] WITH num.
...

Hinter PROCESS ON HELP-REQUEST können nur FIELD-Anweisungen stehen. Ist das Ereignisschlüsselwort PROCESS ON HELP-REQUEST in der Ablauflogik eines Dynpros nicht vorhanden, wird bei F1 entweder die Datenelement-Dokumentation des Felds, auf dem der Cursor steht, oder keine Hilfe angezeigt. Ansonsten wird die nachfolgende FIELD-Anweisung ausgeführt, auf deren Feld f der Cursor steht.

Wenn für das Feld f dynprospezifische Datenelement-Zusatzdokumentation existiert, wird diese durch Angabe ihrer Nummer num zur Anzeige gebracht. Die Nummer num kann ein Literal oder eine Variable sein. Die Variable muss im zugehörigen ABAP-Programm deklariert und gefüllt werden.

Zum Füllen der Variablen kann beispielsweise das Modul mod vor Anzeige der Hilfe aufgerufen werden. Zum Zeitpunkt PROCESS ON HELP-REQUESTtransportiert die FIELD-Anweisung aber nicht den Inhalt des Dynprofelds f in das ABAP-Programm.

Weitere Information zur Datenelement-Zusatzdokumentation findet sich unter Datenelementzusätze.

Aufruf von Hilfetexten aus Dialogmodulen

Falls auch die Datenelement-Zusatzdokumentation nicht ausreichen sollte, oder Hilfe für Programmfelder angezeigt werden soll, die nicht aus dem ABAP Dictionary übernommen wurden, können zum Zeitpunkt POH Dialogmodule aufgerufen werden:

PROCESS ON HELP-REQUEST.
...
  FIELD f MODULE mod.
...

Hinter PROCESS ON HELP-REQUEST kann die MODULE-Anweisung nur in Verbindung mit der FIELD-Anweisung verwendet werden. Bei der Auswahl von F1 wird das Modul mod der FIELD-Anweisung aufgerufen, auf deren Feld f der Cursor steht. Falls mehrere FIELD-Anweisungen zum gleichen Feld f aufgeführt sind, wird nur die erste ausgeführt. Im Modul mod steht der Inhalt des Dynprofelds f nicht zur Verfügung, da dieser zum Zeitpunkt PROCESS ON HELP-REQUEST nicht durch die FIELD-Anweisung transportiert wird. Die Feldhilfe soll nicht von der Benutzereingabe abhängig sein.

Das Modul mod wird im ABAP-Programm wie ein normales PAI-Modul definiert. Die Verarbeitungslogik des Moduls muss dafür sorgen, dass eine adäquate Hilfe zum ausgewählten Feld angezeigt wird. Statt ein weiteres Dynpro mit Textfeldern aufzurufen, bietet es sich an, mit folgenden Funktionsbausteinen geeignete SAPscript-Dokumente anzuzeigen:

·        HELP_OBJECT_SHOW_FOR_FIELD

Dieser Funktionsbaustein zeigt die Datenelement-Dokumentation von Komponenten beliebiger Strukturen oder Datenbanktabellen aus dem ABAP Dictionary an. Der Name von Komponente und Struktur bzw. Datenbanktabelle muss an die Import-Parameter FIELD und TABLE des Funktionsbausteins übergeben werden.

·        HELP_OBJECT_SHOW

Dieser Funktionsbaustein zeigt ein beliebiges SAPscript-Dokument an. Hierfür müssen die Dokumentklasse (z.B. TX für allgemeine Texte, DE für Datenelementdokumentation) und der Name des Dokuments an die Import -Parameter DOKCLASS und DOKNAME des Funktionsbausteins übergeben werden. Aus technischen Gründen muss auch eine (leere) interne Tabelle mit dem Zeilentyp TLINE an den Tables-Parameter übergeben werden.

Information zur Erstellung von SAPscript-Dokumentation findet sich in der Dokumentation CA - Dokumentation von Objekten im System.

Beispiel

Feldhilfe auf Dynpros.

REPORT demo_dynpro_f1_help.

DATA:  text(30) TYPE c ,
       var(4) TYPE c ,
       int TYPE i,
       links TYPE TABLE OF tline,
       field3(10) TYPE c, field4(10) TYPE c.

TABLES demof1help.

text = text-001.

CALL SCREEN 100.

MODULE cancel INPUT.
  LEAVE PROGRAM.
ENDMODULE.

MODULE f1_help_field2 INPUT.
  int = int + 1.
  CASE int.
    WHEN 1.
      var = '0100'.
    WHEN 2.
      var = '0200'.
      int = 0.
  ENDCASE.
ENDMODULE.

MODULE f1_help_field3 INPUT.
  CALL FUNCTION 'HELP_OBJECT_SHOW_FOR_FIELD'
       EXPORTING
            doklangu         = sy-langu
            doktitle         = text-002
            called_for_tab   = 'DEMOF1HELP'
            called_for_field = 'FIELD1'.
ENDMODULE.

MODULE f1_help_field4 INPUT.
  CALL FUNCTION 'HELP_OBJECT_SHOW'
       EXPORTING
            dokclass = 'TX'
            doklangu = sy-langu
            dokname  = 'DEMO_FOR_F1_HELP'
            doktitle = text-003
       TABLES
            links    = links.
ENDMODULE.

Die statische Folge-Dynpro-Nummer von Dynpro 100 ist 100 und sein Layout ist wie folgt:

Diese Grafik wird im zugehörigen Text erklärt

Den Eingabefeldern sind die Dynprofelder DEMOF1HELP-FIELD1 und DEMOF1HELP- FIELD2aus dem ABAP Dictionary und die Felder field3 und field4 aus dem ABAP-Programm zugeordnet. Der Funktionscode der Drucktaste ist CANCEL mit dem Funktionstyp E.

Die Bildschirmablauflogik ist:

PROCESS BEFORE OUTPUT.

PROCESS AFTER INPUT.
  MODULE cancel AT EXIT-COMMAND.

PROCESS ON HELP-REQUEST.
  FIELD demof1help-field2 MODULE f1_help_field2 WITH var.
  FIELD field3 MODULE f1_help_field3.
  FIELD field4 MODULE f1_help_field4.

Die Komponenten FIELD1 und FIELD2 der Struktur DEMOF1HELP beziehen sich auf das Datenelement DEMOF1TYPE. Zu diesem Datenelement sind die Datenelement-Dokumentation und zwei Datenelement-Zusatzdokumentationen der Nummern 0100 und 0200 angelegt.

Der Benutzer bekommt folgende Feldhilfen angezeigt:

·         Bei Auswahl von F1 auf dem Eingabefeld für DEMOF1HELP-FIELD1 wird die Datenelement-Dokumentation von DEMOF1TYPE angezeigt, da das Feld nicht hinter PROCESS ON HELP-REQUEST aufgeführt ist.

·         Bei mehrmaliger Auswahl von F1 auf dem Eingabefeld für DEMOF1HELP-FIELD2 werden zusätzlich zur Datenelement-Dokumentation abwechselnd die Datenelement-Zusatzdokumentationen 0100 und 0200 angezeigt. Die Variable var wird im Dialogmodul f1_help_field2entsprechend gefüllt.

·         Bei Auswahl von F1 auf dem Eingabefeld für field3 wird die Datenelement-Dokumentation von DEMOF1TYPE angezeigt, da diese im Dialogmodul f1_help_field3 durch den Funktionsbaustein HELP_OBJECT_SHOW_FOR_FIELD aufgerufen wird.

·         Bei Auswahl von F1 auf dem Eingabefeld für field4 wird das SAPscript-Dokument DEMO_FOR_F1_HELP angezeigt, da dieses im Dialogmodul f1_help_field4 durch den Funktionsbaustein HELP_OBJECT aufgerufen wird.

 

 

Ende des Inhaltsbereichs