Selektionsbildschirm
www.4AP.de - alles über ABAP - Gestaltung des Selektionsbildschirmes |
Beispielcoding: um die Gestaltung des Selektionsbildschirmes zu optimieren, vervollständigen (kopieren erlaubt aber auf eigene Gefahr :-)) |
|
* * zwei Tabreiter mit getrenntem Inhalt * Mit 2 Tabsprips SELECTION-SCREEN END OF BLOCK blk1. SELECTION-SCREEN END OF SCREEN 1010.
* 2. Tabstrip mit den zusätzlichen Auswahlfeldern, die * selektiere was du willst :-)) SELECTION-SCREEN END OF SCREEN 1020. ~~~~~~~~~~~~~~~~~~ * 'ausblenden' von Selektionsoptionen SELECT-OPTIONS: s_postp for t_daten-postp MODIF ID sel. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. if screen-name = 'S_POSTP-LOW' or screen-name = 'S_POSTP-HIGH'. screen-input = '0'. MODIFY SCREEN. endif. " screen-name = S_BWART-LOW' ENDLOOP. " AT SCREEN * auch mal die Hilfe zur Tabelle SCREEN lesen! ~~~~~~~~~~~~~~~~~~ *Status offen PARAMETERS dy_ofn LIKE rihea-dy_ofn DEFAULT 'X'. SELECTION-SCREEN COMMENT 3(11) text-101 FOR FIELD dy_ofn ID 101. *Mit Kosten ausgeben? - Checkbox rechts! SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(24) text-008 FOR FIELD p_kost. SELECTION-SCREEN POSITION pos_low. PARAMETERS: p_kost AS CHECKBOX. SELECTION-SCREEN END OF LINE . *Partnerrolle-1 als Drop-Down-Box SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(31) text-005 FOR FIELD p_parvw1. PARAMETERS p_parvw1 LIKE ihpa-parvw AS LISTBOX VISIBLE LENGTH 22. SELECTION-SCREEN END OF LINE. ~~~~~~~~~~~~~~~~~~ * Mehrere Reitertabs selection-screen begin of tabbed block all for 22 lines. selection-screen tab (20) sopt user-command 'SOPT' default screen 100. selection-screen tab (20) spar user-command 'SPAR' default screen 200. selection-screen tab (15) apar user-command 'APAR' default screen 300. selection-screen tab (15) sort user-command 'SORT' default screen 400. selection-screen tab (15) avar user-command 'AVAR' default screen 500. selection-screen end of block all. selection-screen begin of screen 100 as subscreen. selection-screen begin of block sel with frame title text-001. selection-screen skip. select-options: s_kunnr for wa_result-kunnr, " Kundennummer s_spart for wa_result-spart. " Sparte selection-screen end of block sel. selection-screen end of screen 100. * selection-screen begin of screen 200 as subscreen. selection-screen begin of block pars with frame title text-012. selection-screen skip. * Liferstatus selection-screen begin of line. selection-screen comment (20) for field p_lfgsa. selection-screen position pos_low. parameters: p_lfgsa type zzlsstat. selection-screen end of line. selection-screen end of block pars. selection-screen end of screen 200. * usw. ~~~~~~~~~~~~~~~~~~ * 4 Parameter in einer Zeile SELECTION-SCREEN BEGIN OF LINE. "Bedarfsvorlaufkennzeichen SELECTION-SCREEN COMMENT 1(25) text-004. SELECTION-SCREEN POSITION 31. PARAMETERS: p_shflgo AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN POSITION 38. PARAMETERS: p_shflga(3). SELECTION-SCREEN COMMENT 43(7) text-005. PARAMETERS: p_shflgn(3). " like marc-shflg. SELECTION-SCREEN POSITION 59. PARAMETERS: p_shflgd AS CHECKBOX. SELECTION-SCREEN END OF LINE. * 4 Checkboxen in einer Zeile SELECTION-SCREEN BEGIN OF BLOCK block0 WITH FRAME TITLE text-004. SELECTION-SCREEN BEGIN OF LINE. *Status offen PARAMETERS dy_ofn LIKE rihea-dy_ofn DEFAULT 'X'. SELECTION-SCREEN COMMENT 3(11) text-101 FOR FIELD dy_ofn ID 101. *Status zurückgemeldet PARAMETERS dy_rst LIKE rihea-dy_rst DEFAULT 'X'. SELECTION-SCREEN COMMENT 16(10) text-102 FOR FIELD dy_rst ID 102. *Status in Arbeit PARAMETERS dy_iar LIKE rihea-dy_iar DEFAULT 'X'. SELECTION-SCREEN COMMENT 29(10) text-103 FOR FIELD dy_iar ID 103. *Status abgeschlossen PARAMETERS dy_mab LIKE rihea-dy_mab DEFAULT 'X'. SELECTION-SCREEN COMMENT 42(10) text-104 FOR FIELD dy_mab ID 104. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK block0. ~~~~~~~~~~~~~~~~~~ * Selektionsvariante sichern AT SELECTION-SCREEN. data: h_repid LIKE sy-repid. seltab TYPE TABLE OF rsparams WITH HEADER LINE. h_repid = sy-repid. * Selektionsvariante für Protokollierung sichern IF sy-ucomm EQ 'ONLI'. REFRESH seltab. CLEAR seltab. * selektionen lesen und merken CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS' EXPORTING curr_report = h_repid TABLES selection_table = seltab. ENDIF. " sy-ucomm eq 'ONLI' ~~~~~~~~~~~~~~~~~~ * Einzel-Parameter nicht eingabebereit machen AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF screen-name = 'P_BLANK'. screen-input = '0'. MODIFY SCREEN. ENDIF. " screen-name = 'P_BLANK' ENDLOOP. " AT SCREEN ~~~~~~~~~~~~~~~~~~ * Selektionsbildschirm mit mehreren Tabs selection-screen begin of tabbed block all for 24 lines. selection-screen tab (20) sopt user-command 'SOPT' default screen 100. selection-screen tab (20) spar user-command 'SPAR' default screen 200. selection-screen tab (15) apar user-command 'APAR' default screen 300. selection-screen tab (15) sort user-command 'SORT' default screen 400. selection-screen tab (15) avar user-command 'AVAR' default screen 500. selection-screen end of block all. * Registerblatt Selektionsoptionen selection-screen begin of screen 100 as subscreen. selection-screen begin of block sel with frame title text-001. select-options: s_kunnr for wa_result-kunnr. " Kundennummer selection-screen end of block sel. selection-screen end of screen 100. ~~~~~~~~~~~~~~~~~~ *Eingrenzen der Selektionsoptionen (zum Zeitpunkt INITIALIZATION) |


