SAP Wertprozess & Hilfeanfrageprozess

โšก Intelligente Zusammenfassung

Prozessieren bei Wertanforderung und Prozessieren bei Hilfeanforderung sind die Bildschirmereignisse hinter F4 und F1 in SAP ABAP. Diese Seite erlรคutert beide Ereignisse, die FIELD-Anweisungen, die sie auslรถsen, und die Funktionsbausteine, die Dokumentation oder mรถgliche Eintrรคge anzeigen.

  • โ“ Zweck der POH-Prรผfung: Der Prozess โ€žHilfeanfrageโ€œ reagiert auf F1 und zeigt die im ABAP Dictionary gespeicherte Felddokumentation an.
  • ๐Ÿ”Ž Zweck der Perspektive: Die Funktion PROCESS ON VALUE-REQUEST reagiert auf F4 und zeigt die mรถglichen Eintrรคge an, die durch Werte definiert sind, eine Prรผftabelle oder eine Suchhilfe.
  • ๐Ÿงพ Ausweichregel: Wenn das POH-Ereignis fehlt, greift das System auf die Dokumentation des Datenelements zurรผck und zeigt nichts an, wenn auch diese fehlt.
  • ๐Ÿšซ Transportlimit: Die FIELD-Anweisung in POH รผbertrรคgt das Bildschirmfeld nicht an das Programm, da sie nur Hilfe anzeigt.
  • ๐Ÿ“š Hilfemodule: HELP_OBJECT_SHOW_FOR_FIELD zeigt die Dokumentation des Datenelements an, und HELP_OBJECT_SHOW zeigt beliebige SAPSkriptdokument.
  • ๐Ÿ“‹ Wertmodule: F4IF_FIELD_VALUE_REQUEST startet die Wรถrterbuch-Eingabehilfe, und F4IF_INT_TABLE_VALUE_REQUEST zeigt eine im Programm erstellte Liste an.
  • ๏ธ Der Weg zurรผck: DYNPPROG, DYNPNR und DYNPROFIELD geben den ausgewรคhlten Wert im Bildschirmfeld zurรผck, wรคhrend RETURN_TAB ihn in eine Tabelle zurรผckgibt.

SAP Prozesswert und Prozesshilfeanfrage

Was sind POH und POV?

Zunรคchst einmal, falls Sie keinerlei Kenntnisse รผber die Logik von Screen Flow und deren Verwendung haben, SAPWir empfehlen Ihnen, sich unser Tutorial anzusehen. Dialogprogramm.

POH und POV sind zwei Bildschirmereignisse, die auf eine Hilfeanfrage des Benutzers reagieren. POH reagiert auf die Taste F1 und erklรคrt die Bedeutung eines Feldes, wรคhrend POV auf die Taste F4 reagiert und die zulรคssigen Werte des Feldes auflistet. Beide sind in der Ablauflogik des Bildschirms neben PBO und PAI deklariert.

Eigenschaften POH (Prozess auf Hilfeanfrage) POV (Prozess bei Wertanforderung)
Ausgelรถst durch Die F1-Taste Die F4-Taste oder die Schaltflรคche โ€žMรถgliche Eintrรคgeโ€œ
Zweck Erlรคutert die Bedeutung des Feldes Bietet die vom Feld akzeptierten Werte an.
Standardquelle Datenelementdokumentation im ABAP Dictionary Feste Werte, Prรผftabelle oder Suchhilfe
Datentransport Keine, das Feld wird nur angezeigt Der ausgewรคhlte Wert wird zurรผck in das Bildschirmfeld geschrieben.
Typisches Funktionsmodul HELP_OBJECT_SHOW_FOR_FIELD F4IF_INT_TABLE_VALUE_REQUEST

Schauen wir uns nun POH und POV im Detail an

Prozess bei Hilfeanfrage (POH): F1-Hilfe

  • Immer wenn die Taste F1 gedrรผckt wird, wird das POH-Ereignis fรผr das angegebene Datenelement ausgefรผhrt.
  • Existiert das Ereignis PROCESS ON HELP-REQUEST in der Prozesslogik eines Bildschirms nicht, wird die Dokumentation des Felds im ABAP Dictionary als Grundlage verwendet und angezeigt. Auch wenn diese Dokumentation nicht existiert, wird keine Hilfe angezeigt.
  • Um die Feldhilfedokumentation anzuzeigen, mรผssen Sie die folgende Bildschirmflusslogik im POH-Ereignis codieren:
PROCESS ON HELP-REQUEST
FIELD <f> [MODULE <mod>] WITH <num>
  • Wenn fรผr das Feld eine bildschirmspezifische Datenelementdokumentation vorhanden ist , kรถnnen Sie es anzeigen, indem Sie seine Nummer angeben .
  • Die Nummer kann ein Literal oder eine Variable sein. Die Variable muss im entsprechenden ABAP-Programm deklariert und gefรผllt werden.
  • Beachten Sie, dass die FIELD-Anweisung nicht den Inhalt des Bildschirmfelds รผbertrรคgt an das ABAP-Programm im Ereignis PROCESS ON HELP-REQUEST รผbergeben. Es wird nur die Hilfedokumentation angezeigt. Das ist es.

Das Modul Das Modul ist im ABAP-Programm wie ein normales PAI-Modul definiert. Die Verarbeitungslogik des Moduls muss sicherstellen, dass fรผr das betreffende Feld eine geeignete Hilfe angezeigt wird. Anstatt einen zusรคtzlichen Bildschirm mit Textfeldern aufzurufen, sollten Sie eines der folgenden Funktionsbausteine โ€‹โ€‹verwenden, um eine passende Hilfe anzuzeigen. SAPSkriptdokument

HELP_OBJECT_SHOW_FOR_FIELD

  • Dieser Funktionsbaustein zeigt die Datenelementdokumentation fรผr Komponenten einer beliebigen Struktur oder Datenbanktabelle aus dem ABAP Dictionary an.
  • Den Namen der Komponente und Struktur bzw. Tabelle รผbergeben Sie an die Importparameter FIELD und TABLE.

HELP_OBJECT_SHOW

  • Mit diesem Funktionsbaustein kรถnnen Sie SAPSkriptdokument.
  • Sie mรผssen die Dokumentklasse (z. B. TX fรผr allgemeine Texte, DE fรผr Datenelementdokumentation) und den Namen des Dokuments an die Importparameter DOKCLASS und DOKNAME รผbergeben.
  • Aus technischen Grรผnden mรผssen Sie auรŸerdem eine leere interne Tabelle mit dem Zeilentyp T รผbergeben.LINE zum Tabellenparameter des Funktionsbausteins.

Die Formel 1 erklรคrt das Teilnehmerfeld. Die nรคchste Veranstaltung listet die Fahrzeuge auf, an denen teilgenommen werden kann.

Wertprozess (POV): F4

  • Wenn der Benutzer die Funktion Mรถgliche Eingaben (F4) wรคhlt, zeigt das System die mรถglichen Eingabewerte fรผr ein Feld (Werte, Prรผftabelle, Matchcode) an, sofern diese vom Entwickler hinterlegt wurden.
  • Das Ereignis PROCESS ON VALUE-REQUEST wird immer dann abgearbeitet, wenn der Benutzer โ€žMรถgliche Eingabenโ€œ aufgerufen hat.
  • Um mรถgliche Werte fรผr ein Feld auf dem Bildschirm zu definieren, mรผssen Sie Folgendes im POV-Ereignis der Bildschirmflusslogik definieren:
PROCESS ON VALUE-REQUEST

FIELD field name MODULE module name
  • Fรผr mรถgliche Werte innerhalb des oben definierten Moduls sollten Sie das allgemeine Funktionsmodul verwenden HELP_VALUES_GET_WITH_TABLE um mรถgliche Werte aus dem ABAP Dictionary zu erhalten.

Es gibt noch einige weitere Funktionen, die auch als Eingabehilfe genutzt werden kรถnnen:

F4IF_FIELD_VALUE_REQUEST

  • Ruft die Eingabehilfe des ABAP Dictionary dynamisch auf.
  • In den Importparametern TABNAME und FIELDNAME kรถnnen Sie dem Funktionsbaustein die Komponentennamen einer Struktur oder Datenbanktabelle des ABAP Dictionary รผbergeben.
  • Der Funktionsbaustein startet die ABAP-Wรถrterbuch Eingabehilfe fรผr diese Komponente. Es werden alle relevanten Bildschirmfelder gelesen.
  • Wenn Sie die Importparameter DYNPPROG, DYNPNR und DYNPROFIELD angeben, wird die Auswahl des Benutzers in das entsprechende Feld auf dem Bildschirm zurรผckgegeben.
  • Wenn Sie den Tabellenparameter RETURN_TAB angeben, wird die Auswahl stattdessen in die Tabelle zurรผckgegeben.
MODULE VALUE_CARRIER INPUT.

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

TABNAME    = 'DEMOF4HELP'

FIELDNAME  = 'CARRIER1'

DYNPPROG   =  PROGNAME

DYNPNR  =  DYNNUM

DYNPROFIELD= 'CARRIER'.

ENDMODULE.

F4IF_INT_TABLE_VALUE_REQUEST

  • Dieser Funktionsbaustein zeigt eine Werteliste an, die Sie in einem erstellt haben ABAP-Programm.
  • Die Werteliste wird als Tabellenparameter VALUE_TAB an den Funktionsbaustein รผbergeben.
  • Wenn Sie die Importparameter DYNPPROG, DYNPNR und DYNPROFIELD angeben, wird die Auswahl des Benutzers in das entsprechende Feld auf dem Bildschirm zurรผckgegeben.
  • Wenn Sie den Tabellenparameter RETURN_TAB angeben, wird die Auswahl stattdessen in die Tabelle zurรผckgegeben.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING

RETFIELD         =  'CONNID'
DYNPPROG         =  PROGNAME
DYNPNR           =  DYNNUM
DYNPROFIELD      =  'CONNECTION'
VALUE_ORG        = 'S'
TABLES
VALUE_TAB        = VALUES_TAB.

Das ist alles fรผr POH und POV. Hinterlassen Sie im Zweifelsfall Ihre Kommentare.

Wie man eine F4-Hilfe aus einer internen Tabelle erstellt

Eine Werteliste, die nicht im ABAP Dictionary existiert, wird innerhalb des Programms erstellt und an F4IF_INT_TABLE_VALUE_REQUEST รผbergeben. Die folgenden Schritte erzeugen eine funktionierende F4-Hilfe fรผr ein Bildschirmfeld.

  1. Wertetabelle deklarieren: Erstellen Sie eine interne Tabelle, deren erste Spalte den Wert enthรคlt, der auf dem Bildschirm ausgegeben wird. Fรผllen Sie diese Tabelle in einem PBO-Modul oder direkt im Wertanforderungsmodul.
  2. Registrieren Sie das Feld in der Ablauflogik: Fรผgen Sie PROCESS ON VALUE-REQUEST zum Bildschirm hinzu und verbinden Sie das Feld mit FIELD โ€ฆ MODULE โ€ฆ, damit das Modul beim Drรผcken von F4 ausgefรผhrt wird.
  3. Rufen Sie das Funktionsmodul auf: รœbergeben Sie RETFIELD mit dem Spaltennamen, DYNPROFIELD mit dem Bildschirmfeldnamen und VALUE_ORG = 'S', da die Liste als strukturierte Tabelle รผbergeben wird.
  4. Gib den Wert zurรผck: DYNPPROG und DYNPNR identifizieren das Programm und den Bildschirm, sodass die ausgewรคhlte Zeile ohne weiteren Code direkt in das Bildschirmfeld geschrieben wird.
  5. Probier es aus: Aktivieren Sie den Bildschirm, drรผcken Sie F4 auf dem Feld und prรผfen Sie, ob die Liste angezeigt wird und die Auswahl im Feld erscheint.
* Flow logic of the screen
PROCESS ON VALUE-REQUEST.
  FIELD spfli-connid MODULE f4_connid.

* Module in the ABAP program
MODULE f4_connid INPUT.

  DATA: lt_values TYPE STANDARD TABLE OF spfli.

  SELECT * FROM spfli INTO TABLE lt_values
    WHERE carrid = spfli-carrid.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    = 'CONNID'
      dynpprog    = sy-repid
      dynpnr      = sy-dynnr
      dynprofield = 'SPFLI-CONNID'
      value_org   = 'S'
    TABLES
      value_tab   = lt_values.

ENDMODULE.

๐Ÿ’ก Tipp: Lesen Sie vor dem Fรผllen der Liste den Wert eines anderen Bildschirmfelds mit dem Funktionsbaustein DYNP_VALUES_READ. So wird eine abhรคngige F4-Hilfe erstellt, beispielsweise Verbindungen fรผr die bereits eingegebene Fluggesellschaft.

Hรคufig gestellte Fragen

Weder noch. F1 und F4 unterbrechen die Bildschirmanzeige, fรผhren ein eigenes Ereignis aus und kehren dann zum selben Bildschirm zurรผck. Die regulรคre PAI-Verarbeitung startet erst, wenn der Benutzer einen normalen Funktionscode auslรถst.

Eine Suchhilfe, die dem Datenelement oder der Prรผftabelle zugeordnet ist, erzeugt bereits die F4-Liste. POV-Codierung ist nur erforderlich, wenn die Werte zur Laufzeit berechnet werden oder von einem anderen Feld des Bildschirms abhรคngen.

รœbergeben Sie DYNPROFIELD mit dem Namen der Spalte und verwenden Sie GET CURSOR. LINE um die Zeile zu finden. Das Funktionsmodul schreibt dann den Wert in die richtige Zeile des Steuerelements im nรคchsten PBO.

Ja. KI-Assistenten in ABAP-Entwicklungswerkzeugen schreiben die POV-Ablauflogik, die SELECT-Anweisung, die die Wertetabelle fรผllt, und den Aufruf von F4IF_INT_TABLE_VALUE_REQUEST mit den korrekten RETFIELD- und DYNPROFIELD-Parametern.

Nein. F1 liest weiterhin die im ABAP Dictionary gespeicherte Dokumentation. KI-Assistenten wie โ€ฆ SAP Joule beantwortet Fragen in einfacher Sprache neben dem Bildschirm, was die Felddokumentation ergรคnzt, anstatt sie zu ersetzen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: