[ABAP] 인터널테이블 ALV-POPUP 띄우기

SAPWISE·2023년 8월 7일
0
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( ).
profile
SAP, ERP, ABAP

1개의 댓글

comment-user-thumbnail
2023년 8월 7일

개발자로서 배울 점이 많은 글이었습니다. 감사합니다.

답글 달기

관련 채용 정보