Selection-Screen
Siehe Reporting.
Siehe Selektionsbildschirm.
Auf dem Selektionsbildschirm eines Reports sind recht umfangreiche Gestaltungsoptionen möglich.
Selektionsblöcke: SELECTION-SCREEN BEGIN/END OF BLOCK
- Es sieht optisch sauber aus und erleichtert den Überblick, wenn die Selektionsfelder in Blöcken selektiert werden.
- den Titel sollte man im Kommentar hinter den Frame Title schreiben, um sich leichter zurecht zu finden bei häufig einigen Selektionsblöcken
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001. "Block: Selektion ... SELECTION-SCREEN END OF BLOCK b1. "Block: Selektion
Ein Projektbeispiel:
Listbox
PARAMETERS: p_bstyp TYPE /pho/scm_bstyp AS LISTBOX VISIBLE LENGTH 20 OBLIGATORY USER-COMMAND bstyp.
Eine Listbox erscheint auf dem Selektionsbildschirm.
Hier wird eine Datenelement angelegt mit N Einträgen in der Domäne.
Mehrere Felder in einer Zeile: BEGIN/END OF LINE
Fügt man Parameter oder Select-Options zu einem Selektionsbildschirm hinzu, wird jeder Selektionsparameter standardmäßig auf eine eigene Zeile geschrieben.
Man kann aber auch mehrere Selektionsparameter oder Texte auf eine Zeile schreiben mit dem Befehl SELECTION-SCREEN BEGIN OF LINE und SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT (10) text-004. "Domäne Parameters: p_dom RADIOBUTTON GROUP dic, p_domf type DOMNAME_SG. Selection-screen end of line.
Hier sind 3 Felder in einer Zeile. Ein Kommentar, ein Radiobutton und ein normales Parameterfeld.
In einem anderen Projektbeispiel wurde die Kurzbeschreibung zum Material im Selektionsbildschirm Auswahl vom Material (und ENTER) angezeigt
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT (31) mat. PARAMETERS: p_matnr TYPE mara-matnr OBLIGATORY. SELECTION-SCREEN COMMENT (40) mattext FOR FIELD p_matnr. SELECTION-SCREEN END OF LINE.
FORM initialization. mat = 'Material'. ENDFORM.
FORM at_selection_screen. IF p_matnr IS NOT INITIAL. SELECT SINGLE maktx INTO mattext FROM makt WHERE matnr = p_matnr AND spras = sy-langu. ENDIF. ENDFORM.
Selection-Screen Dynpro anlegen und nutzen: SELECTION-SCREEN BEGIN/END OF SCREEN <dynpronummer>
- In einem Report wird ohne Angabe des Dynpros implizit der Dynpro 1000 angelegt, wenn man Parameter oder Select-Options im Report definiert
- Manchmal möchte man jedoch mehrere Selektionsdynpros haben oder man ist nicht in einem Report, wie z. B. einem Modulpool. Dann muss man explizit dem Selection-Screen eine Dynpronummer mitgeben
Hier wird ein Selektionsbildschirm mit der Dynpronummer 200 angelegt
SELECTION-SCREEN begin of screen 200. Parameters: p_vbeln type vbak-vbeln. selection-screen end of screen 200.
Dies wird dann aufgerufen mit "call SELECTION-SCREEN <dynpronummer>"
call SELECTION-SCREEN 200.