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 Strukturlink Ü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 Strukturlink 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:

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 muß 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 muß 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, muß 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 muß 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-REQUEST transportiert die FIELD-Anweisung aber nicht den Inhalt des Dynprofelds <f> in das ABAP-Programm.

Weitere Information zur Datenelement-Zusatzdokumentation findet sich unter Strukturlink 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 muß dafür sorgen, daß 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:

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 muß an die Import-Parameter FIELD und TABLE des Funktionsbausteins übergeben werden.

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 muß 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 Strukturlink 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 Folgedynpronummer 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-FIELD2 aus 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:

Ende des Inhaltsbereichs