[SAP] CLASS ALV_CUSTOM_CONTAINER

이안·2024년 2월 20일

SAP

목록 보기
27/30
post-thumbnail

CUSTOM_CONTAINER

1. CUSTOM CONTROL AREA 그리기

CALL SCREEN 100 → LAYOUT에서 직접 그리기

  • 이름 지정 중요 보통 ‘CON1’(CONTROL이라는 뜻)
  • 활성화 중요

2. CONTAINER (객체 참조 변수 생성)

  • CONTAINER 변수 생성
DATA : GC_CUSTOM TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

CALL SCREEN 100 → FLOW LOGIC → MODULE SET_ALV(O01) → PERFORM CREATE_OBJECT

CREATE OBJECT GC_CUSTOM
  EXPORTING
*    PARENT                      =
    CONTAINER_NAME              = 'CON1' "연결할 CUSTOM CONTROL 이름
*    STYLE                       =
*    LIFETIME                    = lifetime_default
*    REPID                       =
*    DYNNR                       =
*    NO_AUTODEF_PROGID_DYNNR     =
*  EXCEPTIONS
*    CNTL_ERROR                  = 1
*    CNTL_SYSTEM_ERROR           = 2
*    CREATE_ERROR                = 3
*    LIFETIME_ERROR              = 4
*    LIFETIME_DYNPRO_DYNPRO_LINK = 5
*    others                      = 6
    .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

3. GRID

  • GRID 변수 생성
DATA : GC_GRID TYPE REF TO CL_GUI_ALV_GRID.

PERFORM CREATE_OBJECT

CREATE OBJECT GC_GRID
  EXPORTING
*    I_SHELLSTYLE      = 0
*    I_LIFETIME        =
    I_PARENT          = GC_CUSTOM "컨테이너 변수 이름
*    I_APPL_EVENTS     = space
*    I_PARENTDBG       =
*    I_APPLOGPARENT    =
*    I_GRAPHICSPARENT  =
*    I_NAME            =
*    I_FCAT_COMPLETE   = SPACE
*  EXCEPTIONS
*    ERROR_CNTL_CREATE = 1
*    ERROR_CNTL_INIT   = 2
*    ERROR_CNTL_LINK   = 3
*    ERROR_DP_CREATE   = 4
*    others            = 5
    .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

4. ALV (메소드 호출)

MODULE SET_ALV(O01) → PERFORM ALV_DISPLAY

CALL METHOD GC_GRID->SET_TABLE_FOR_FIRST_DISPLAY "METHOD 이름
  EXPORTING
*    I_BUFFER_ACTIVE               =
*    I_BYPASSING_BUFFER            =
*    I_CONSISTENCY_CHECK           =
*    I_STRUCTURE_NAME              =
*    IS_VARIANT                    =
*    I_SAVE                        =
*    I_DEFAULT                     = 'X'
    IS_LAYOUT                     = GS_LAYOUT
*    IS_PRINT                      =
*    IT_SPECIAL_GROUPS             =
*    IT_TOOLBAR_EXCLUDING          =
*    IT_HYPERLINK                  =
*    IT_ALV_GRAPHICS               =
*    IT_EXCEPT_QINFO               =
*    IR_SALV_ADAPTER               =
  CHANGING
    IT_OUTTAB                     = GT_STUDENT 
    IT_FIELDCATALOG               = GT_FIELDCAT
    IT_SORT                       = GT_SORT
*    IT_FILTER                     =
*  EXCEPTIONS
*    INVALID_PARAMETER_COMBINATION = 1
*    PROGRAM_ERROR                 = 2
*    TOO_MANY_LINES                = 3
*    others                        = 4
        .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

0개의 댓글