REPORT z_alv_popup.
DATA:go_popup TYPE REF TO cl_reca_gui_f4_popup,
gf_choice TYPE flag.
DATA : lo_display_settings TYPE REF TO cl_salv_display_settings,
i_contname TYPE lvc_title, "팝업 제목
columns TYPE REF TO cl_salv_columns_table,
column TYPE REF TO cl_salv_column.
DATA : lo_table TYPE REF TO cl_salv_table,
lo_columns TYPE REF TO cl_salv_columns.
**********************************************************************
*Internal 테이블
TYPES : BEGIN OF t_popup,
col1 TYPE char10,
col2 TYPE char10,
col3 TYPE char10,
END OF t_popup.
DATA : gs_popup TYPE t_popup.
DATA : gt_popup TYPE TABLE OF t_popup.
gs_popup-col1 = '123123'.
gs_popup-col2 = 'ASD'.
gs_popup-col3 = '13'.
APPEND gs_popup TO gt_popup.
gs_popup-col1 = '122323'.
gs_popup-col2 = 'ASD'.
gs_popup-col3 = '13'.
APPEND gs_popup TO gt_popup.
**********************************************************************
"기초 ALV팝업 세팅
i_contname = '팝업테이블 제목'.
TRY.
CALL METHOD cl_salv_table=>factory(
IMPORTING
r_salv_table = lo_table
CHANGING
t_table = gt_popup ).
CATCH cx_salv_msg.
ENDTRY.
**********************************************************************
*컬럼설정
columns = lo_table->get_columns( ).
DEFINE set_column_name.
column = columns->get_column( &1 ).
column->set_short_text( &2 ).
column->set_medium_text( &2 ).
column->set_long_text( &2 ).
END-OF-DEFINITION.
set_column_name : 'COL1' '컬럼1'.
set_column_name : 'COL2' '컬럼2'.
set_column_name : 'COL3' '컬럼3'.
**********************************************************************
"팝업 제목 설정
lo_display_settings = lo_table->get_display_settings( ).
lo_display_settings->set_list_header( i_contname ).
"컬럼 데이터 가져오기
lo_columns = lo_table->get_columns( ).
lo_columns->set_optimize( abap_true ).
"팝업 창 크기 설정
lo_table->set_screen_popup(
start_column = 16
end_column = 60
start_line = 5
end_line = 15 ).
lo_table->display( ).
개발자로서 배울 점이 많은 글이었습니다. 감사합니다.