SAP는 ERP 시스템이다.
즉, SAP라는 것을 알기 위해선 ERP를 알아야 한다는 것이다.
ERP는 전사적지원관리(Enterprise Resource Planning)의 약자로 기업의 모든 업무를 통합 관리할 수 있는 시스템을 의미한다.
기업이 하는 업무는 무엇일까?
시공사라면 건물만 지으면 되고, 제조사라면 물건만 만들면 될까?
제조사를 예를 들어보자.
제조사에선 당연히 물건을 만들 것이다. 하지만 물건을 만들기 위하여 재료의 재고를 파악해야 할 필요가 있고 부족하면 주문도 해야할 것이다.
만들어진 제품의 재고도 알아야하며 이를 배송할지도 관리해야 한다.
제조사라고 물건만 관리하진 않는다. 물건을 관리할 사람들을 뽑을 인사과도 존재해야 하며 재료를 얼마에 사고 상품을 얼마에 팔았는지 관리해줄 회계팀도 필요하다.
돈이 부정 없이 활용되는지 감시하기 위해 감사팀도 필요할 것이고 직원들에게 돈을 줘야하기에 급여를 주는 과도 필요할 것이다.
ERP 시스템은 이러한 회사에서 하는 여러 업무를 관리해주는 시스템을 의미한다.
ERP 시스템의 장점은 크게 5가지 존재한다.
이렇게만 보면 ERP는 완벽한 시스템이고 모든 회사에서 활용되어야 할 것 같다.
실제로 2000년대 중반에는 기업과 무관한 대학교에서도 학사 관리를 위해 ERP를 활용했던 적이 있다고 한다.
소제목을 보고 눈치챘을수도 있겠지만 그렇다고 ERP는 완전무결한 시스템이 아니다.
ERP 시스템은 유지보수에 돈이 많이 들기도 하고 몇 가지 전제조건이 충족되어야지만 효율적인 활용이 가능해진다.
즉, 점포의 개수가 많지 않거나 조직이 의사결정을 수행하지 않고 타업체 의사 결정에 따르는 경우가 많을 경우 오히려 ERP에 투자한 돈이 낭비가 되는 문제가 발생할 수 있다.
(물론 최근들어 외국과의 거래 시 필요한 서류 및 과정이 복잡해져 수출입 기업들의 경우 해당 기준을 임의로 판단하기엔 위험성이 커져 수출입 파트에만 한정적으로 ERP 모듈을 적용시키는 경우도 있다)
독일의 SAP SE란 기업에서 개발한 ERP 시스템이다.
위에서 설명한 ERP가 "빵집"이라면 SAP는 "성심당"이라는 느낌이며 독일 SAP SE 회사는 SAP의 높은 활용율에 힘입어 독일 시총 1위를 달리고 있다.
(교육 1개당 100만원 이상을 받는 무친 기업...)
SAP는 IFRS(국제회계기준)에 부합하는 재무 및 회계 관리가 가능하다.
채무, 채권, 재고와 고정자산 분석, 세금 및 비용 관리가 가능해지며 회계 장부도 생성해주기에 재무 거래의 자동화, 정확성, 그리고 투명성을 보장할 수 있다.
수요와 공급을 분석하여 재고, 오더, 물류, 공급자를 효율적으로 관리할 수 있다.
주문 관리, 가격 설정, 제품 및 재고 추적, 판매 분석 등을 통해 판매 프로세스를 효율화하고 고객 서비스를 개선할 수 있다.
고객사별 매출 분석을 통해 마케팅 혹은 영업팀에 도움을 줄 수 있고 가격이 어떻게 결정되었는지 쉽게 파악할 수 있다.
고객별 특화 저장 위치 및 제품 특징에 맞도록 고객 맞춤 서비스를 제공할 수 있으며 판매 History나 Complaint 해결 추적을 통해 고객과의 관계를 수급 및 강화할 수 있다.
생산 계획, 원가 계산, 제조 프로세스 관리, 품질 관리 등을 지원하여 생산 프로세스를 효율화하고 생산성을 높일 수 있다.
제품별 MRP(자재 소요량) Setting과 고객사 오더 주기 Setting을 통해 자동적으로 생산 오더가 생성되며 이를 위한 원자재 구매 오더도 생산된다.
SAP R/3는 ABAP/4 언어로개발된 ERP 패키지이다.
ABAP은 Advanced Business Application Programming의 약자이며 4는 4세대 언어라는 의미이다.
ABAP은 단순 DB 데이터 추출을 넘어서 프로그램과 DB를 논리적으로 구성할 수 있는 상위 레벨의 DB를 사용한다는 의미를 담은 축약어이다.
기존 SQL은 DCL, DML, DDL을 통해 데이터 및 Table 등을 생성/조회/삭제하기만 하였지만 ABAP은 이러한 데이터 및 프로세스들을 프로그램에 녹여 조금 더 고차원적인 DB 작업을 수행할 수 있다는 의미를 담은 것이다.
하지만 이는 SAP에서 발표한 내용에 불과하고, 그냥 SQL보다는 조금 고수준으로 만들어진 SAP 구성 프로그래밍 언어에 불과하다.
JAVA와 Python과 비교했을 때 ABAP은 한없이 저수준 언어이다.
ABAP 언어를 통해 SAP 시스템이 구성되어 있고 새로운 프로그램을 개발할 수 있는 것이다.
ABAP 개발 시 매우 많이 들을 단어이기에 지금 확실히 외워두고 가자
SAP에서 R/1, R/2, R/3 버전이 순차적으로 나와 1, 2, 3이 버전이라고 착각할 수 있다.
하지만 여기서 1, 2, 3은 "N-tier" 중 N을 의미한다.
Tier에 대해 설명하기 전 "R"부터 설명하자.
SAP에서 매우 중요시 생각하는 R은 "Real-time"의 첫 문자를 따온 것이다.
SAP가 개발될 당시 SW는 부가 상품 정도로만 간주되며 고가의 Mainframe의 HW만 중요시되었다.
Mainframe : 대형 컴퓨터. 통계 데이터, 금융 관련 전산 업무, ERP 같은 복잡한 작업을 처리하는 컴퓨터
문제는 Mainframe의 경우 데이터를 자기 테이프(Magnetic Tape)에 저장했기에 야간 배치를 통해 일괄 처리 시키는 경우가 많았으며 당연하게도 야간 배치가 돈 후에야 관리하는 데이터(재고, 회계 정보 등)가 실제 상황과 일치하게 되었다.
SAP는 이런 문제를 해결하기 위해 Process를 Real-time으로 처리하도록 만든 시스템이다.
R/1, R/2, R/3는 아래와 같은 특징을 가진다.