report zsalv_045 .
*----------------------------------------------------------------------*
* CLASS lcl_handle_events DEFINITION
*----------------------------------------------------------------------*
class lcl_handle_events definition.
public section.
methods:
on_user_command for event added_function of cl_salv_events
importing e_salv_function.
endclass. "lcl_handle_events DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_handle_events IMPLEMENTATION
*----------------------------------------------------------------------*
class lcl_handle_events implementation.
method on_user_command.
perform handle_user_command using e_salv_function.
endmethod. "on_user_command
endclass. "lcl_handle_events IMPLEMENTATION
class lcl_report definition.
public section.
types: ty_t_sflights type standard table of sflights.
data: t_data type ty_t_sflights.
data: o_salv type ref to cl_salv_table.
data: o_salv_model type ref to lcl_salv_model.
methods:
get_data,
generate_output.
endclass. "lcl_report DEFINITION
data gt_itab type table of sflight.
data gr_table type ref to cl_salv_table.
data gr_event type ref to lcl_handle_events.
data gr_functions type ref to cl_salv_functions_list.
data gr_container type ref to cl_gui_custom_container.
data ok_code type syucomm.
start-of-selection.
select * from sflight into table gt_itab
up to 25 rows.
call screen 100.
*&---------------------------------------------------------------------*
*& Module 0100_PBO OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module 0100_pbo output.
set pf-status '0100'.
if gr_container is not bound.
*1. 컨테이너 생성
create object gr_container
exporting
container_name = 'CONTAINER'.
*2. ALV 테이블 및 데이터 전달
cl_salv_table=>factory(
exporting
r_container = gr_container
container_name = 'CONTAINER'
importing
r_salv_table = gr_table
changing
t_table = gt_itab ).
*3. ALV 기본 기능 버튼 설정
gr_functions = gr_table->get_functions( ).
* gr_functions->set_default( ).
gr_functions->set_all( abap_true ).
include <icon>.
data : l_icon type string.
l_icon = icon_refresh.
gr_functions->add_function(
name = 'REFRESH'
icon = l_icon
text = 'REFRESH'
tooltip = 'REFRESH'
position = if_salv_c_function_position=>right_of_salv_functions
).
*4. 이벤트 등록
data lr_event type ref to cl_salv_events_table.
lr_event = gr_table->get_event( ).
create object gr_event.
set handler gr_event->on_user_command for lr_event.
*5. ALV 호출
gr_table->display( ).
endif.
endmodule. " 0100_PBO OUTPUT
*&---------------------------------------------------------------------*
*& Module 0100_PAI INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module 0100_pai input.
case ok_code.
when 'BACK' or 'EXIT' or 'CANC'.
set screen 0.
leave screen.
endcase.
endmodule. " 0100_PAI INPUT
*&---------------------------------------------------------------------*
*& Form HANDLE_USER_COMMAND
*&---------------------------------------------------------------------*
form handle_user_command using p_function type salv_de_function.
data: lo_grid type ref to cl_gui_alv_grid,
lo_full_adap type ref to cl_salv_fullscreen_adapter.
data: ls_layout type lvc_s_layo.
data: lo_report type ref to lcl_report.
case p_function.
when 'REFRESH'.
* Contorller
call method lo_report->o_salv_model->grabe_controller.
* Adapter
call method lo_report->o_salv_model->grabe_adapter.
* Fullscreen Adapter (Down Casting)
lo_full_adap ?= lo_report->o_salv_model->o_adapter.
* Get the Grid
lo_grid = lo_full_adap->get_grid( ).
* Got the Grid .. ?
if lo_grid is bound.
* Editable ALV
ls_layout-edit = 'X'.
* Set the front layout of ALV
call method lo_grid->set_frontend_layout
exporting
is_layout = ls_layout.
* refresh the table
call method lo_grid->refresh_table_display.
endif.
when others.
endcase.
endform. "handle_user_command
*&---------------------------------------------------------------------*
*& Form REFRESH
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form refresh .
select * from sflight
into corresponding fields of table gt_itab
up to 10 rows.
gr_table->refresh( ).
endform. " REFRESH
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
669 | <b>easy abap 소스 전체 파일 입니다. [188] | sapjoy | 2008.05.01 | 10122 |
668 | REPORT z18_033 [47] | sapjoy | 2008.10.13 | 9031 |
667 | REPORT Z15_003 [49] | sapjoy | 2008.04.15 | 7498 |
666 | report zunicode_027. [4] | sapjoy | 2008.11.21 | 6262 |
665 | REPORT Z20_01. | sapjoy | 2012.08.01 | 5059 |
664 | REPORT z18_03. | sapjoy | 2012.08.01 | 4556 |
663 | Z01_012 [9] | sapjoy | 2006.12.02 | 4545 |
662 | Z_EXPORT_GRAPHIC_FROM_SE78 [1] | sapjoy | 2011.03.28 | 4443 |
661 | report zsapdoi_002. | sapjoy | 2008.12.26 | 4405 |
660 | REPORT zsmw0010 | sapjoy | 2010.10.11 | 4313 |
659 | REPORT z18_028 | sapjoy | 2007.04.09 | 4278 |
» | report zsalv_045 . | sapjoy | 2010.08.20 | 4262 |
657 | Dynamic Table Maintenance [1] | sapjoy | 2006.12.04 | 4093 |
656 | REPORT ZTABLE_UTIL | sapjoy | 2010.10.09 | 4010 |
655 | REPORT Z19_02. | sapjoy | 2012.08.01 | 3923 |
654 | report zsaptip_009 [1] | sapjoy | 2010.12.10 | 3852 |
653 | INCLUDE ZXF04U01 | sapjoy | 2008.12.15 | 3695 |
652 | REPORT ZTEST_ABAPTPDF | sapjoy | 2010.10.09 | 3691 |
651 | REPORT Z_3DGRAPH. [1] | sapjoy | 2010.10.17 | 3659 |
650 | REPORT zfalv_011. | sapjoy | 2011.02.16 | 3624 |