# SAP ERP 데이터베이스 연동 안내

> **대상**: SAP 을 운영하시는 고객사의 DB 담당자·보안 담당자
> **함께 보실 문서**: [DB 연동 상세 가이드](/guides/db-connection) — 계정·권한·연결 정보의 공통 내용은 그쪽에 있습니다
> **범위**: SAP 을 **오라클 데이터베이스** 위에서 쓰시는 경우

SAP 은 일반적인 데이터베이스와 다른 점이 몇 가지 있어, 연결하시기 전에 알아 두시면 좋은
내용을 정리했습니다.

---

## 1. 권한은 이 순서로 좁혀 주세요

DB 에 직접 연결하는 방식은 SAP 화면을 거칠 때 적용되던 권한 검사를 지나가게 됩니다.
그래서 **데이터베이스 쪽에서 범위를 좁히는 것**이 가장 확실한 방법이고, 순서가 있습니다.

1. **읽기 전용 계정을 따로 만들어 주세요.** 운영 계정을 그대로 쓰지 마시고, 필요한 표에만
   조회 권한을 주세요. 이 계정이 볼 수 있는 범위가 곧 문제가 생겼을 때의 영향 범위입니다.
2. **가능하면 뷰만 열어 주세요.** 표를 통째로 여는 대신 필요한 열과 행만 담은 읽기 전용
   뷰를 만들어 그것만 조회하게 하시면 범위가 확실히 줄어듭니다.
3. **그다음에 화면에서 표를 골라 주세요.** 데이터베이스 툴킷의 **설정** 탭에서 AI 에게
   보여줄 표를 고르실 수 있습니다.

> ⚠️ **3번은 보안 경계가 아닙니다.** 화면에서 고르는 것은 "AI 에게 무엇을 보여줄지" 이지
> "무엇을 조회할 수 있는지" 가 아닙니다. 보여주면 안 되는 자료는 1·2번으로 막아 주세요.

---

## 2. 목록에 나오지 않는 표가 있습니다

SAP 화면에서는 보이는데 데이터베이스에는 **압축된 덩어리로만** 저장되는 자료가 있습니다.
회계 전표 명세처럼 여러 표를 하나로 묶어 두는 방식인데, 이런 자료는 SAP 프로그램을 거쳐야
풀리기 때문에 데이터베이스 조회로는 내용을 알 수 없습니다.

- **저희는 이런 표를 목록에서 아예 빼 드립니다.** 골라 두셨다가 나중에 아무 뜻도 없는 값을
  받게 되는 일이 없도록 하기 위해서입니다.
- 이런 자료가 꼭 필요하시면 **다른 방법이 필요하니 문의해 주세요.** 대개는 SAP 쪽에서 미리
  풀어 둔 표나 뷰를 만들어 두고 그것을 연결하는 방식으로 해결합니다.

---

## 3. 한글 이름은 자동으로 가져옵니다

SAP 은 표와 항목 이름이 네다섯 글자 약자입니다. 사람도 AI 도 그것만 보고는 뜻을 알 수
없습니다. SAP 에는 그 약자의 뜻을 담아 둔 자리가 따로 있어서, 저희가 **거기에서 한글 이름을
읽어 옵니다.** 한글이 없는 항목은 영어 이름으로 대신합니다.

- 데이터베이스에 직접 적어 두신 설명이 있으면 **그쪽이 우선**입니다. 저희가 읽어 온 이름이
  기존 설명을 덮어쓰지 않습니다.
- 스키마 탭에서 이름이 마음에 안 드시면 직접 고치실 수 있고, 다시 읽어도 고치신 이름은
  그대로 남습니다.

이 기능이 동작하려면 조회 계정이 SAP 의 사전 표(`DD02L`·`DD02T`·`DD03T`)를 읽을 수 있어야
합니다. 권한이 없으면 아무 일도 일어나지 않고 지금까지대로 동작합니다.

---

## 4. 여러 조직의 자료가 한 데이터베이스에 들어 있습니다

SAP 은 운영·테스트·교육용 자료를 **한 데이터베이스 안에** 함께 담고, 각 줄이 어느 쪽 것인지를
항목 하나로 구분합니다. SAP 화면으로 들어가면 자동으로 걸러지지만, 데이터베이스에 직접
연결하면 그 장치가 오지 않습니다.

**이건 오류가 나지 않고 합계만 틀리게 나옵니다.** 그래서 저희는 **설정** 탭에서 **어느 자료를
볼지 먼저 고르시게** 합니다. 바로 아래에서 표를 고르시면 됩니다 — 자료를 고르시기 전에는
표 고르기가 열리지 않습니다.

---

## 5. 준비해 주시면 좋은 것

- 조회 계정과, 그 계정이 볼 수 있는 표(또는 뷰) 목록
- 오라클 데이터베이스 버전
- 어느 자료(운영·테스트)를 보실지
