SAP/ABAP

(ALV) ALV-1

Radler 2022. 5. 15. 00:35

ALV그려야함 -> 'SCR'EEN만 기억하자

 

S! C! R!

 

1. S = 'S'CREEN

위에 

2. C = 'C'ONTAINER

위에

3. R = G'R'ID 

을 얹는 식으로 진행할 거다. 

 

*SCR 만들기(TOP)

1. S 

프로그램에 100번 SCREEN CREATE

 

2. C

CONTAINER 선언

높은 확률로 커스텀 컨테이너를 그릴 것이니, SCREEN PAINTER로 그려주자

도킹이나 스플리터 컨테이너는 맞딱드리게 되면 그 때 생각하고 잊고 지내면 됨.

DATA : go_container TYPE REF TO cl_gui_custom_container.

 

3.R

DATA : go_alv TYPE REF TO cl_gui_alv_grid.

 

*이제 따로 따로 떨어진 SCR이어주기(PBO)

1. S-C 붙이고

  CREATE OBJECT go_container
    EXPORTING
      container_name 'CON100'.

2. C-R 붙이면 끝
  CREATE OBJECT go_alv
    EXPORTING
      i_parent go_container.


*이제 R위에 낙서하면 됨 = 결과화면 출력
  CALL METHOD go_alv->set_table_for_first_display
    EXPORTING
      i_structure_name 'SFLIGHT' "낙서장의 포맷은 SFLIGHT.
    CHANGING
      it_outtab        gt_itab[].

 

 

*낙서내용

보통 쿼리가 많이 오는데, 여기서는 사용자가 CARRID 값 입력하면 그에 해당하는 SFLIGHT 정보 보여주기

 

  SELECT-OPTIONS s_carrid FOR scarr-carrid.
  SELECT FROM sflight WHERE carrid IN @s_carrid
     INTO CORRESPONDING FIELDS OF TABLE @gt_itab[].

 

뼈대만 있어도 기본적인 조회 프로그램 가능하다!

 

<암기할 것>

뼈대는 무조건 암기해야함.

외우는 방법 : SCR! 만들고, 이어주고, 낙서하자.

 

-만들고,

스크린 100번 커스텀으록 그려주고!

DATA go_container TYPE REF TO cl_gui_custom_container,
       go_alv       TYPE REF TO cl_gui_alv_grid.

 

-이어주고,

 CREATE OBJECT go_container
    EXPORTING
      container_name 'CON100'.

  CREATE OBJECT go_alv
    EXPORTING
      i_parent go_container.

 

-낙서하자.
  CALL METHOD go_alv->set_table_for_first_display
    EXPORTING
      i_structure_name 'SFLIGHT'
    CHANGING
      it_outtab        gt_itab[].