먼저 ABAP Table을 만들기 위해서는
T-Code : SE11로 들어간다.
Database table에 Table이름을 입력하고 Create 버튼을 누르면 Table 생성 화면으로 넘어간다.
먼저 Delivery Class를 설정해야 하는데,
Delivery Class란 테이블 데이터의 전송 제어를 위한 세팅 이다.
들어갈 수 있는 값으로는 A,C,L,G,E,S,W 이렇게 7가지가 있는데,
설명 읽어봐도 알 수 있듯이 일반 사용자가 사용할 수 있는 케이스는 A와 C입니다.
A : 각 시스템에서 데이터를 직접 제어하는 경우로 일반적으로 사용되는 Customer Table.
C : 데이터를 CTS가능하게 하여 개발, QA, 운영 등 동일한 데이터를 가져야 할 때 사용하는 Customer Table.
일반적으로 A를 선택하고 넘어가시면 됩니다.
테이블의 데이터를 유지보수 툴 이용 접근 허용 여부를 선택해주는 것이다.
Display/Maintenance Allowed with Restrictions : 제한적으로 Display와 Maintenance 를 허용하는 것
허용되는 T-code는 SE16과 SE54 이며 / 데이터 수정 및 SM30은 불가
Dsiplay/Maintenance Allowed : 모든 기능을 허용한다. 이 설정이 되어있으면 SE16N에서 데이터 수정이 가능하다.
Display/Maintenance Not Allowed : 모든 기능을 허용 하지 않는다.
Only display allowed : Display 접근만 가능.
보통 개발중엔 Allowed로 하고 나중에 Restiction으로 바꿔서 허용하는 경우가 많다.
Fields Tab에서는 테이블에 들어갈 필드와 타입을 설정해주는 곳이다.
이미 정의되어있는 Data element를 넣어주고 엔터를 눌러주면 데이터 타입이 들어간다.
또한, 키를 설정하고 싶으면 key부분에 체크박스를 하여 선택해주면 테이블의 키값이 된다.
Remark 같은 data타입 없이 직접 타입을 주고싶으면 Built-In Type 버튼을 눌르면 입력이 가능하다.
Built-In Type 버튼을 누르면 Data Element로 설정된 부분은 수정불가로 변하고
Data Type을 입력할 수 있는 필드들은 수정이 가능하도록 바뀐 것을 볼 수 있다.
또한, 해당 필드에 Search Help를 연동 시키고 싶으면 아래와 같이 필드를 선택하고
Search Help 버튼을 눌러서 Search Help 이름을 반영해 주면 된다.
그다음 만들 때마다 세팅을 어떻게 줘야 할지 모르는 기술적 세팅(Technical Settings) 을 해야한다.
Technical Setting이란 테이블의 범주, Size 세팅,
버퍼사용여부, DB Log를 쌓을지 여부 세팅하는 곳이다.
먼저 필수 항목인 Data Class를 알아보자.
Data Class : 데이터의 건수가 변경이 얼마나 자주 일어나는지에 따라 물리적 영역 정의다.
-. APPL0 (Master Data) : 거의 변경이 되지 않는 데이터 (ex 주소 )
-. APPL1 (Transaction Data) : 변경이 자주 되는 데이터 (ex 거래 )
-. APPL2 (Organization data) : 변경이 없는 데이터 (ex 국가 )
해당 테이블의 성격에 따라 위 3가지 중 하나를 선택하면 된다.
보통 개발 할때 APPL0과 APPL1을 많이 사용하게 된다.
다음은 Data Class 아래있는 항목인 Size Category는 말 그대로 저장가능한 데이터 건수를
지정하여 공간을 얼마나 가져갈지 계산한다.
넉넉하게 설정하되 너무 크게 잡아 데이터베이스 공간 낭비가 너무 되지 않도록 사이즈를 정한다.
다음은 Buffering 설정을 해야한다.
다음은 Buffering 설정을 해야한다.
Buffering Not Allowed : 버퍼를 비활성화. ( 트랜젝션이 많이 안일어나는 테이블 일경우 선택 )
Buffering allowed but switched off : 트랜젝션 상황에 따라 버퍼를 활성화/비활성화 한다.
Buffering Activated : 버퍼 활성화 ( 데이터에 접근이 많은 경우 선택 )
주로 CBO테이블일 경우 데이터 접근이 많지 않기에 메모리 영역을 확보하여
Performance를 고려하는 방법으로 버퍼를 허용안하고 만드는 경우가 많습니다.
Buffering Type 설정은 버퍼를 사용할 경우 선택하는 케이스로
Not Allowed 선택 했을 시 체크할 필요 없습니다.
Single records buffered 는 말그대로 1개 를 버퍼에 저장한다는 것입니다.
예를들어 select single * from ytest_t001 where belnr = '450000001' 이런 식으로 했을 때 1개의 데이터를 버퍼에 저장.
Generic Area Buffered는 Key값 기준 일치하는 데이터 모두 버퍼링.
Fully Buffered는 모든 레코드를 버퍼링 한다는 의미입니다.
Log data Changed 는 Delete Update의 DB Log를 쌓을지의 여부 세팅 값입니다.
이렇게 테이블 생성 하는 법을 알아봤는데,
개발 할 때 기술적 세팅은 Delivery Class와 Size 세팅만하고
나머지 세팅은 건드는 일이 없을 확률이 큽니다.
Table 세팅하는 방법에 대해서 알아봤습니다.
'SAP > ABAP' 카테고리의 다른 글
[ABAP] ALV Class - Method 1편 (1) | 2024.06.04 |
---|---|
[ABAP] Search Help 초기 필드값 세팅 (0) | 2024.05.28 |
[ABAP] Class Method 정리 (0) | 2024.05.23 |
[ABAP] Search Help Exit 함수 만들기 - 2편 (0) | 2024.05.22 |
[ABAP] Search Help Exit 함수 만들기 - 1편 (0) | 2024.05.22 |