SAP_ABAP 프로그램 구현 GRID-ALV CONTAINER 생성

2021. 10. 29. 14:34SAP_ABAP

728x90

ALV인스턴스를 물리적으로 화면에 보이게 하려면 스크린과 ALV GRID 컨트롤의 연결고리 역할을 하는 SAP 컨테이너 컨트롤이 반드시 존재하여야 한다.

 

SAP 컨트롤 종류

  1. SAP Tree
  2. SAP Picture
  3. SAP Textedit
  4. SAP Splitter
  • SAP 컨테이너도 다른 컨트롤을 포함하는 컨트롤의 하나이며, 부모 컨트롤(Parent Control) 이라고도 한다.

프로그램 및 스크린 생성

  1. 스크린 생성 후 =>레이아웃 버튼으로 스크린 페인터 실행
  2. Custom Control(사용자 제어) 아이콘을 클릭하여 화면에 영역을 지정
  3. 컨데이너를 더블클릭하여 이름 및 속성 설정
  4. 프로그램에서 컨테이너 이름의 객체 참조 변수를 생성
  5. CL_GUI_CUSTOM_CONTAINER 클래스를 참조하는 스크립트를 프로그램의 전역 변수로 선언한다.
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      *&---------------------------------------------------------------------*
      *& Report ZAVL
      *&---------------------------------------------------------------------*
      *&
      *&---------------------------------------------------------------------*
      REPORT ZAVL.
       
      DATA: con1_ref TYPE REF TO cl_gui_custom_container,
            con2_ref TYPE REF TO cl_gui_custom_container.
      cs
       
  6. 스크린 100번에 SAP Custom 컨테이너 오브젝트를 생성하기 위해 PBO 모듈을 생성
  7. CREATE OBJECT 구문으로 컨테이너 오브젝트를 생성
  8. 컨테이너 이름 지정 - 컨테이너 오브젝트와 스크린의 Custom Control 연결작업
    • 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
      *&---------------------------------------------------------------------*
      *& Module STATUS_0100 OUTPUT
      *&---------------------------------------------------------------------*
      *&
      *&---------------------------------------------------------------------*
      MODULE status_0100 OUTPUT.
      SET PF-STATUS '100_status'.
       
      ENDMODULE.
       
       
       
      *&---------------------------------------------------------------------*
      *& Module INIT_CON OUTPUT
      *&---------------------------------------------------------------------*
      *&
      *&---------------------------------------------------------------------*
      MODULE init_con OUTPUT.
       
        CREATE OBJECT con1_ref 
            EXPORTING 
              container_name =  'CON1'.
        
        CREATE OBJECT con2_ref 
           EXPORTING 
              container_name =  'C0N2 '.
        
      ENDMODULE.
      c
  9. 프로그램 내에서 100번 화면을 호출하는 스크립트를 추가 (Include 혹은 프로그램에 직접 추가)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
*&---------------------------------------------------------------------*
*& Report ZAVL
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZAVL.
 
DATA: con1_ref TYPE REF TO cl_gui_custom_container,
      con2_ref TYPE REF TO cl_gui_custom_container.
 
DATA : g_grid1 TYPE REF TO cl_gui_alv_grid,
      g_grid2 TYPE REF TO cl_gui_alv_grid.
 
 
 
 
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS '100_STATUS'.
SET TITLEBAR '0100'.
ENDMODULE.
 
 
 
*&---------------------------------------------------------------------*
*& Module INIT_CON OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE init_con OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
 
  CREATE OBJECT con1_ref
      EXPORTING
        container_name =  'CON1'.
 
  CREATE OBJECT con2_ref
     EXPORTING
        container_name =  'CON2'.
 
 
  CREATE OBJECT g_grid1
    EXPORTING
      i_parent = con1_ref.
 
  CREATE OBJECT g_grid2
    EXPORTING
      i_parent = con2_ref.
 
 
 
ENDMODULE.
 
 
START-OF-SELECTION.
CALL SCREEN 100.
cs
728x90

'SAP_ABAP' 카테고리의 다른 글

SAP_ABAP ALV 메서드  (0) 2021.10.29
SAP_ABAP 구현 ALV GRID 컨트롤 생성  (0) 2021.10.29
SAP_ABAP 프로그램 구현 GRID-ALV  (0) 2021.10.28
트랜젝션 생성하기 sap_abap  (0) 2021.10.27
SAP_ABAP Module Pool Program(모듈 풀)_2  (0) 2021.10.27