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

SAP ABAP 스터디 2주차 리뷰

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

안녕하세요, 여러분

스터디 2주차 리뷰를 시작하겠습니다.

 

2주차에는 '화면'을 많이 다뤘습니다. ALV구조와 스크린1000번에서 작업해줘야 하는 리포트프로그램 구조에 대해서 알아보았고, 각 화면에 대한 PAIPBO를 알아보았습니다.

 

다룬 내용들 =>

 

화면 구성

 

1. 리포트프로그램 구조 

  - SELECT-OPTION ( PARAMETER & SELECTION-OPTION)

  - SELECTION-SCREEN

  - AT SELECTION-SCREEN (PAI)

  - AT SELECTION-SCREEN OUTPUT (PBO)

2. ALV 구조

  - GRID, CONTAINER ex)  g_grid , g_container

  - LAYOUT

  - VARIENT

  - FIELDCATALOG(필드카탈로그) ex) GT_FIELDCAT

  - ITAB(인터널테이블) ex) GT_LIST

 

그리고 GRID EVENT에 대해 알아보았습니다.


SELECTION-SCREEN 구조

 

 

PARAMETER & SELECT-OPTION : 리포트프로그램에서 파라미터 인수 값을 받기위한 작업 구문 형태

 

PARAMETER : 단일 변수 값 , SELECT-OPTION : 두 개의 변수 값

 

PARAMETER는 TYPE 기준으로 선언하며,SELECT-OPION FOR 문 같은 경우 참조하는 테이블을 먼저 선언해줘야 에러가 발생하지 않습니다 ^^*

 

그리고 SELECT-OPTION에서 받는 파라미터는 2개 이상이기 때문에

쿼리문 SELECT FROM WHERE 에서 EQ가 아니라 IN 으로 해줘야 합니다.

 

 

추가적인 내용과 예제소스코드를 첨부하였습니다. 참고해주세요.

only10.tistory.com/100

 

SAP ABAP PARAMETER , SELECT-OPTION , SELECTION-SCREEN

SAP ABAP PARAMETER 스크린 1000 SAP ABAP SELECT-OPTION 스크린 1000 SAP ABAP SELECTION-SCREEN 스크린 1000 리포트 프로그램에서 파라미터로 받아올 인수(DATA)를 정의해줍니다. DATA 선언 할때와 마찬가지로..

only10.tistory.com

 

 


ALV 구조

 

ALV 를 화면에 나타나기 위해선 여러 구성요소들이 있습니다.

 

ALV구성요소 =>

GRID

CONTAINER

화면생성

ITAB(인터널테이블)

필드카탈로그

레이아웃(Layout)

Varient

ALV 생성 메소드 ex) set_table_for_first_display

 

 

 

1. Global Data INCLUDE TOP - GRID와 CONTAINER 선언

 

 

DATA G_GRID  TYPE REF TO CL_GUI_ALV_GRID,

          G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

 

 

ALV를 보여줄 화면 PBO에 선언한 데이터 생성(CREATE) 

 

CONTAINER는 보여줄 화면에 사용자제어 NAME 'CTRL1' 일치하여야 합니다.

 

 

2. 필드카탈로그(FieldCatalog) , ITAB(인터널테이블)

 

 

필드 카탈로그는 ALV에 조회할 데이터의 컬럼들을 결정해줍니다. 그리고 필드카탈로그는 LVC_T_FCAT 을 참조합니다.

 

 

INCLUDE TOP

 

DATA:  GT_FIELDCAT   TYPE LVC_T_FCAT,
          GS_FIELDCAT   TYPE LVC_S_FCAT.

 

DATABEGIN OF GS_LIST.
  DATA:
          CARRID      LIKE  SFLIGHT-CARRID    ,
          CONNID     LIKE  SFLIGHT-CONNID    ,
                          .

                          .

                          .


          KOREA_DATE(8)  TYPE  N,

     END OF GS_LIST,GT_LIST LIKE STANDARD TABLE OF GS_LIST.

 

관련 펑션 REUSE_ALV_FIELDCATALOG_MERGE 

 

I_INTERNAL_TABNAME =  에 Dictionary 구조체 또는 인터널테이블의 정보를 입력하면 Field catalog를 가져올 수 있습니다. 단, GS_LIST에 들어있는 DATA형식들이 LIKE문으로 선언이 되어야하며 Dictionary를 참조할 경우도 TYPE이 아니라 LIKE 형태로 바꿔줘야 합니다. TYPE으로 사용할 것이라면 C,I,등 기본타입은 됩니다.

 

 

그리고 필드카탈로그는 90개가 넘어가면 자동으로 보여주지 않습니다. 또 키 필드를 자동으로 열고정을 해줍니다.

관련 정보는 펑션에 F1을 누르면 볼 수 있습니다.

 

 

 

 

3. ALV 생성 메소드 

 

최초로 ALV DISPLAY 생성하는 메소드 1 번만 실행이 됩니다.

 

INCLUDE TOP

 

DATA:  GT_FIELDCAT   TYPE LVC_T_FCAT,

          GT_SORT        TYPE LVC_T_SORT,

          GS_VARIANT  TYPE DISVARIANT,

          GS_LAYOUT     TYPE LVC_S_LAYO,

          GT_EXCLUDE    TYPE UI_FUNCTIONS.

 

CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY

 EXPORTING

   IS_VARIANT = GS_VARIENT  (용자가 화면에 보여지는 필드들을 수정하였을 경우 이를 저장하기 위해 사용)

   I_SAVE        = 'A'               ( A: 전체사용가능 X: Global layout만 U: 특정 유저만 SPACE: 레이아웃 저장 안함 )

   IS_LAYOUT   = GS_LAYOUT        (레이아웃에 다양한 옵션 정보를 담고 있습니다( COLORLINE , CELLTAB,  등 )

   IS_TOOLBAR_EXCLUDING = GT_TOOLBAR  (보여지는 툴바를 컨트롤 하는 정보를 담고 있습니다)

 CHANGING

   IT_OUTTAB  = GT_LIST (인터널테이블 정보)

   IT_FIELDCATALOG = GT_FIELDCAT ( 펑션 MERGE에서 받아온 GT_FILEDCAT 정보 )

   IT_SORT  = GT_SORT ( ALV 정렬에 대한 정보 )

아참 METHOD나 FUNCTION에서 EXCEPTIONS 예외처리문입니다. 

 

VARIENT 

LAYOUT 

TOOLBAR

SORT 

 

사용방법들은 별도의 상세 포스팅으로 소개해드리겠습니다 :)

 

고생많으셨습니다.

 

감사합니다.

반응형

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

ABAP 스터디 결과물 정리  (0) 2021.04.13
ABAP 스터디 3주차 리뷰  (0) 2021.04.11
SAP ASE License update  (0) 2021.04.03
스터디 1주차 리뷰  (2) 2021.03.28
SAP ABAP 스터디 1주차  (5) 2021.03.22

댓글