쌓고 쌓다
[ABAP] Foreign Key, Value Table 본문
DataBase의 Table 생성은 SE11에서 할 수 있다.
테이블의 생성 과정에 Technical Setting 탭에서
Data Class : 데이터가 저장될 물리적 공간의 키를 지정.
Size Category : 데이터를 저장하다가 공간이 줄어들면 확장의 크기를 얼마나 할 것인가
Logging : 로그 기록. 변경 이력은 Log Table에 이뤄진다.
수업때 일단 USER를 사용하라고 배웠다.
실무에서는 테이블의 용도에 따라 Data Class를 지정하는 것 같다.
외래 키 (Foreign Key)
직원의 부서 코드는
항상 부서 테이블에 존재하는 부서 코드여야 한다.
이럴때 직원(EMP)와 부서(DEPT)는 외래키로 관계를 맺을 수 있다.
부서 코드 필드인 ORGEH가 있다고 하자.
직원(EMP) 테이블의 부서 코드 필드인 ORGEH는
부서(DEPT) 테이블의 부서 코드 필드인 OREH와 외래키 관계를 맺는 것이다.
Foreign Key Table, Check Table
직원과 부서 테이블에서 공통적으로 부서 코드가 존재한다.
외래 키로 사용한 필드의 사용 가능 유무 판단을 위해
해당 필드가 존재하는지 확인하는 테이블을 Check Table이라고 부르며
이 필드를 외래 키로 사용하는 테이블을 Foreign Key Table이라고 한다.
위의 예시에서
직원 테이블은 Foreign Key Table이고,
부서 테이블은 Check Table이다.
Cardinality
1:C는 1:1인데 관계를 맺을 수 도 안 맺을 수 도 있는
1:CN은1:N인데 관계를 맺을 수도 안 맺을 수 도 있는 것 이다.
외래 키(Foreign Key) 설정
외래 키를 사용하는 필드를 누르고 외래 키 설정 버튼을 눌러주면 된다.
Check table을 입력하고 Create Proposal을 누르면
외래 키 등록을 추천 받아 내용을 자동으로 입력될 수 있다.
현재 직원(EMP) 필드의 부서 코드 ORGEH는 KEY 필드가 아니므로
Non-key fields를 선택했다.
카디널리티 또한 입력해준다.
Value Table
현재 연락처 테이블의 필드에
직원(EMP)의 사번인 PERNR 필드가 존재한다.
이는 직원 테이블의 외래 키를 사용해야한다.
그래서 외래 키 등록을 위해 저 버튼을 눌렀을 때
Proposal 제안을 해주고싶다면 Value Table을 설정하면 된다.
어떤 테이블에서든지 사번 Element를 외래 키로 등록을 시도하면
특정 테이블로 Proposal을 해줄 수 있다.
사번의 Domain을 들어가서 Value Table에 사원(EMP) 테이블을 작성해주면
외래 키 등록을 위해 버튼을 눌렀을때 사원 테이블을 제안(Proposal) 받을 수 있다.
'SAP > ABAP' 카테고리의 다른 글
[ABAP] Field Catalog, IT_FIELDCATALOG (2) | 2025.02.04 |
---|---|
[ABAP] Secondary INDEX (1) | 2025.02.03 |
[ABAP] Subroutines (0) | 2025.01.31 |
[ABAP] Layout Structure (0) | 2025.01.30 |
[ABAP] ALV Variant (0) | 2025.01.24 |