12 Reports and Selektionsbildschirme

12.1 Ereignisse eines Reports

12.2 Eingabeelemente

12.3 Strukturierungselement für den Selektionsbildschirm

12.4 Ereignisse eines Selektionsbildschirms

12.5 Textelemente

12.6 Nachrichtenklassen

12.7 Einen Report mit ABAP aufrufen

12.8 SPA-/GPA-Parameter

INITIALIZATION

START-OF-SELECTION

AT SELECTION-SCREEN

um Variablen oder Eingabefelder Ihres Selektionsbildschirms zu initialisieren

Dieser Block definiert den Standardverarbeitungsblock Ihres ausführbaren Programms.

Hier programmieren Sie die Logik zur Verarbeitung der Eingabe. Das Ereignis definiert also, wo Ihre erste richtige Zeile ABAP-Code anfängt.

Wir immer dann aufrufen, wenn das Selektionsbild bestätigt wird oder wenn der Zusatz USER-COMMAND für Selektionsbildelemente angegeben ist.

12.2.1 Parameter

12.2.2 Checkboxen

12.2.3 Radiobuttons

12.2.4 Dropdown-Liste

12.2.5 Selektionsoptionen

12.2.6 Buttons

12.2.7 Buttons auf Funktionsleiste ❓

PARAMETERS {parameter} | {parameter [LENGTH laenge]}
           {{TYPE typ [DECIMALS dezimalstellen]}
           |{LIKE dobj}}
  [OBLIGATORY | NO-DISPLAY]
  [VISIBLE LENGTH vlaenge]
  [DEFAULT wert]
  [LOWER CASE]
  [MATCHCODE OBJECT suchhilfe]
  [MEMORY ID pid]
  [VALUE CHECK] ...

Mit der Anweisung PARAMETERS können Sie ähnlich der DATA-Anweisung programmlokale Datenobjekte definieren. Zusätzlich wird bei der Anweisung PARAMETERS ein Eingabefeld auf einem vom System generierten Selektionsbild zur Eingabe angeboten.

DEFAULT wert

einen Namen mit einer maximalen Länge 8 angeben

MATCHCODE OBJECT suchhilfe

MEMORY ID pid

VALUE CHECK

OBLIGATORY

NO-DISPLAY

LENGTH laenge

VISIBLE LENGTH vlaenge

einen Standardwert eingeben

eine Suchhilfe direkt spezifizieren

wird das Eingabefeld mit einem Set-/Get-Parameter im SAP-Memory verknüpft

die Werteprüfung einschalten

Dies funktioniert nur, wenn Sie sich auf einen Typ aus dem ABAP Dictionary bezogen haben.

das Eingabefeld als Pflichtfeld markieren

die Anzeige unterdrückt

Dies ist hilfreich, falls Sie den Report später programmatisch aurfuren und mit zusätzlichen Werten versorgen wollen.

die Länge des Eingabefelds über laenge beschränken

die sichtbare Ausgabelänge des Parameters über vlaenge auf dem Selektionsbildschirm beeinflussen

PARAMETERS paremetername {{TYPE | LIKE} ... } AS CHECKBOX
  [USER-COMMAND funktionscode].

Der angegebene Typ muss c und seine Länge 1 sein.

PARAMETERS parametername {{TYPE | LIKE} ... }
  RADIOBUTTON GROUP gruppe
  [USER-COMMAND funktionscode]:
PARAMETERS parametername {{TYPE | LIKE} ... }
  AS LISTBOX VISIBLE LENGTH vlaenge
  [USER-COMMAND funktionscode]

Dropdown-Liste füllen

im Initialisierungsereignis INITIALIZATION mit dem Funktionsbaustein VRM_SET_VALUES befüllen

Dazu müssen Sie im Parameter ID den Namen der Dropdown-Liste (in Großbeschreibung) und im Parameter VALUES ein Wertetabelle vom Typ VRM_VALUES übergeben.

REPORT zreport.
PARAMETERS: p_tage TYPE c AS LISTBOX VISIBLE LENGTH 20.
DATA: lt_tage TYP vrm_values,
      ls_tage TYPE vrm_value.
INITIALIZATION.
  ls_tage-key = '1'.
  ls_tage-text = 'Montag'.
  APPEND ls_tage TO lt_tage.
  ls_tage-key = '1'
  ls_tage-text = 'Dienstag'.
  APPEND ls_tage TO lt_tage.
  CALL FUNCTION 'VRM_SET_VALUES'
     EXPORTING
           id = 'P_TAGE'  ''Name des Parameters
       values = lt_tage
     EXCEPTIONS
        OTHERS = 0.

Dropdown-Liste auslesen ❓

Dazu müssen Sie den Funktionsbaustein DYNP_VALUES_READ aufrufen und sich den Index der ausgewählten Zeile zu der Dropdown-Liste zurückgegeben lassen, mit dem Sie wiederum den Wert aus Ihrer originalen Wertetabelle auslesen können.

AT SELECTION-SCREEN ON p_tage.
  DATA: lt_werte TYPE TABLE OF dynpread,
        ls_werte TYPE dynpread.
  CLEAR: lt_werte, ls_werte.
  ls_werte-fieldname = 'P_TAGE'.
  APPEND ls_werte TO lt_werte.
  CALL FUNCTION 'DYNP_VALUES_READ'
     EXPORTING
       dyname = sy-cprog
       dynumb = sy-dynnr
       translate_to_upper = 'X'
     TABLES
       dynpfields = lt_werte.
  READ TABLE lt_werte INDEX1 INTO ls_werte.
  IF sy-subrc = 0.
    READ TABLE lt_tage INTO ls_tage WITH KEY key = ls_werte-fieldvalue.
    IF sy-subrc = 0.
    ENDIF.
  ENDIF.

Im Unterschied zur Anweisung PARAMETERS wird allerdings kein einfaches Eingabefeld, sondern eine Von-bis-Eingabe in Form von zwei Eingabefeldern und einem dahinter angezeigten Button für die Mehrfachselektion generiert.

SELECTION-OPTIONS so_name FOR datenobjekt
  [OBLIGATORY | NO-DISPLAY]
  [VISIBLE LENGTH vlaenge]
  [NO-EXTENSION]
  [NO INTERVALS]
  [MODIF ID modid]
  [LOWER CASE]
  [MATCHCODE OBJECT suchhilfe]
  [MEMORY ID pid]
  [DEFAULT wert1 [TO wert2]
  [OPTION option] [SIGN sign]]

Mit der Anweisung SELECT-OPTIONS wird vom System eine interne Tabelle, genauer gesagt eine Range-Tabelle, aufgebaut.

NO-EXTENSION

verhindern Sie, dass der Button für die Mehrfachselektion angezeigt wird

NO INTERVALS

wird nur das erste Eingabefeld ähnlich einem Parameter angezeigt

SELECTION-SCREEN PUSHBUTTON [/][pos](len)
  button_text USER-COMMAND fcode
  [VISIBLE LENGTH vlaenge]
REPORT zreport.
TABLES: sscrifields.
SELECTION-SCREEN PUSHBUTTON /1(10) text-001 USER-COMMAND but1.
AT SELECTION-SCREEN.
  IF sscrifields-ucomm = 'BUT1'.
    MESSAGE 'Button wurde geklickt!' TYPE 'I'.
  ENDIF.

Icon zuweisen

Auf dem Button können Sie ein Icon und beim Überfahren des Buttons mit dem Mauszeiger können Sie eine Quickinfo anzeigen lassen.

Der einfachste Weg dazu ist die Verwendung des Funktionsbausteins ICON_CREATE, bei dem Sie lediglich den Namen des gewünschten Icons und der Quickinfo angeben müssen.

Das Ergebnis dieses Funktionsbausteinaufrufs weisen Sie anschlißend dem Button als Text zu.

SELECTION-SCREEN PUSHBUTTON /1(50) text
  USER-COMMAND btn1 VISIBLE LENGTH 30.
INITIALIZATION.
  CALL FUNCTION 'ICON_CREATE'
    EXPORTING
       name = icon_information ''Name des Icons
       text = 'Mein Button mit Icon'
       info = 'Meine Quickinfo'
    IMPORTING
       RESULT = text
    EXCEPTIONS
       OTHERS = 0.

SELECTION-SCREEN FUNCTION KEY n

REPORT zreport.
TABLES: sscrifields.
* Struktur zur Definierung der Button-Anzeige definieren
DATA: ls_menu_btn1 TYPE smp_dyntxt.
SELECTION-SCREEN FUNCTION KEY 1.
INITIALIZATION.
* Definition zum Button ausprägen
  ls_menu_btn1-icon_id = ICON_DUMMY.
  ls_menu_btn1-icon_text = 'Mein Icon-Text'.
  ls_menu_btn1-quickinfo = 'Mein Quickino'.
* Der Schnittstellenstruktur zuweisen
  sscrfields-functxt_01 = ls_menu_btn1.
AT SELECTION-SCREEN.
*Auf einen Klick auf den Button reagieren
  CASE sscrifields-ucomm.
     WHEN 'FC01'. ...
  ENDCASE.

Neben den normalen BUttons, die Sie frei auf dem Selektionsbildschirm anordnen können, haben Sie die Möglichkeit, über den Zusatz FUNCTION KEY bis zu fünf vordefinierte Buttons in der Funktionsleiste zu definieren.

Den Text, ein Icon sowie eine Quickinfo können Sie über die Schnittstelle SSCRFIELDS setzen, die Sie vorher durch eine TABLES-Anweisung deklariert haben müssen.

Die Struktur SSCRFIELDS stellt dabei für jeden Button eine Unterstruktur mit dem Namen FUNCTTXT_0n bereit, wobei das letzte n für die Nummer des Buttons steht.

Auf die Buttons können Sie dann über vordefinierte Funktionscodes im Ereignis AT SELECTION-SCREEN reagieren, die in dem Feld UCOM der Struktur SSCRFIELDS stehen.

Die Funktionscodes haben den Namen FC0n, wobei das n für die Nummer des Buttons steht.

12.3.1 Blöcke

12.3.2 Leerzeilen

12.3.3 Horizontale Linien

12.3.4 Textausgaben

12.3.5 Tabstrips

12.3.6 Modifikationsgruppen

SELECTION-SCREEN BEGIN OF BLOCK block
  [WITH FRAM [TITLE title]].
  '' Eingabeelemente, wie z.B. PARAMETERS ...
SELECTION-SCREEN END OF BLOCK block.
SELECTION-SCREEN BEGIN OF BLOCK rad1
  WITH FRAME TITLE text-001.
PARAMETERS: r1 RADIOBUTTON GROUP gr1,
            r2 RADIOBUTTON GROUP gr1,
            r3 RADIOBUTTON GROUP gr1.
SELECTION-SCREEN BEGION OF BLOCK rad1.

SELECTION-SCREEN SKIP [anzahl].

SELECTION-SCREEN ULINE [[/][pos | POS_LOW | POS_HIGH] (len)]

Sie können den Start und die Länge der Linie (maximal 83 Zeichen lang) auch exakt spezifizieren.

Mehrere Linien können dabei hintereinanderstehen und müssen, falls dies nicht erwünscht ist, mit dem Zusatz >>/<< (Schrägstrich) umbrochen werden.

SELECTION-SCREEN COMMENT [/][pos](len){text}

Mit dem Zusatz COMMENT der Anweisung SELECTION-SCREEN können Sie normale Texte auf dem Selektionsbildschirm ausgeben.

REPORT zreport.
* Definition der ersten Registerkarte
  SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
     SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
        PARAMETERS: field2 TYPE c.
     SELECTION-SCREEN END OF BLOCK b1.
  SELECTION-SCREEN END OF SCREEN 100.
* Definition der zweiten Registerkarte
  SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
       PARAMETERS: feld2 TYPE c.
    SELECTION-SCREEN END OF SCREEN BLOCK b2.
  SELECTION-SCREEN END OF SCREEN 200.
* Definition des Tabstrips.
  SELECTION-SCREEN.
  BEGIN OF TABBED BLOCK meintab FOR 10 LINES.
    TAB(20) reiter1 USER-COMMAND reiter1,
    TAB(20) reiter2 USER-COMMAND reiter2.
  END OF TABBED BLOCK meintab.
  INITIALIZATION. ''Text vergeben und Selektionsbildschirm zuordnen
    reiter1 = 'Reiter 1'.
    reiter2 = 'Reiter 2'.
    meintab-prog = sy-repid.
    meintab-dynnr = 100.
  AT SELECTION-SCREEN. ''Wenn Anwender auf einen Reiter klickt
    CASE sy-dynnr.
       WHEN 1000.
          CASE sy-uncomm. ''Setzen des angeklickten Reiters
            WHEN 'REITER1'.
               meintab-dynnr = 100.
               meintab-activetab = 'REITER1'.
            WHEN 'REITER2'.
               meintab-dynnr = 200.
               meintab-activetab = 'REITER2'.
          ENDCASE.
    ENDCASE.

Mithilfe des Zusatzes BEGIN OF SCREEN ... AS SUBSCREEN können Sie einzelne Unterselektionsbildschirme (Subscreen) anlegen, die Sie dynamisch zur Laufzeit laden können, wenn der Anwender auf einen Reiter klickt. Dieser wird mit TABBED BLOCK angelegt. Dazu müssen Sie beim Ereignis AT SELECTION-SCREEN im Feld DYNNR Ihres Tabstrips die gewünschte Subscreen-Nummer angeben und sagen, welche Registerkarte geöffnet werden soll.

Mit dem Zusatz MODIF-ID können Sie Bildschirmelemente zu einer Modifikationsgrupppe zusammenfassen. Eine Modifikationsgruppe ermöglicht die gleichzeitige Bearbeitung mehrerer Elemente durch den Entwickler. Die Angabe einer solchen Modifikationsgruppe ist bei den Zusätzen COMMENT, PUSHBUTTON, TAB, ULINE, PARAMETERS und SELECT-OPTIONS möglich.
Alle Bildschirmelemente einer Modifikationsgruppe können vor der Darstellung des Selektionsbildschirms mit der Anweisung MODIFY SCREEN modifiziert werden.

REPORT zreport.
* Definition des Selektionsbildschirms inklusive Zuordnung der MODIF-ID
PARAMETERS zeige AS CHECKBOX USER-COMMAND com1.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p1 TYPE c LENGTH 10,
            p2 TYPE c LENGTH 10.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS: p3 TYPE c LENGTH 10 MODIF ID bl2,
            p4 TYPE c LENGTH 10 MODIF ID bl2.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUPUT.
  DATA: ls_screen LIKE screen.
  LOOP AT screen INTO ls_screen.
    IF zeige <> 'X' AND ls_screen-group1 = 'BL2'.
      ls_screen-active = '0'.
      MODIFY screen FROM ls_screen.
    ENDIF.
ENDLOOP.
AT SELECTION-SCREEN {OUTPUT}
  | {ON {parameter | seloption}}
  | {ON END OF seloption}
  | {ON BLOCK block}
  | {ON RADIOBUTTON GROUP gruppe}
  | {ON {HELP-REQUEST | VALUE-REQUEST}
     FOR {parameter | seloption-low | seloptionl-high}}
  | {ON EXIT-COMMAND}.

Dies ermöglicht es Ihnenm den Selektionsbildschirm zu verschiedenen Zeitpunkten (vor und nach der Anzeige, bei Ausführung, bei Auswahl eines Elements) zu beeinflussen oder zusätzliche Logik anzubieten.

AT SELECTION-SCREEN

AT SELECTION-SCREEN OUTPUT

AT SELECTION-SCREEN ON ... FOR

ON END OF

ON BLOCK

ON RADIOBUTTON GROUP

ON HELP-REQUEST FOR

ON EXIT-COMMAND

Wird ohne Zusatz immer dann aufgerufen, wenn das Selektionsbild bestätigt wird oder wenn der Zusatz USER-COMMAND für Selektionsbildelemente angegeben ist.

Wird vor dem Anzeigen des Selektionsbildschirms (und durch Drücken der Enter-Taste) ausgelöst und kann genutzt werden, um die angezeigten Werte der Selektionselemente zu ändern.

Dieser Ereignisblock kann darüber hinaus dazu genutzt werden, ein dynamische Bildschirmsmodifikation vorzunehmen.

Dieser Ereignisblock wird nach jeder Eingabe eines Wertes zum angegebenen Parameter oder der Selektionsoption ausgelöst. In diesem Ereignisblock kann die Benutzereigabe überprüft oder gegebenfalls umgewandelt werden.

Wird ausgelöst, wenn der Anwender die Mehrfachselektionsoptionen benutzt, also etwas eingegeben hat. In diesem Ereignisblock aknn die gesamte Selektionstabelle überprüft werden.

Wird ausgelöst, wenn alle Eingabefelder des angegebenen Blocks übergeben wurden.

Wird ausgelöst, wenn alle Radiobuttons der angegebenen Radiobutton-Gruppe übergeben wurden.

Wird aufgerufen, wenn für ein Eingabefeld eines Parameters oder eines der Eingabefelder einer Selektionsoption die Feldhilfe F1 oder die Eingabehilfe F4 aufgerufen wurde.

Wird ausgelöst, wenn der Anwender einen der ampelfarbenen Navigations-Buttons ZURÜCK oder BEENDEN angeklickt hat oder ABBRECHEN aufgerufen hat. Welche Button der Anwender geklickt hat, kann über das Systemfeld sy-ucomm, abgefragt werden.

12.5.1 Zugriff auf Textelemente

12.5.2 Textsymbole

12.5.3 Selektionstexte

12.5.4 Listenüberschriften

Textelemente können Sie innerhalb des ABAP Editors entweder über Hauptmenü unter Springen -> Textelemente oder über das Kontextmenü des Programmordners über Anzeigen -> Textelemente erreichen.

Auf der Registerkarte Textsymbole können Sie neue Textsymbole eingeben.

Textsymbole können jegliche Literale innerhalb eines Quellcodes ersetzen.

in der ersten Spalten Sym eine dreistellige eindeutige ID zugeben, über die Später aus dem Programm heraus auf das Textsymbol zugreifen können

Die Länge und die maximale Länge werden automatisch bestimmt.

Anlage im Quellcode

Sie können Textsymbole auch direkt im Quellcode anlegen.

Schreiben Sie dazu Ihren Text als Literal aus, und vergeben Sie anschließend, von Klammern eingeschlossen, die eindeutige dreistellige ID

Wenn Sie anschließend zum ersten Mal doppelt auf das Literal klicken, wird Sie der ABAP Editor fragen, ob Sie noch nicht vorhandene Textsymbol anlegen möchten.

Auf der Registerkarte Selektionstexte können Sie Ihren für den Selektionsbildschirm definierten Parametern und Selektionsoptionen einen Text zuweisen.

Sie haben darüber hinaus die Möglichkeit, sich die im ABAP Dictionary gepflegten Texte angeben zu lassen.

Ändert sich der Text im ABAP Dictionary, ändert sich auch automatisch der hier angezeigte Text.

Auf der Registerkarte Listüberschriften können Sie eine Überschrift für eine Listenausgabe vergeben sowie den einzelnen Spalten der Liste Überschriften zuordnen.

Komfortabler lässt sich dies direkt im Ergebnis der Listenausgabe unter SYSTEM -> LISTE -> LISTEÜBERSCHRIFT einstellen.

Die Einrückung der Spaltenüberschriften geschieht dabei über Leerzeichen.

12.6.1 Nachrichtenklassen anlegen

12.6.2 Nachrift aufrufen

12.6.3 Parameterisierte Nachrichten

Transaktion SE91

Nachrichtenklassen sind das globale Gegenstück zu lokalen Textsymbolen. Während Textsymbole nur innerhalb eines Programmes aufgerufen und benutzt werden können, lassen sich die Texte von Nachrichtenklassen programmübergreifend verwenden.

einen Namen für die Nachrichtenklasse eintragen

auf der Registerkarte Nachrichten

Nachrichten eintragen

Ist der Nachrichtentext selbsterklärend, markieren Sie die entsprechende Checkbox in der Spalte SELBSTERKLÄREND.

Andernfalls fügen Sie in der Menüleiste über den Button LANGTEXT eine ausführlichere Nachrichtenbeschreibung dazu.

MESSAGE TypNummer (Klasse) [INTO text]

Sie können in Ihren Nachrichtentexten auch Platzhalter definieren, um diese erst zur Laufzeit mit bestimmten Werten zu füllen.

Dazu müssen Sie ein kaufmännisches Und-Zeichen (&) als Platzhalter eintragen.

Beim Ersetzen werden die übergebenen Texte dann in der angegebenen Reihenfolge eingetragen.

MESSAGE nummer (klasse) WITH text1 text2 [...]

DATA: lv_matnr TYPE matnr,
      lv_bukrs TYPE bukrs,
      lv_werks TYPE werks.
lv_matnr = '123456'.
lv_bukrs = 1000.
lv_werks = 1000.
MESSAGE s001 (zmein_nachrichtenk1) WITH lv_matnr
                                        lv_bukrs
                                        lv_werks.
SUBMIT reportname [VIA SELECTION-SCREEN]
  [USING SELECTION-SET variant]
  [AND RETURN].

Mit der Anweisung SUBMIT können Sie einen Report mit ABAP aufrufen.

Über den Zustaz VIA SELECTION-SCREEN können Sie definieren, dass der Selektionsbildschirm der aufgerufenen Reports nicht übersprungen, sondern angezeigt wird.

Geben Sie den Zusatz AND RETURN an, kehrt der Benutzer nach Ausführung des Reports zu dem ursprünglich angezeigten Report zurück.

Übe den Zustaz USING SELECTION-SET können Sie eine Variante auswählen.

Selektionsparameter übergeben

Selektionsparameter frei angeben

Übergabe einer Selektionsstelle

SUBMIT reportname ... [WITH expr_syntax WITH expr_syntax2]
SUBMIT zcrm_dml_status WITH p_chplva = '01'
                       WITH so_pchob IN so_objid
                       WITH pa_vari = pa_vari.

Beim Aufruf eines Reports mit der Anweisung SUBMIT können Sie die Namen der Selektionsparameter über den Zusatz WITH angeben und entsprechend Werte zuweisen.

[WITH SELECTION-TABLE rspar]

REPORT zmein_aufruf.
DATA: ls_param TYPE rsparams,
      lt_param TYPE TABLE OF rsparams.
ls_param-selname = 'P_MATNR'.
ls_param-kind = 'P'.
ls_param-low = '1234567'.
APPEND ls_param TO lt_param.
ls_param-selname = 'SO_MATNR'.
ls_param-kind = 'S'.
ls_param-option = 'BT'.
ls_param = sign = 'I'.
ls_param-low = '1000000'.
ls_param-high = '9000000'.
APPEND ls_param TO lt_param.
SUBMIT z_mein_report
  VIA SELECTION-SCREEN
  WITH SELECTION-TABLE lt_param.

Über den Zusatz WITH SELECTION-TABLE können Sie die Eingabeelemente des aufzurufenden Selektionsbildschirms über eine interne Tabelle vom Zeilentyp RSPARAMS versorgen.

Das Feld KIND muss dabei mit einem P für Parameter oder einem S für Selektionskriterien gefüllt sein, während das Feld SELNAME den Namen des Parameters oder der Selektionsoption enthält und während in den Feldern LOW und HIGH die Weret stehen.

Das Feld LOW wird für Parameter genutzt und die Felder LOW und HIGH für Selektionsoptionen.

Diese Parameter werden benutzt, um Werte auf dem Selektionsbildschirm von einem aufrufenden Program aus zu füllen.

Transaktion SU01
über das Hauptmenü unter System->Benutzervorgaben->Eigene Daten

Jeder SPA-/GPA-Parameter wird über eine 20-stellige Zeichenkette identifiziert.

12.8.1 SAP-/GPA-Parameter anlegen udn setzen

12.8.2 SPA-/GPA-Parameter auslesen

SET PARAMETER ID pid FIELD wert.

REPORT zfr_setget_para.
PARAMETER: p_meine TYPE char10 MEMORY ID zmein_parameter.
INITIALIZATION. ''Setzen des Wertes vor der Anzeige
  SET PARAMETER ID 'ZMEIN_PARAMETER' FIELD 'Mein Wert'.

Parameter-ID setzen

Wenn die ID des Parameters noch nicht existiert, können Sie hier doppelt auf die neue ID klicken, und die ABAP Workbench wird versuchen, ID zu navigieren.

GET PARAMETER ID pid FIELD variable.