Checkbox
*--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* SELECTION-SCREEN: PARAMETERS: p_csv AS CHECKBOX. *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION. p_csv = 'X'.
Button
TABLES sscrfields. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* SELECTION-SCREEN: PUSHBUTTON /2(20) button1 USER-COMMAND but1, PUSHBUTTON /2(20) button2 USER-COMMAND but2. *--------------------------------------------------------------* *At Selection-Screen *--------------------------------------------------------------* AT SELECTION-SCREEN. CASE sscrfields. WHEN 'BUT1'. MESSAGE 'Button 1 gibt eine Erfolgsmeldung' TYPE 'S'. WHEN 'BUT2'. MESSAGE 'Button 2 gibt einen Errormeldung' TYPE 'S'. ENDCASE. *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION. button1 = 'Button Erfolg'. button2 = 'Button Error'. CALL FUNCTION 'ICON_CREATE' EXPORTING name = icon_okay text = 'Test1' info = 'Test1 Info' IMPORTING RESULT = button1 EXCEPTIONS OTHERS = 0. CALL FUNCTION 'ICON_CREATE' EXPORTING name = icon_cancel text = 'Test2' info = 'Test2 Info' IMPORTING RESULT = button2 EXCEPTIONS OTHERS = 0.
Radiobutton
TABLES sscrfields. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS: p_rb_1 RADIOBUTTON GROUP 1 DEFAULT 'X' USER-COMMAND radio, p_feld1 (8), p_rb_2 RADIOBUTTON GROUP 1, p_feld2 (20). *--------------------------------------------------------------* *At Selection-Screen Output *--------------------------------------------------------------* AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. " Radiobutton 1 gedrückt: Feld 2 wird ausgeblendet IF screen-name = 'P_FELD2' AND p_rb_1 = 'X'. screen-input = '0'. MODIFY SCREEN. ENDIF. " Radiobutton 2 gedrückt: Feld 1 wird ausgeblendet IF screen-name = 'P_FELD1' AND p_rb_2 = 'X'. screen-input = '0'. MODIFY SCREEN. ENDIF. ENDLOOP.
Blöcke
TABLES sscrfields.
*--------------------------------------------------------------*
*Selection-Screen
*--------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: p_date TYPE sy-datum DEFAULT '99991231'.
PARAMETERS: p_test AS CHECKBOX.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) TEXT-001 FOR FIELD P1.
PARAMETERS: P1(10), P2(5), P3(1).
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-001.
PARAMETERS p_mail TYPE adr6-smtp_addr MODIF ID 1.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF BLOCK b1.
Invisible = Ausgesternt , Input = Ausgegraut , Aktive = Anzeigen ...
Invisible das Feld wird ausgesternt und man kann keinen Wert mehr eingeben.
Input das Feld wird ausgegraut und ist nicht mehr eingabebereit.
Aktive das Feld wird nicht mehr angezeigt.
Required das Feld wird zu einem Mussfeld
Intensified der Wert im Feld wird Rot
Output der Wert im Feld wird ausgeblendet
Length die Ausgabe Länge kann verkürzt werden
value_help zeigt dir alle Werte an die in den Festwerten der Domäne hinterlegt sind
TABLES sscrfields. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS: p_rb_1 RADIOBUTTON GROUP 1 DEFAULT 'X' USER-COMMAND radio, p_rb_2 RADIOBUTTON GROUP 1. PARAMETERS p_feld TYPE c LENGTH 9 DEFAULT 123456789. PARAMETERS p_feld2 TYPE rfbsk. *--------------------------------------------------------------* *At Selection-Screen *--------------------------------------------------------------* AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF screen-name = 'P_FELD'. IF p_rb_1 = 'X'. * screen-invisible = 1. * screen-input = 0. * screen-active = 0. * screen-required = 0. screen-intensified = 0. * screen-output = 0. * screen-length = 0. * screen-value_help = 0. * screen-values_in_combo = 0. ELSE. * screen-invisible = 0. * screen-input = 1. * screen-active = 1. * screen-required = 1. screen-intensified = 1. * screen-output = 1. * screen-length = 6. * screen-value_help = 1. * screen-values_in_combo = 1. ENDIF. MODIFY SCREEN. ENDIF. IF screen-name = 'P_FELD2'. IF p_rb_1 = 'X'. screen-value_help = 0. ELSE. screen-value_help = 1. ENDIF. MODIFY SCREEN. ENDIF. ENDLOOP. *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION.
Drucktaste im Report
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* TABLES sscrfields. DATA ls_textfield LIKE smp_dyntxt. DATA ls_textfield2 LIKE smp_dyntxt. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS: p_csv AS CHECKBOX. SELECTION-SCREEN FUNCTION KEY 1. SELECTION-SCREEN FUNCTION KEY 2. *--------------------------------------------------------------* *At Selection-Screen On Value Request For *--------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. CASE sy-ucomm. WHEN 'FC01'. MESSAGE i000(vz) WITH 'Verbuchen Coding...'. " $ $ $ $ WHEN 'FC02'. MESSAGE i000(vz) WITH 'Verbuchungen anzeigen Coding...'. " $ $ $ $ ENDCASE. *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION. ls_textfield-text = 'Verbuchen'. ls_textfield-icon_id = '@EP@'. ls_textfield-icon_text = 'Verbuchen text'. ls_textfield-quickinfo = 'Verbuchen quickinfo'. sscrfields-functxt_01 = ls_textfield. ls_textfield2-text = 'Verbuchungen anzeigen'. ls_textfield2-icon_id = '@DX@'. ls_textfield2-icon_text = 'Verbuchungen anzeigen text'. ls_textfield2-quickinfo = 'Verbuchungen anzeigen quickinfo'. sscrfields-functxt_02 = ls_textfield2.
Selektions Restriktion
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* TYPE-POOLS sscr. DATA: t_restrict TYPE sscr_restrict, l_ass TYPE sscr_ass, l_opt TYPE sscr_opt_list. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* select-options: s_lgart for t512w-lgart NO INTERVALS DEFAULT '/101'. "MREGOTZ *--------------------------------------------------------------* *Initialisation *--------------------------------------------------------------* INITIALIZATION. " OptionsTable bauen CLEAR l_opt. l_opt-name = 'OL_S_LGART'. l_opt-options-eq = 'X'. "nur einzelwerte zulassen APPEND l_opt TO t_restrict-opt_list_tab. " Zuordnung zu den Selektionsfeldern CLEAR l_ass. MOVE: 'S' TO l_ass-kind, 'S_LGART' TO l_ass-name, 'I' TO l_ass-sg_main, 'OL_S_LGART' TO l_ass-op_main. APPEND l_ass TO t_restrict-ass_tab. " Restriktionen aktivieren CALL FUNCTION 'SELECT_OPTIONS_RESTRICT' EXPORTING restriction = t_restrict EXCEPTIONS too_late = 1 repeated = 2 selopt_without_options = 3 selopt_without_signs = 4 invalid_sign = 5 empty_option_list = 6 invalid_kind = 7 repeated_kind_a = 8 OTHERS = 9. IF sy-subrc <> 0. MESSAGE 'FEHLER BEI DER SELEKTION PARMETER S_LGART' TYPE 'E'. ENDIF.
*--------------------------------------------------------------* *Start-of-selection *--------------------------------------------------------------*
Pfad zum speichern bestimmen
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* DATA: ld_filename TYPE string, ld_path TYPE string, ld_fullpath TYPE string, ld_result TYPE i, gd_file TYPE c. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS: p_file TYPE string. *--------------------------------------------------------------* *At Selection-Screen On Value Request For *--------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. * PERFORM f4_help. * FORM f4_help. * Dialog Bildschirm zum speichern der Daten CALL METHOD cl_gui_frontend_services=>file_save_dialog EXPORTING window_title = 'Speicherort' default_extension = 'TXT' default_file_name = 'Filename' initial_directory = 'c:\temp\' CHANGING filename = ld_filename path = ld_path fullpath = ld_fullpath user_action = ld_result. p_file = ld_fullpath. *ENDFORM *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION.
F1 Hilfe
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* DATA: gt_text TYPE TABLE OF tline, gs_text TYPE tline. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS p_test TYPE c. *--------------------------------------------------------------* *At Selection-screen on Help-Request for *--------------------------------------------------------------* AT SELECTION-SCREEN ON HELP-REQUEST FOR p_test. gs_text-tdformat = 'U1'. "Blauer Text als Titel oder zum Hervorheben gs_text-tdline = 'Hier steht dein Titel'. APPEND gs_text TO gt_text. CLEAR gs_text. gs_text-tdline = 'Hier steht dein Hilfstext'. APPEND gs_text TO gt_text. CLEAR gs_text. CALL FUNCTION 'COPO_POPUP_TO_DISPLAY_TEXTLIST' EXPORTING titel = 'F1 Hilfe' TABLES text_table = gt_text.
Eigene F4 Hilfe
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* TYPES: BEGIN OF ty_ampel, nr TYPE UFDISTYP, text TYPE text30, note TYPE text30, END OF ty_ampel. DATA: gs_f4 TYPE ty_ampel, gt_f4 TYPE TABLE OF ty_ampel. DATA: gt_return TYPE TABLE OF ddshretval, gs_return TYPE ddshretval. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS: p_nr TYPE UFDISTYP. *--------------------------------------------------------------* *At Selection-screen on Help-Request for *--------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_nr. REFRESH gt_f4. gs_f4-nr = 'G'. gs_f4-text = 'Grün'. gs_f4-note = 'Farbe'. APPEND gs_f4 TO gt_f4. gs_f4-nr = 'Y'. gs_f4-text = 'Gelb'. gs_f4-note = 'Farbe'. APPEND gs_f4 TO gt_f4. gs_f4-nr = 'R'. gs_f4-text = 'Rot'. gs_f4-note = 'Farbe'. APPEND gs_f4 TO gt_f4. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'NR' value_org = 'S' TABLES value_tab = gt_f4 return_tab = gt_return EXCEPTIONS parameter_error = 1 no_values_found = 2 OTHERS = 3. READ TABLE gt_return INTO gs_return INDEX 1. IF sy-subrc = 0. p_nr = gs_return-fieldval. ENDIF.
Icons im Selektions Sreen
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* TYPE-POOLS: icon. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS P_test type c. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(20) text1. SELECTION-SCREEN COMMENT 21(10) icon1. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(20) text2. SELECTION-SCREEN COMMENT 21(10) icon2. SELECTION-SCREEN END OF LINE. *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION. text1 = 'Okey'. icon1 = ICON_GREEN_LIGHT. "mit Icon Name text2 = 'Error'. icon2 = '@0A@'. "mit Icon Nummer
Pfad für den Upload holen
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS: p_file TYPE rlgrap-filename DEFAULT 'C:\xXx\XLSEINSPIELEN.xls'. *--------------------------------------------------------------* *At Selection-Screen On Value Request For *--------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. * PERFORM selectfile. * FORM selectfile. DATA : lv_subrc LIKE sy-subrc, lt_it_tab TYPE filetable. " Anzeeigen des File im Open Dialog control/screen CALL METHOD cl_gui_frontend_services=>file_open_dialog EXPORTING window_title = 'Select Source Excel File' default_filename = '*.xls' multiselection = ' ' CHANGING file_table = lt_it_tab rc = lv_subrc. " Schreibe den PFAD in die das Inputfeld LOOP AT lt_it_tab INTO p_file. ENDLOOP. * ENDFORM selectfile. *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION.
Desktop Pfad holen
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS p_path TYPE string OBLIGATORY LOWER CASE. *--------------------------------------------------------------* *At Selection-Screen On Value Request For *--------------------------------------------------------------* *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION. * PERFORM get_download_path. *FORM get_download_path. "Lokale Datendeklaration DATA lf_upload_path TYPE string. DATA lf_download_path TYPE string. "Desktop Pfad holen CALL METHOD cl_gui_frontend_services=>get_upload_download_path CHANGING upload_path = lf_upload_path download_path = lf_download_path. "Setze den Pfad im Selektionsbildschirm p_path = lf_download_path. *ENDFORM.
Drag & Drop für ein TXT
*--------------------------------------------------------------* *Datendeklaration *--------------------------------------------------------------* DATA: ld_filename TYPE string, ld_path TYPE string, ld_fullpath TYPE string, ld_result TYPE i, gd_file TYPE c. *--------------------------------------------------------------* *Selection-Screen *--------------------------------------------------------------* PARAMETERS: p_file TYPE string. *--------------------------------------------------------------* *At Selection-Screen On Value Request For *-------------------------------------------------------------- AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. * PERFORM f4_help. * FORM f4_help. * Dialog Bildschirm zum speichern der Daten CALL METHOD cl_gui_frontend_services=>file_save_dialog EXPORTING * window_title = ' ' default_extension = 'TXT' default_file_name = 'D1_Sätze' initial_directory = 'c:\temp\' CHANGING filename = ld_filename path = ld_path fullpath = ld_fullpath user_action = ld_result. p_file = ld_fullpath. p_file = ld_path. *--------------------------------------------------------------* *Initialization *--------------------------------------------------------------* INITIALIZATION. PERFORM drag_and_drop. *----------------------------------------------------------------------* * CLASS lcl_event_receiver DEFINITION *----------------------------------------------------------------------* CLASS lcl_event_receiver DEFINITION. PUBLIC SECTION. CLASS-METHODS: handle_navigate_complete FOR EVENT navigate_complete OF cl_gui_html_viewer IMPORTING url sender. ENDCLASS. "lcl_event_receiver DEFINITION *----------------------------------------------------------------------* * CLASS lcl_event_receiver IMPLEMENTATION *----------------------------------------------------------------------* CLASS lcl_event_receiver IMPLEMENTATION. METHOD handle_navigate_complete. p_file = url. ENDMETHOD. "handle_sapevent ENDCLASS. "lcl_event_receiver IMPLEMENTATION *---------------------------------------------------------------------* * Form DRAG AND DROP. *---------------------------------------------------------------------* FORM drag_and_drop. "lokale Datendeklaration DATA cl_docker TYPE REF TO cl_gui_docking_container. DATA t_events TYPE cntl_simple_events. DATA wa_event LIKE LINE OF t_events. DATA event_receiver TYPE REF TO lcl_event_receiver. DATA t_html TYPE STANDARD TABLE OF text8192 WITH NON-UNIQUE DEFAULT KEY. DATA html LIKE LINE OF t_html. DATA url TYPE text1000. DATA cl_html TYPE REF TO cl_gui_html_viewer. "Erstelle den Container für das HTML CREATE OBJECT cl_docker EXPORTING extension = 400 side = cl_gui_docking_container=>dock_at_bottom no_autodef_progid_dynnr = 'X'. "Erstelle HTML CREATE OBJECT cl_html EXPORTING parent = cl_docker. "Registeren von NAVIGATE_COMPLETE CALL METHOD cl_html->get_registered_events IMPORTING events = t_events. wa_event-eventid = cl_gui_html_viewer=>m_id_navigate_complete. wa_event-appl_event = 'X'. READ TABLE t_events TRANSPORTING NO FIELDS WITH KEY eventid = wa_event-eventid. IF sy-subrc <> 0. APPEND wa_event TO t_events. ENDIF. CALL METHOD cl_html->set_registered_events EXPORTING events = t_events. SET HANDLER lcl_event_receiver=>handle_navigate_complete FOR cl_html. "Erstelle den HTML Code CONCATENATE '' '' '' INTO html. APPEND html TO t_html. "Lade den HTML Code CALL METHOD cl_html->load_data IMPORTING assigned_url = url CHANGING data_table = t_html. "Anzeigen des HTML Codes CALL METHOD cl_html->show_url EXPORTING url = url. ENDFORM. " DRAG AND DROP.