300x250
728x90
# TOP OF PAGE를 알기 전
# ALV Split을 알아야 만들기 쉽고 이해하기 쉽다. 만약 ALV Split에 대해서 알고 싶으면 클릭해 보자.
2023.08.12 - [.SAP/..ABAP] - SAP ALV Split(화면 분할) 정리
활용이 된다는 점 참고 바란다.
# 시작하기 전
Docking Container와 Split Container에 대한 것들은 넘어가도록 하겠다.
우리가 해야 할 것은 순서이다.
1. DATA 선언, Object 설정(PBO)
2. Event 설정 (Class)
3. Event 실행( TOP-OF-PAGE 출력 ) (PBO)
으로 나누어진다.
#1. DATA 선언, Object 설정
1. "CL_DD_DOCUMENT"의 Class을 선언해 준다. ( GO_GRID01은 필요가 없다 )
( PBO )
2. Split 분할과 Container 설정과 위치 설정을 해보자.
# 여기까지는 위에 SAP ALV Split 정리에서 다룬 내용이다. 참고 바란다.
변경된 점은 Grid 설정과 Container 위치 설정
이대로 실행해 보자.
#2. Event 실행하기 전 설정
1. Class을 "LCL_EVENT_RECEIVER01" 다음과 같이 설정하고 또한 Methods를 "TOP_OF_PAGE"로 설정하자.
2. 이제 "ADD_TEXT"을 통해서 TEXT를 추가해 보자.
# 다음과 같이 설정을 하려고 한다.
# HEADER TITLE은 다음과 같이 설정해 보자.
# Document는 다음과 같이 설정해 보자.
3. "NEW_LINE"을 통해서 한 줄 바꿈( 띄어쓰기 )을 해보자.
4. 이제 TOP-OF-PAGE를 실행시키기 위한 준비를 해보자.
# DISPLAY_DOCUMENT = 설정한 문서 출력
로직
더보기
CLASS LCL_EVENT_RECEIVER01 DEFINITION.
PUBLIC SECTION.
METHODS : TOP_OF_PAGE
FOR EVENT TOP_OF_PAGE OF CL_GUI_ALV_GRID
IMPORTING E_DYNDOC_ID.
ENDCLASS.
*----------------------------------------------------------------------*
* LOCAL CLASSES: IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS LCL_EVENT_RECEIVER01 IMPLEMENTATION.
METHOD TOP_OF_PAGE.
"--------------------HEADER TITLE--------------------------------- "
CALL METHOD E_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = 'GAMJA TOP-OF-PAGE'
SAP_STYLE = CL_DD_AREA=>KEY
SAP_FONTSIZE = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_HEADING.
"----------------------------------------------------------------- "
CALL METHOD E_DYNDOC_ID->NEW_LINE( ). "한줄바꿈"
CALL METHOD E_DYNDOC_ID->NEW_LINE( ). "한줄바꿈"
CALL METHOD E_DYNDOC_ID->NEW_LINE( ). "한줄바꿈"
CALL METHOD E_DYNDOC_ID->NEW_LINE( ). "한줄바꿈"
"------------------------------------------------------------------- "
DATA: LV_ID TYPE SDYDO_TEXT_ELEMENT,
LV_CONID TYPE SDYDO_TEXT_ELEMENT.
LV_ID = PA_ID. " Parameter 값 : 항공사 ID "
CALL METHOD E_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = '항공사 ID : '
SAP_STYLE = CL_DD_AREA=>KEY
SAP_FONTSIZE = CL_DD_AREA=>LARGE
SAP_COLOR = CL_DD_AREA=>LIST_NORMAL.
CALL METHOD E_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = LV_ID
SAP_STYLE = CL_DD_AREA=>KEY
SAP_FONTSIZE = CL_DD_AREA=>LARGE
SAP_COLOR = CL_DD_AREA=>LIST_NORMAL.
"------------------------------------------------------------------- "
CALL METHOD E_DYNDOC_ID->NEW_LINE( ). "한줄바꿈 "
CALL METHOD E_DYNDOC_ID->NEW_LINE( ). "한줄바꿈 "
"------------------------------------------------------------------- "
LV_CONID = PA_COND. " Parameter 값 : 항공편 연결 번호 "
CALL METHOD E_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = '항공사 연결 번호 : '
SAP_STYLE = CL_DD_AREA=>KEY
SAP_FONTSIZE = CL_DD_AREA=>LARGE
SAP_COLOR = CL_DD_AREA=>LIST_NORMAL.
CALL METHOD E_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = LV_CONID
SAP_STYLE = CL_DD_AREA=>KEY
SAP_FONTSIZE = CL_DD_AREA=>LARGE
SAP_COLOR = CL_DD_AREA=>LIST_NORMAL.
"------------------------------------------------------------------- "
" TOP-OF-PAGE 실행 "
CALL METHOD E_DYNDOC_ID->DISPLAY_DOCUMENT
EXPORTING
REUSE_CONTROL = 'X'
PARENT = GO_CONT01.
ENDMETHOD. "top_of_page"
ENDCLASS.
DATA:
G_EVENT_RECEIVER01 TYPE REF TO LCL_EVENT_RECEIVER01.
( PBO )
# 3. Event 실행( TOP-OF-PAGE 출력 )
1. 다시 PBO에 SET_TABLE_FOR_FRIST_DISPLAY 선언이 되어있는 곳으로 돌아가보자.
2. TOP_OF_PAGE에 대한 SET HANDLER을 통해서 설정해 보자.
또한 TOP에서 선언했던 GO_DOC_01( CL_DD_DOCUMENT )에 대한 STYLE를 선언하자.
'ALV_GRID'는 Default
3. TOP_OF_PAGE를 실행하기 전에 Document 초기화를 하자
4. Event을 실행시켜 보자.
# 여기서 중요한 것은 GO_GRID02을 통해서 Event을 실행시켜야 한다.
로직
더보기
"-------------------TOP_OF_PAGE Event 설정-------------------- "
SET HANDLER
G_EVENT_RECEIVER01->TOP_OF_PAGE FOR GO_GRID02.
CREATE OBJECT GO_DOC_01
EXPORTING
STYLE = 'ALV_GRID'.
" ------------------Document INIT(초기화)--------------------- "
CREATE OBJECT G_EVENT_RECEIVER01.
CALL METHOD GO_DOC_01->INITIALIZE_DOCUMENT
EXPORTING
BACKGROUND_COLOR = CL_DD_AREA=>COL_TEXTAREA.
"-------------------TOP_OF_PAGE Event 실행----------------------- "
CALL METHOD GO_GRID02->LIST_PROCESSING_EVENTS
EXPORTING
I_EVENT_NAME = 'TOP_OF_PAGE' " Class에서 선언했던 Method 선언해 보자. "
I_DYNDOC_ID = GO_DOC_01. " TOP에서 선언했던 Document를 넣어보자. "
실행시켜 보자.
끝.
도움이 되셨으면 하단에 있는 광고 한번씩 눌러주세유!!
728x90
'.ABAP > ..ALV' 카테고리의 다른 글
SAP ALV Blank(공백) 정리 (1) | 2024.01.04 |
---|---|
SAP ALV LIST Button(버튼) 추가 (4) | 2023.10.17 |
SAP ALV Split(화면 분할) 정리 (6) | 2023.08.12 |
SAP ALV Buffer 초기화 (2) | 2022.09.16 |
SAP ALV cell edit 설정( Enabled, Disabled ) (3) | 2022.04.15 |