🔷 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에서 직접 가져오기

 

 

 

 

+ Recent posts