SAP에서 DB 테이블 생성하기: SE80과 SE11을 이용한 간편한 방법

이번 시간에는 SAP 의 테이블을 생성하는 방법을 정리해볼 생각이다. 이전 시간에 다루던 Internal Table(내부 테이블)과 달리 이번에 다루는 것은 우리가 프로그래밍을 하면 꼭 다루게 될 DB(데이터베이스) 테이블을 생성할 예정이다.

SAP는 손쉽게 DB 테이블을 만들 수 있다.

만든 이후엔 다음 포스팅에서 SQL 같은 쿼리 언어로 쉽게 데이터를 조회, 수정, 삭제 할 수 있다. 이 포스팅 에선 로컬 오브젝트로 DB 테이블을 만들고 SQL 조회 해 사용해 보겠다.

DB 테이블 생성

생성하는 방법은 아주 간단한데 로컬 오브젝트를 다룬 글 안에 프로그램 생성 방법과 거의 비슷하게 생성할 수 있다.

SE80 에서 생성

T-CODE SE80으로 접속하고 표시되는 Object Navigator 에서 $TMP 에 우클릭 -> Create -> Dictionary Object -> Database Table 을 선택한다.

SE80 에서 DB 테이블 생성

그럼 Create Table 팝업 창에 사용할 Table 명을 입력 한다. 나는 로컬 오브젝트로 테이블을 생성할 것이기에 Y로 시작하는 이름을 사용했다. 이번에도  “Y + 계정명 + 오브젝트 유형 + 숫자” 을 고려하여 생성했다.

Create Table

SE11 에서 생성

SE11 은 테이블, 타입, 도메인 등의 Dictionary 오브젝트를 생성, 유지보수 하는 프로그램으로 접속하는 T-CODE 이다. 여기서 Database table 에 라디오 버튼을 선택한 이후 테이블 명을 입력한 다음 Create 버튼을 누르면 된다.

테이블 관련 정보 입력

Table 명을 입력하면 Description 등 설명을 입력하는 화면이 나온다. 해당 화면의 구성을 좀 더 살펴보자.

Change Table

Short Dscription

Short Dscription 은 내가 만든 테이블의 간략한 설명을 적는 곳이다.

Delivery Class

Delivery Class 는 한글로 번역하면 “배송 클래스” 정도로 테이블에 저장될 데이터가 무엇인지 정의하는 것이다. 보통은 A 로 작성하면 되지만 한번 상세하게 값을 정리하면 다음과 같다.

Delivery class
  • A: 애플리케이션 테이블 (마스터 및 트랜잭션 데이터)
  • C: 사용자 정의 테이블, 사용자만 유지 관리, SAP 수입은 없음
  • L: 임시 데이터 저장용 테이블, 비어 있는 상태로 제공
  • G: 사용자 정의 테이블, SAP 업데이트로부터 보호, 오직 삽입만 가능.
  • E: 제어 테이블, SAP와 고객은 별도의 키 영역을 가짐
  • S: 시스템 테이블, SAP만 유지 관리, 변경은 수정을 의미함
  • W: 시스템 테이블, 별도의 TR 객체에 의해 내용이 전송 가능

보통은 A만 썼다. 스탠다드 테이블엔 S 타입도 좀 있을 것 같고 로컬 오브젝트로 잠시 다룰 테이블은 C나 L 로 만들어도 무방할 듯 하다. 어차피 여긴 혼자 사용하는 서버니까 A나 L로 만들면 무방할 듯 하다.

Data Browser/Table View Editing

이 설정은 테이블의 “데이터를 데이터 브라우저”“테이블 뷰” 라는 기능으로 데이터를 보고 편집 할 수 있게 할 지에 대한 설정을 말한다.

여기서 의 설정은 SE16N, SM30 등의 편집 기능으로 편집 가능 여부를 불가능 하게 하거나 설정하는 기능이다. 보통 Allowed 하고 바꿔 본 적이 없어 한번 테스트 해보려고 했는데…

엇, 그런데 디벨롭버전 SAP 에서 SE16N 이 접근이 안된다…? 이건 한번 다음에 해결해 봐야겠다.

어쨌든 설정 값은 다음 세 가지가 있다.

Data Browser/Table View Editing
  • Display/Maintenance Allowed with Restrictions: 편집이 가능하나 특정 필드를 제한, 특정 권한만 가능 등 예외를 둔다. 기본으로 설정되어 있다.
  • Display/Maintenance Allowed: 제한을 두지 않고 편집을 허용한다.
  • Display/Maintenance Not Allowed: 편집을 허용 하지 않는다.

최종적으로 다음과 같이 설정 했다.

Change Table 설정 오나료

필드 설정

다음으로 해야 할 작업은 위의 탭 중 필드 탭에 들어가 테이블 내의 필드를 설정하는 과정이다. 나는 가볍게 개발 용 테이블을 만드는 중이니까 다음과 같이 설정했다.

SAP에서 DB 테이블 생성하기: SE80과 SE11을 이용한 간편한 방법

기본적으론 테이블인 Key 필드가 한 개 이상 필요하다. 해당 화면에서 Key 체크 박스를 체크한 필드가 Key 필드가 된다. 주의할 점은 Key 필드는 맨 앞부터 순서대로 위치해야 한다.

그리고 필드의 데이터 요소를 설정해 줘야 하는 데, 이는 SAP 내의 또 다른 Dictionary 오브젝트 인 Data Eletement 를 가져오거나 생성 해 두었으면 사용하면 되지만, 굳이 그렇지 않다면 위에 Built-In Type 버튼을 누를 시 Data Type 과 Length 를 직접 화면 내에서 입력해 설정할 수 있다.

여기까지 설정 했다면 Ctrl + S 혹은 상단의 디스켓 모양을 눌러 저장하고 Ctrl + F3 혹은 상단의 마술봉 모양 버튼을 눌러 활성화 해주면 된다. 단, 활성화 시 다음과 같은 화면이 출력 될 것이다.

Define Technical Settings

Define Technical Settings

해당 화면은 한글론 “기술적 요소” 설정 정도로 표현되는데 Delivery Class 은 데이터가 어떻게 저장되고 사용 될 지가 주된 내용이면 테이블의 어떤 유형의 데이터가 저장 할지를 설정한다.

이 설정에 따라 물리적인 저장 방식, 성능 최적화에 영향을 준다.

Data Class

이 안엔 다음과 같은 값들이 있다.

  • APPL0:마스터 데이터, 투명 테이블
  • APPL1: 트랜잭션 데이터, 투명 테이블
  • APPL2: 조직 및 사용자 정의
  • DDIM: BW에서의 차원 테이블
  • DFACT: BW에서의 사실(Facts) 테이블
  • DODS: BW에서의
  • ODS: 테이블
  • USER: 고객 데이터 클래스
  • USER1: 고객 데이터 클래스

보통은 APPL0, APPL1 둘 중 하나를 사용 했는데 APPL0 은 설정 값, 사원정보와 같은 마스터 데이터 테이블을 만들 때, APPL1 은 매일 생성 되는 데이터 (전표 등) 를 담을 때 사용 했다.

Size Category

Data Class 를 서정하고 나면 숫자를 입력해서 카테고리를 정할 수 있다. 이름과 같이 예상되는 테이블 데이터 양의 범위를 지정하는 것. 운영 중 이 설정으로 크게 문제 생긴 적은 없다.

Size Category

Size Category 까지 설정 했으면 저장 하게 되면 다음 메세지가 출력 되며 활성화가 완료 된다.

Warning During Activation

No 를 누르면 생성이 완료 된다.


0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
목차
위로 스크롤