본문 바로가기
SAP/SAP ABAP 스터디

ABAP 스터디 4주차 리뷰 [종료]

by 꿈청(꿈꾸는청년) 2021. 4. 18.
반응형

 

오늘은 스터디 4주차 리뷰를 진행하도록 하겠습니다.

그리고 어제로써 스터디가 종료되었는데요, 여러분들이랑 함께해서 너무 좋았고, 행복했습니다 :)

 

아참, 팽수보시나요? 요즘 팽수에 푹 빠졌는데.. 너무 귀엽더라고요 말도 재치있게 잘하고 

쓸데없는 잡담이었습니다 ㅎㅎ. 리뷰를 진행할게요 ^^*

 

 

4주차 리뷰

 - 프로그램 수정/저장

 - Tabstrip 

 - Tabstrip 심화

 

 

4주차의 내용은 3주차 진행했던 프로그램 수정/저장은 이전 시간에 했던 것을 복습하고 추가로 수정, 저장, Data changed에 대해 더 알아보았고, Tabstrip을 진행하였습니다.

 


Toolbar 수정(edit) 버튼 on/off 기능

 

 

http://only10.tistory.com/108

 

수정 버튼을 통해 데이터 수정 on/off 기능을 활용하고 스탠다드 툴바 역시 활성화하여 사용을 할 수 있습니다. 그러기 위해선 먼저 set_ready_for_input 에서 비활성 OFF: 0 먼저 입력해야겠죠?

 

 

 

 


CREATE GUID 생성

 

테이블 저장 시 고유한(Unique) key를 생성할 수 있는 방법이 있었죠?

 

테이블에 고유한 역할을 할 '필드추가' 및 GUID TYPE 설정 그리고 저장 로직에 고유한 GUID를 생성해서 

매핑 시켜주어야 합니다 ^^

 

only10.tistory.com/110

 

 

 

 

 


Tabstrip 실습

 

Tabstrip은 처음 접하면 햇갈릴 수는 있으나, 한번 제대로 배워놓으면 어렵지 않은 개념입니다. 

 

only10.tistory.com/111

 

 

 

 


Tabstrip 심화

 

 

Tabstrip을 구성하는 건 어렵지 않으나, 탭안에 여러개의 GRID가 있을 시에 각 영역과 역할에 따른 DATA 선언을 잘 해놓는게 중요합니다. 안그러면 데이터를 구성할 때 많이 햇갈릴 수 있어요.

 

 

 

INCLUDE TOP

DATA : G_GRID_110_1             TYPE REF TO CL_GUI_ALV_GRID,
       G_GRID_110_2             TYPE REF TO CL_GUI_ALV_GRID,
       G_GRID_110_3             TYPE REF TO CL_GUI_ALV_GRID,
       G_CUSTOM_CONTAINER_110_1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
       G_CUSTOM_CONTAINER_110_2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
       G_CUSTOM_CONTAINER_110_3 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
       
DATA: GT_FIELDCAT_110_1 TYPE LVC_T_FCAT,
      GT_FIELDCAT_110_2 TYPE LVC_T_FCAT,
      GT_FIELDCAT_110_3 TYPE LVC_T_FCAT.

DATA:  GT_FIELDCAT   TYPE LVC_T_FCAT,
       GS_FIELDCAT   TYPE LVC_S_FCAT,
       GT_SORT       TYPE LVC_T_SORT,
       GS_SORT       TYPE LVC_S_SORT,
       GS_VARIANT    TYPE DISVARIANT,
       GS_STABLE     TYPE lvc_s_stbl,
       GS_LAYOUT     TYPE LVC_S_LAYO.

"항공사 수
DATA: BEGIN OF GS_LIST_110_1.

  DATA:
      NAME TYPE CHAR20,
      CNT  TYPE I,

      END OF GS_LIST_110_1,GT_LIST_110_1 LIKE STANDARD TABLE OF GS_LIST_110_1.


"항공사 현황
DATA: BEGIN OF GS_LIST_110_2.

  DATA:
      NAME TYPE CHAR2,
      MEMO TYPE CHAR20,
      END OF GS_LIST_110_2,GT_LIST_110_2 LIKE STANDARD TABLE OF GS_LIST_110_2.


"항공사 총 누적수익합계
DATA: BEGIN OF GS_LIST_110_3.

  DATA:
      NAME     TYPE CHAR20,
      AMT(16)  TYPE P DECIMALS 2,

      END OF GS_LIST_110_3,GT_LIST_110_3 LIKE STANDARD TABLE OF GS_LIST_110_3.

 

MAIN SCREEN 100

MODULE SET_ALV_0110 OUTPUT.

  IF G_CUSTOM_CONTAINER_110_1 IS INITIAL.
    PERFORM CREATE_ALV_0110.
  ELSE.
    PERFORM REFRESH_ALV USING: G_GRID_110_1,
                               G_GRID_110_2,
                               G_GRID_110_3.
  ENDIF.

ENDMODULE.

 

PERFORM CREATE_ALV_0110

FORM CREATE_ALV_0110 .

  PERFORM SET_GRID_110.
  PERFORM SET_LAYOUT.

  PERFORM SET_FIELDCAT_110_1.
  PERFORM SET_FIELDCAT_110_2.
  PERFORM SET_FIELDCAT_110_3.

  GS_LAYOUT-GRID_TITLE = '항공사 수'.
  CALL METHOD G_GRID_110_1->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_BYPASSING_BUFFER            = 'X'
      IS_VARIANT                    = GS_VARIANT
      I_SAVE                        = 'A'
      IS_LAYOUT                     = GS_LAYOUT
      IT_TOOLBAR_EXCLUDING          = GT_EXCLUDE
    CHANGING
      IT_OUTTAB                     = GT_LIST_110_1 "<--------TOP
      IT_FIELDCATALOG               = GT_FIELDCAT_110_1
      IT_SORT                       = GT_SORT
    EXCEPTIONS
      INVALID_PARAMETER_COMBINATION = 1
      PROGRAM_ERROR                 = 2
      TOO_MANY_LINES                = 3
      OTHERS                        = 4.

  GS_LAYOUT-GRID_TITLE = '항공사 현황'.
  CALL METHOD G_GRID_110_2->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_BYPASSING_BUFFER            = 'X'
      IS_VARIANT                    = GS_VARIANT
      I_SAVE                        = 'A'
      IS_LAYOUT                     = GS_LAYOUT
      IT_TOOLBAR_EXCLUDING          = GT_EXCLUDE
    CHANGING
      IT_OUTTAB                     = GT_LIST_110_2 "<--------TOP
      IT_FIELDCATALOG               = GT_FIELDCAT_110_2
      IT_SORT                       = GT_SORT
    EXCEPTIONS
      INVALID_PARAMETER_COMBINATION = 1
      PROGRAM_ERROR                 = 2
      TOO_MANY_LINES                = 3
      OTHERS                        = 4.

  GS_LAYOUT-GRID_TITLE = '항공사 수익현황'.
  CALL METHOD G_GRID_110_3->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_BYPASSING_BUFFER            = 'X'
      IS_VARIANT                    = GS_VARIANT
      I_SAVE                        = 'A'
      IS_LAYOUT                     = GS_LAYOUT
      IT_TOOLBAR_EXCLUDING          = GT_EXCLUDE
    CHANGING
      IT_OUTTAB                     = GT_LIST_110_3 "<--------TOP
      IT_FIELDCATALOG               = GT_FIELDCAT_110_3
      IT_SORT                       = GT_SORT
    EXCEPTIONS
      INVALID_PARAMETER_COMBINATION = 1
      PROGRAM_ERROR                 = 2
      TOO_MANY_LINES                = 3
      OTHERS                        = 4.

ENDFORM.

 

PERFORM SET_GRID_110

 

FORM SET_GRID_110 .


  "SCREEN1
  CREATE OBJECT g_custom_container_110_1
    EXPORTING
      container_name = 'CON_110_1'.

  IF sy-subrc <> 0.
    MESSAGE a000(tree_control_msg).
  ENDIF.

  CREATE OBJECT g_grid_110_1
    EXPORTING
      i_parent = g_custom_container_110_1.



  "SCREEN 2
  CREATE OBJECT g_custom_container_110_2
    EXPORTING
      container_name = 'CON_110_2'.

  IF sy-subrc <> 0.
    MESSAGE a000(tree_control_msg).
  ENDIF.

  CREATE OBJECT g_grid_110_2
    EXPORTING
      i_parent = g_custom_container_110_2.



  "SCREEN 3
  CREATE OBJECT g_custom_container_110_3
    EXPORTING
      container_name = 'CON_110_3'.

  IF sy-subrc <> 0.
    MESSAGE a000(tree_control_msg).
  ENDIF.

  CREATE OBJECT g_grid_110_3
    EXPORTING
      i_parent = g_custom_container_110_3.


ENDFORM.

 

PERFORM SET_FILEDCAT_0110_1

PERFORM SET_FILEDCAT_0110_2

PERFORM SET_FILEDCAT_0110_3

FORM SET_FIELDCAT_110_1 .

  CLEAR GS_FIELDCAT.

  GS_FIELDCAT-FIELDNAME = 'NAME'.

  APPEND GS_FIELDCAT TO GT_FIELDCAT_110_1.

  GS_FIELDCAT-FIELDNAME = 'CNT'.

  APPEND GS_FIELDCAT TO GT_FIELDCAT_110_1.

ENDFORM.
FORM SET_FIELDCAT_110_2 .

  CLEAR GS_FIELDCAT.

  GS_FIELDCAT-FIELDNAME = 'NAME'.

  APPEND GS_FIELDCAT TO GT_FIELDCAT_110_2.

  GS_FIELDCAT-FIELDNAME = 'MEMO'.

  APPEND GS_FIELDCAT TO GT_FIELDCAT_110_2.

ENDFORM.
FORM SET_FIELDCAT_110_3 .


  CLEAR GS_FIELDCAT.

  GS_FIELDCAT-FIELDNAME = 'NAME'.

  APPEND GS_FIELDCAT TO GT_FIELDCAT_110_3.

  GS_FIELDCAT-FIELDNAME = 'AMT'.

  APPEND GS_FIELDCAT TO GT_FIELDCAT_110_3.

ENDFORM.

 

PERFORM SET_LAYOUT

FORM SET_LAYOUT .

  GS_LAYOUT-NO_TOOLBAR = 'X'.
  GS_LAYOUT-SMALLTITLE = 'X'.
  GS_LAYOUT-NO_HEADERS = 'X'.

ENDFORM.

 

SUBSCREEN 생성 및 세팅

 

CON_110_1 , CON_110_2, CON_110_3

 

 

여러분 4주차 동안 고생많았습니다. 여러분 모두 다 올해 더 잘되실꺼에요. 

반응형

'SAP > SAP ABAP 스터디' 카테고리의 다른 글

ABAP 스터디 1주차 학습내용  (5) 2021.06.10
SAP ABAP [ 6월 스터디 모집 ]  (21) 2021.06.07
ABAP 스터디 결과물 정리  (0) 2021.04.13
ABAP 스터디 3주차 리뷰  (0) 2021.04.11
SAP ABAP 스터디 2주차 리뷰  (1) 2021.04.05

댓글