SAP_ABAP

SAP_ABAP ALV 메서드

Hvvvi 2021. 10. 29. 17:50
728x90

ALV 메서드 = ALV 조회, ALV Refresh, ALV Sort 등

 

set_table_for_first_display : ALV GRID 컨트롤 인스턴스를 아웃풋 테이블에 조회되게 하는 메서드이다.

  • 프로그램을 실행하기전에 테이블을 정렬하거나 필터링하는 기능들을 사용할 수 있다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CALL METHOD <ref.var.to CL_GUI_ALV_GRID>
-> set_table_for_first_display
  EXPORTING
    I_STRUCTURE_NAME = <string of type DD02L-TABNAME>
    IS_VARIANT = <structure of type DISVARIAISIT>
    I_SAVE = <var.of TYPE cHAR01>
    I_DEFAULT = <var.of TYPE CHAR01>
    IS_LAYOUT = <Structure of type LVC_S_LAYO>
    IS_PRINT = <Structure of type LVC_S_PRHT>
    IT_SPECIAL_GROUPS = <internal table of type LVC_T_SGRP>
    IT_TOOLBAR_EXCLUDING = <internal table of typeUI_FUNCTIONS>
  CHANGING
    IT_OUTTAB = <internal table>
    IT_FIELDCATALOG = <internal table of type LVC_T_FCAT>
    IT_SORT = <internal table of type LVC_T_SORT>
    IT_FILTER = <internal table of typeLVC_T_FILT>
cs
  • I_STRUCTUR_NAME 파라미터
    • SFLIGHT와 같은 ABAP Dictionary 구조체 이름을 입력하여 아웃풋 테이블을 만든다.
    • 필드 카탈로그는 구조체에 맞게 자동으로 생성된다.
  • IS_VARIANT 파라미터
    • ALV 리스트 변형(Variant)을 설정할 수 있다.
    • 조회 화면에서 필드의 순서를 변경, 정렬하는 작업을 하나의 Variant으로 저장
    • 다음 조회 시 같은 포맷으로 조회
  • I_SAVE 파라미터
    • 레이아웃 저장
  • I_DEFAULT 파라미터
    • 사용자가 Default 변형을 저장할 수 있는지롤 결정하게 한다.
  • IS_LAYOUT 파라미터
      • 합계 금액을 보여주거나 줄무늬 패턴으로 조회되도록 하는 등
      • ALV GRID 컨트롤의 화면 속성 정의
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    *&---------------------------------------------------------------------*
    *& Report ZASP
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT ZASP.
     
    DATA : gs_layout TYPE lvc_s_layo.
     
    DATA : con1_ref TYPE REF TO cl_gui_custom_container.
     
    DATA : g_grid TYPE REF TO cl_gui_alv_grid,
          gs_variant LIKE disvariant,
          gs_cs_variant LIKE disvariant,
          gt_sflight TYPE TABLE OF sflight.
     
     
    PERFORM setting_layout CHANGING gs_layout.
     
    FORM setting_layout CHANGING p_layout TYPE lvc_s_layo.
     
      p_layout-cwidth_opt = 'X'.
    * 칼럼 길이 자동조절
      p_layout-grid_title = 'LAYOUTTEST'.
    * 타이틀 바
      p_layout-sel_mode = 'D'.
    * 선택모드: 멀티 선택 가능
      p_layout-zebra = 'X'.
    * Sripe 속성 지정
     
     
    ENDFORM. *"setting_layout"
     
     
    START-OF-SELECTION.
    CALL METHOD g_grid->set_table_for_first_display
      EXPORTING
         I_stRUcture_name = 'SFLIGHT'
         I_save = 'A'
         Is_variant = gs_variant
         I_default = ' '
         Is_layout = gs_layout
    CHANGING
        it_outtab = gt_sflight.
    cs
     
  • IT_OUTTAB 파라미터
    • 조회될 데이터의 아웃풋 테이블을 정의
  • IT_SORT 파라미터
    • ALV실행 시 데이터가 정렬된 상태로 조회
    • LVC_T_SORT 타입으로 선언된 인터널 테이블을 선언하여 정렬하고자 하는 필드를 추가
  • IT_FIELDCATALOG 파라미터
    • 필드 카탈로그 설정

 

728x90