SAP를 처음 접하는 분들이 가장 먼저 알아야 할 핵심 개념들을 스토리텔링 방식으로 정리해드립니다. 여러분이 언급하신 FCM, SCM, Standard Table, CDS View를 중심으로 SAP의 전체 구조를 이해할 수 있도록 체계적으로 설명하겠습니다.

SAP의 큰 그림: 기업의 두 축, SCM과 FCM
SAP 시스템은 크게 두 가지 핵심 영역으로 나뉩니다. 이는 기업 활동의 본질적인 구조를 반영한 것입니다.
SCM(Supply Chain Management) - 공급망 관리 영역
기업의 실제 물리적 활동이 일어나는 영역입니다. 원자재를 구매하고, 제품을 생산하고, 고객에게 판매하는 모든 과정이 여기에 속합니다. 쉽게 말해 "돈을 벌어오는" 영역이라고 할 수 있습니다.
SCM은 다음 세 가지 핵심 모듈로 구성됩니다.
SD(Sales and Distribution) - 판매 및 영업관리 모듈입니다. 고객 주문을 받고, 제품을 배송하고, 대금을 청구하는 전 과정을 관리합니다. 판매오더 생성부터 출고지시, 출고전기, 대금청구까지의 흐름을 담당합니다.
MM(Material Management) - 자재 및 구매관리 모듈입니다. 생산에 필요한 원자재나 부품을 구매하고 재고를 관리합니다. 구매요청서 작성, 구매오더 발행, 입고처리, 송장처리의 프로세스가 이루어집니다.
PP(Production Planning) - 생산관리 모듈입니다. 제품 생산 계획을 수립하고 실제 생산 공정을 관리합니다. 생산오더 생성, 자재 소요량 계획, 공정 관리 등을 담당합니다.
FCM(Financial Chain Management) - 재무관리 영역
SCM에서 발생한 모든 활동을 재무적 관점에서 기록하고 분석하는 영역입니다. "돈의 흐름을 관리하고 분석하는" 영역이라고 할 수 있습니다.
FCM은 두 가지 핵심 모듈로 구성됩니다.
FI(Financial Accounting) - 재무회계 모듈입니다. 기업의 경영성과와 재무상태를 외부 이해관계자(주주, 채권자, 투자자)에게 보고하기 위한 회계 정보를 관리합니다. 전표 입력, 계정과목 관리, 재무제표 작성, 채권채무 관리가 핵심 기능입니다.
CO(Controlling) - 관리회계 모듈입니다. 기업 내부의 의사결정을 지원하기 위한 원가 정보를 제공합니다. 어떤 제품이 수익성이 좋은지, 어떤 부서가 비용을 많이 사용하는지 등을 분석하여 경영진의 전략적 판단을 돕습니다.
SAP의 조직 구조: 데이터가 흐르는 틀
SAP에서 데이터가 관리되는 조직 구조를 이해하는 것이 중요합니다.
Client(클라이언트)
SAP 시스템의 최상위 조직 단위입니다. SAP GUI에 로그인할 때 가장 먼저 입력하는 것이 바로 Client 번호입니다. Client 내에서는 독립적인 사용자 관리와 시스템 설정이 이루어지며, 하나의 Client에서 입력한 데이터는 다른 Client에서 조회할 수 없습니다.
Company Code(회사 코드)
법적으로 독립된 회계 단위입니다. 독립적인 대차대조표와 손익계산서를 작성할 수 있는 가장 기본적인 재무 조직입니다. 국가별 또는 법인별로 Company Code를 구성하는 것이 일반적입니다.
Controlling Area(관리회계 영역)
관리회계를 독립적으로 수행하는 조직 단위로, 여러 개의 Company Code를 포함할 수 있습니다. 원가 분석과 수익성 관리가 이루어지는 공간입니다.
SAP의 핵심 도구: T-Code
T-Code(Transaction Code)는 SAP에서 특정 기능이나 화면으로 바로 이동하기 위한 단축 코드입니다. 영문자와 숫자의 조합으로 이루어져 있으며, SAP 화면 상단의 명령 입력창에 입력하여 사용합니다.
T-Code는 일정한 규칙을 가지고 있습니다. 예를 들어 자재 마스터의 경우, MM01은 생성, MM02는 변경, MM03은 조회를 의미합니다. 이러한 규칙은 대부분의 SAP 기능에 공통적으로 적용됩니다.
자주 사용하는 명령어 조합도 있습니다. /n을 앞에 붙이면 현재 화면을 종료하고 해당 트랜잭션을 실행하고, /o를 붙이면 새 창에서 실행합니다. 예를 들어 /nMM03은 현재 화면을 닫고 자재 조회 화면으로 이동하고, /oMM03은 새 창으로 자재 조회 화면을 엽니다.
데이터의 기초: ABAP Dictionary와 테이블
SAP에서 데이터가 저장되고 관리되는 방식을 이해하려면 ABAP Dictionary를 알아야 합니다.
ABAP Dictionary는 SAP 시스템에서 사용되는 모든 데이터 구조를 중앙에서 정의하고 관리하는 곳입니다. 테이블, 뷰, 데이터 타입, 도메인 등 모든 데이터 오브젝트가 여기서 정의됩니다. SE11 트랜잭션 코드를 통해 접근할 수 있습니다.
Standard Table(표준 테이블)
SAP에서 테이블은 실제 데이터가 저장되는 물리적 공간입니다. 테이블은 크게 세 가지 종류가 있습니다.
Transparent Table은 가장 일반적으로 사용되는 테이블로, ABAP Dictionary에서 하나의 테이블을 생성하면 실제 데이터베이스에도 동일한 이름과 구조로 테이블이 생성됩니다. 1대1 관계를 가지며, 비즈니스 데이터를 저장하는 모든 테이블은 Transparent Table로 생성됩니다. 예를 들어 BKPF(회계전표 헤더), VBAK(판매오더 헤더), MARA(자재 마스터) 등이 있습니다.
Pooled Table과 Cluster Table은 SAP 내부적으로 시스템 제어 정보나 문서를 저장하는 데 사용되는 특수한 테이블입니다. 여러 개의 테이블이 하나의 물리적 데이터베이스 테이블에 저장되는 다대일 관계를 가집니다. 일반적인 비즈니스 데이터 저장용으로는 사용하지 않습니다.
Domain(도메인)은 테이블 필드의 기술적 속성을 정의하는 개체입니다. 데이터 타입(문자, 숫자 등), 길이, 소수점 자리수 등을 지정합니다.
Data Element(데이터 요소)는 도메인에 의미 정보를 부여하는 개체입니다. 즉, 이 필드가 무엇을 의미하는지를 나타내며, 화면에 표시될 라벨 텍스트도 정의합니다.
마스터 데이터와 트랜잭션 데이터
SAP의 데이터는 크게 두 가지로 분류됩니다.
마스터 데이터(Master Data)는 프로세스에 의해 자주 변경되지 않는 기준 정보입니다. 자재 마스터, 고객 마스터, 거래처(벤더) 마스터가 대표적입니다. 자재 마스터 테이블로는 MARA(자재 기본 정보), MARC(플랜트별 자재 정보), MAKT(자재 설명) 등이 있습니다. 고객 마스터는 KNA1, 거래처 마스터는 LFA1 테이블에 저장됩니다.
트랜잭션 데이터(Transaction Data)는 일상적인 비즈니스 활동에서 생성되는 데이터입니다. 판매오더, 구매오더, 입출고 전표, 회계 전표 등이 여기 해당됩니다. 예를 들어 판매오더는 VBAK(헤더)와 VBAP(품목) 테이블에, 회계전표는 BKPF(헤더)와 BSEG(품목) 테이블에 저장됩니다.
데이터 모델링의 진화: View와 CDS View
데이터를 효율적으로 조회하고 분석하기 위해 View라는 개념이 사용됩니다.
전통적인 View는 하나 이상의 테이블을 논리적으로 결합한 구조로, 실제 데이터를 저장하지 않고 테이블의 데이터를 조합하여 조건에 맞게 조회하는 역할을 합니다. SE11에서 생성하며, 여러 테이블을 조인하거나 특정 필드만 선택하여 보여줄 수 있습니다.
CDS View(Core Data Services View)는 SAP HANA와 S/4HANA 시대의 차세대 데이터 모델링 도구입니다. 전통적인 ABAP Dictionary View보다 훨씬 강력한 기능을 제공합니다.
CDS View의 핵심 철학은 코드 푸시다운(Code Pushdown)입니다. 과거에는 필요한 데이터를 모두 애플리케이션 서버로 가져와서 ABAP 코드로 가공했습니다. 하지만 CDS View는 계산, 집계 등 복잡한 로직을 데이터가 있는 HANA 데이터베이스에서 직접 수행하고, 최종 결과만 애플리케이션 서버로 전달합니다. 이를 통해 인메모리 데이터베이스인 HANA의 성능을 최대한 활용할 수 있습니다.
CDS View는 SQL을 확장한 DDL(Data Definition Language)을 사용하여 생성하며, Eclipse 기반의 ADT(ABAP Development Tools)에서 개발합니다. 어노테이션(@)을 통해 비즈니스 의미와 기능을 부여할 수 있습니다. 예를 들어 @OData.publish: true를 추가하면 한 줄로 Fiori 앱이 사용할 수 있는 OData 서비스가 발행됩니다.
CDS View는 VDM(Virtual Data Model) 아키텍처로 계층적으로 설계합니다. Basic View는 데이터베이스 테이블의 원자재를 정제하는 1차 가공 단계, Composite View는 Basic View들을 조합해 비즈니스 로직을 구현하는 중간 조립 단계, Consumption View는 최종 사용자가 소비하는 완제품 단계입니다. 이러한 계층 구조로 재사용성과 유지보수성을 극대화할 수 있습니다.
ABAP: SAP의 프로그래밍 언어
ABAP(Advanced Business Application Programming)은 SAP 시스템에서 비즈니스 애플리케이션을 개발하기 위해 사용하는 프로그래밍 언어입니다. 1980년대에 개발되어 현재까지 계속 발전해왔습니다.
ABAP은 4세대 언어(4GL)로, 자연어에 가까운 구문을 사용합니다. 절차적 프로그래밍과 객체지향 프로그래밍을 모두 지원하는 하이브리드 언어입니다. SE38(ABAP 에디터) 또는 SE80(오브젝트 네비게이터)을 통해 개발하며, 최근에는 Eclipse 기반의 ADT 환경에서도 개발이 가능합니다.
ABAP 개발의 핵심은 데이터를 다루는 것입니다. 프로그램을 실행하면 데이터가 메모리에 적재되고, ABAP 컴파일러에 의해 CPU에서 연산 처리되며, 최종적으로 결과가 출력됩니다. 내부 테이블(Internal Table)을 통해 대량의 데이터를 메모리에서 효율적으로 처리할 수 있습니다.
비즈니스 프로세스의 통합
SAP의 진정한 가치는 모듈 간의 통합에 있습니다. 예를 들어 SD 모듈에서 판매오더가 생성되면, PP 모듈에서 생산오더가 자동으로 생성되고, MM 모듈에서 자재가 출고되며, FI 모듈에서 매출과 원가가 자동으로 회계 전표로 기록됩니다.
이러한 통합의 핵심은 마스터 데이터의 공유입니다. 자재 마스터는 SD, MM, PP, FI 모듈 모두에서 참조되며, 한 번 등록된 정보가 모든 프로세스에서 일관되게 사용됩니다. 이를 통해 데이터 중복을 방지하고 정합성을 유지할 수 있습니다.
초보자를 위한 학습 로드맵
SAP를 처음 시작하는 분들에게는 다음과 같은 학습 순서를 추천합니다.
먼저 SAP의 전체 구조와 모듈 개념을 이해합니다. SCM과 FCM의 차이, 각 모듈의 역할을 파악하는 것이 기초입니다. 다음으로 자신이 담당할 모듈의 기본 트랜잭션을 익힙니다. T-Code를 활용하여 마스터 데이터 조회, 생성, 변경을 실습해봅니다.
그 다음 ABAP Dictionary의 기본 개념을 학습합니다. 테이블, 도메인, 데이터 요소의 관계를 이해하고, SE11을 통해 직접 확인해봅니다. 주요 테이블의 구조를 파악하고, 어떤 데이터가 어디에 저장되는지 이해합니다.
마지막으로 비즈니스 프로세스의 흐름을 따라가며 모듈 간 연계를 이해합니다. 판매 프로세스가 재무에 어떻게 반영되는지, 구매 프로세스가 재고와 어떻게 연결되는지를 실제 사례를 통해 학습합니다.
SAP는 방대한 시스템이지만, 핵심 개념을 체계적으로 이해하면 충분히 마스터할 수 있습니다. 실무에서는 모든 것을 알 필요는 없으며, 자신의 업무 영역과 관련된 부분을 깊이 있게 이해하는 것이 중요합니다.
'● Data Insights > System' 카테고리의 다른 글
| Digital Twin: 현실과 가상이 만나는 미래 기술 (2) | 2025.11.21 |
|---|---|
| ERP 시장 현황과 주요 시스템 비교 분석 (0) | 2025.11.18 |
| Databricks, Snowflake, Microsoft Fabric 비교 분석 (0) | 2025.11.07 |
| Delta Table 기술 분석 및 개발자 가이드 (0) | 2025.11.06 |
| 코딩에서 가독성과 공유를 위한 필수 작업 (0) | 2025.11.05 |