🔷 1. SAP의 3계층 아키텍처 구조
SAP 시스템은 보통 다음 3가지 계층으로 구성됨 client, app, database server.
계층 | 설명 |
Presentation (Client) | 사용자가 SAP GUI 등으로 작업 |
Application Server | ABAP 프로그램 실행, 로직 처리 |
Database Server | 데이터 저장, 조회, 수정 담당 |
📌 즉, 사용자는 SAP GUI에서 프로그램을 실행하면, Application 서버가 그걸 받아서 DB와 통신하게 된다.
🔷 2. 여러 사용자가 동시에 접근하는 상황
- 기업에서는 수백, 수천 명의 사용자가 동시에 같은 데이터를 조회/수정할 수 있음
- 따라서 ABAP 프로그램을 만들 땐, "동시성" 을 고려해야함!
- 예: A가 수정 중일 때 B가 읽으면, 최신 데이터가 아닐 수 있음 → 주의 필요
🔷 3. Open SQL이란?
구분 | 설명 |
일반 SQL | 데이터베이스에 직접 명령 |
Open SQL | ABAP 프로그래밍에서 SAP가 제공하는 DB 인터페이스 언어 |
- SELECT, INSERT, UPDATE, DELETE 같은 SQL 문장을 ABAP에서 사용 가능
- 하지만 실제로는 직접 DB에 접근하는 게 아닌, ABAP Dictionary를 통해 간접적으로 DB 접근
📌 즉, ABAP에서 직접 DB를 건드리지 않고, SAP가 제공한 안전한 경로로 접근하는 것 → 안정성과 보안 보장
🔷 4. Buffering (버퍼링)
개념설명
버퍼링 | DB 접근을 줄이기 위해, 최근 데이터를 메모리에 잠깐 저장해두는 기술 |
장점 | 속도 향상 |
단점 | 실시간 데이터가 아닐 수 있음 |
- 예: 마스터 데이터(MARA, 고객정보)는 자주 바뀌지 않아서 버퍼링 O
- 예: 거래 데이터(주문, 재고 등)는 자주 바뀌므로 버퍼링 X
✅ 테이블을 버퍼링 사용 안 함으로 설정하면 그래서 항상 최신 데이터를 DB에서 직접 가져오게됨
✅ 버퍼링되어있다면, 데이터가 최신데이터가 아닐 수 있음!
🔷 5. 요약 정리
핵심 | 포인트설명 |
💡 Open SQL | ABAP에서 DB에 안전하게 접근하는 수단 (ABAP Dictionary 통해 간접 접근) |
💡 버퍼링 | 읽기 속도는 빠르지만 최신 데이터가 아닐 수 있음 |
💡 트랜잭션성 | 여러 사용자가 동시에 작업해도 안정적으로 작동해야 함 |
💡 실시간 데이터 필요시 | 버퍼링 끄고 항상 최신 DB에서 직접 가져오기 |
'SAP' 카테고리의 다른 글
SAPSAP ABAP Programming for Beginners - 32 OPEN SQL의 장점 (0) | 2025.04.09 |
---|---|
SAP ABAP Programming for Beginners - 31 Lock(잠금) (0) | 2025.04.09 |
SAP ABAP Programming for Beginners - 29 Include Structure (0) | 2025.04.09 |
SAP ABAP Programming for Beginners - 28 append structure (0) | 2025.04.06 |
SAP ABAP Programming for Beginners - 27 테이블 외래키 (0) | 2025.04.03 |