300x250

# 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