300x250
728x90

# TOP OF PAGE를 알기 전


# ALV Split을 알아야 만들기 쉽고 이해하기 쉽다. 만약 ALV Split에 대해서 알고 싶으면 클릭해 보자.

2023.08.12 - [.SAP/..ABAP] - SAP ALV Split(화면 분할) 정리

 

SAP ALV Split(화면 분할) 정리

ALV Split이란? ALV( ABAP List View )을 여러 개 보여주고 싶거나 분할해서 보여주거나 등등... 말 그대로 ALV 화면 분할이라고 생각하면 된다. 시작하기 앞서 우리가 필요로 하는 OBJECT와 Grid을 생성해 주

potato98.tistory.com

활용이 된다는 점 참고 바란다. 

 

# 시작하기 전 


Docking ContainerSplit 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는 다음과 같이 설정해 보자.

PA_ID와 PA_COND 타입 참고바람.

 

 

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. 다시 PBOSET_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