250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 리비안
- 트럼프당선
- 경제뉴스레터
- 재경관리사원가회계
- 회계원리개념
- 회계원리 개념
- 머니네버슬립
- 재무상태표
- 오픈AI
- 뉴스레터추천
- 회계원리
- 예금자보호한도
- 파리올림픽
- TSMC
- 뉴닉
- 엔비디아
- 비트코인
- 재경관리사개념
- 서울아파트
- 뉴스레터정리
- 바이든
- SAP CO
- 미스터동
- 돈키레터
- 오물풍선
- 뉴스레터
- 계약갱신청구권
- 트럼프
- 어피티
- 쉬인
Archives
- Today
- Total
ASAP
[ABAP] POPUP ALV 팝업스크린 코드 (ROW COLOR, 통화키 추가) 본문
728x90
안녕하세요.
오늘은 ALV화면에서 이벤트 발생 후 특정 인터널테이블을 ALV팝업창으로 띄어보겠습니다.
코드는 아래 블로그 글을 참고했는데, 저는 row 색상 추가가 필요해서 아래 코드에서 조금 변형하였습니다.
해당 코드는 CL_SALV_TABLE을 활용한 코드로,
CL_SALV_TABLE은 SAP ABAP의 클래스로 ALV그리드를 생성하고 조회하는 데 사용합니다.
https://velog.io/@96hyunjun/ABAP-인터널테이블-ALV-POPUP-띄우기 참고
REPORT z_alv_popup.
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,
CURRENCY TYPE char10,
COLOR TYPE LVC_T_SCOL,
END OF t_popup.
DATA : gs_popup TYPE t_popup.
DATA : gt_popup TYPE TABLE OF t_popup.
gt_popup = value #(
( col1 = '100' col2 = '200' CURRENCY = 'KRW' )
( col1 = '1' col2 = '2' CURRENCY = 'KRW' )
( col1 = '3' col2 = '5' CURRENCY = 'KRW' )
).
"Row 색상 지정
DATA LS_COLOR TYPE LVC_S_SCOL.
LOOP AT GT_POPUP ASSIGNING FIELD-SYMBOL(<FS_POPUP>).
CLEAR ls_color.
ls_color-color-col = 5.
ls_color-color-int = ls_color-color-inv = 0.
if <fs_popup>-col1 > 10. "row에 색상이 들어가는 조건
APPEND ls_color to <fs_popup>-color.
endif.
ENDLOOP.
**********************************************************************
"기초 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.
DEFINE set_currency.
column = columns->get_column( &1 ).
column->set_currency_column( &2 ).
END-OF-DEFINITION.
set_column_name : 'COL1' '컬럼1',
'COL2' '컬럼2',
'CURRENCY' '통화키'.
set_currency : 'COL1' 'CURRENCY',
'COL2' 'CURRENCY'.
**********************************************************************
"팝업 제목 설정
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->get_columns( )->set_color_column('COLOR').
lo_table->display( ).
728x90
'SAP(ABAP) > 문법' 카테고리의 다른 글
[ABAP] Virtual Sort 하는 법, sort 할 때 key 다르게 설정하는 법 (0) | 2023.06.07 |
---|---|
[ABAP] LOOP AT GROUP BY 사용법 + 예제 (0) | 2023.03.07 |
[SAP/ABAP] ALV Subtotal 맨 위에 표기 (0) | 2023.01.11 |
[ABAP] CLEAR vs REFRESH vs FREE (2) | 2022.08.22 |