300x250
728x90

# 시작하기 전


# 테이블 만들 때 항상은 아니지만 99프로 붙어있는 " MANDT "... [ 만드기 ], [ 엠티 ] 등등 여러 별명이 있다..

 

처음 보는 사람은 궁금한 "MANDT"에 대해서 알아보자. 

 

클라이언트에 따른 " MANDT "

 

# MANDT 정의


# [ MANDT ] 필드는 Client Identifier로, SAP 시스템의 클라이언트를 식별하기 위한 필드이다.

# DB Table에서 항상 첫 번째 필드에 있으며, 다음과 같은 Type을 가지고 있다. 

 

# MANDT를 사용하는 이유 


# 간단하게 말하자면, 클라이언트 별데이터를 관리하기 위해서 [ MANDT ]를 사용하는 것이다. 

 

- ex) 클라이언트 별 

-- 클라이언트 100 : 로직 변경

-- 클라이언트 300 : 개발용 데이터 저장 

 

# 프로젝트를 하다 보면, 여러 클라이언트에 따라서 데이터를 다양하게 관리하게 될 수도 있고,

# 다국적 기업에서 본사와 여러 지사 별클라이언트를 각각 운영할 수도 있게 된다.

 

# 그렇기 때문에 사용자가 자신의 클라이언트와 관련된 데이터만 접근하도록 보장할 수 있다. 

 

 

# MANDT 자동 필터링 


- 다음과 같이 클라이언트 별로 나누어져 있다고 가정해 보자. 또한, 다음과 같이 똑같은 테이블이다.

 

# SELECT문에서 MANDT 활용

# ABAP 런타임 환경에서 SELECT을 하게 되면 자동으로 현재 클라이언트에 해당하는 데이터만 조회가 된다. 

 

( 보통은 Open SQL -> Native SQL로 넘어갈 시 MANDT 자동으로 조건문이 붙게 되어있다 ). 

Client : 110

 

# Open SQL 말고 Native SQL을 활용할 때에는 항상 [ MANDT ] 조건문을 달아주어야 한다. 

[ T-CODE :  ST05 ] -> [ Diagnostics ] -> [ SQL Editor ]에 들어가서 SQL을 짜보면

 

# 다음과 같이 200 110에 대한 클라이언트 값이 나오는 걸 볼 수 있다. 

 

그렇기 때문에 Open SQL 말고 Native SQL사용할 때에는 조건문에 MANDT를 꼭 붙여주어야 한다.

 

 

끝..! 

 

 

728x90