You are on page 1of 2

REPORT zsb_alv_same_screen.

DATA: wa_sflight TYPE sflight, i_sflight TYPE STANDARD TABLE OF sflight INITIAL SIZE 0, oref_dock TYPE REF TO cl_gui_docking_container, oref_alv TYPE REF TO cl_gui_alv_grid, i_exclude TYPE TABLE OF syucomm. SELECT-OPTIONS: s_carrid FOR wa_sflight-carrid, s_connid FOR wa_sflight-connid, s_fldate FOR wa_sflight-fldate. AT SELECTION-SCREEN OUTPUT. APPEND 'ONLI' TO i_exclude. APPEND 'SJOB' TO i_exclude. APPEND 'PRIN' TO i_exclude. CALL FUNCTION EXPORTING p_status p_program TABLES p_exclude 'RS_SET_SELSCREEN_STATUS' = sy-pfkey = sy-repid = i_exclude.

AT SELECTION-SCREEN. CHECK sy-ucomm = space. SELECT * FROM sflight INTO TABLE i_sflight WHERE carrid IN s_carrid AND connid IN s_connid AND fldate IN s_fldate. IF sy-subrc = 0. IF oref_dock IS NOT BOUND. CREATE OBJECT oref_dock EXPORTING repid = sy-repid dynnr = '1000' side = cl_gui_docking_container=>dock_at_bottom ratio = 70 EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 lifetime_dynpro_dynpro_link = 5 OTHERS = 6 . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF.

IF oref_alv IS NOT BOUND. CHECK oref_dock IS BOUND. CREATE OBJECT oref_alv EXPORTING i_parent = oref_dock EXCEPTIONS error_cntl_create = 1 error_cntl_init = 2 error_cntl_link = 3 error_dp_create = 4 OTHERS = 5. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CHECK oref_alv IS BOUND. CALL METHOD oref_alv->set_table_for_first_display EXPORTING i_structure_name = 'SFLIGHT' CHANGING it_outtab = i_sflight EXCEPTIONS invalid_parameter_combination = 1 program_error = 2 too_many_lines = 3 OTHERS = 4. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ELSE. CALL METHOD oref_alv->refresh_table_display EXCEPTIONS finished = 1 OTHERS = 2. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. ENDIF.

You might also like