본문 바로가기

SAP CO/깊숙한 개념

SAP ERP는 과연 경영계획의 Right Solution인가 - (2) SAC 검토

지난 글에 이어서 이번에는 SAP의 새로운 경영계획 솔루션인 SAC(SAP Analytic Cloud)를 살펴보고자 한다.

SAC가 대체 뭐길래 SAP의 경영계획 솔루션이 됐을까? 지금부터 하나씩 알아보도록 하자.

 

 

 


 

1. SAC(SAP Analytic Cloud)란 무엇인가?

SAC는 ① 경영분석/시각화, ② 경영계획/예산, ③ AI/ML 기능을 단일 플랫폼화한 클라우드 SaaS 기반 솔루션이다.

 

기본적인 차트

 

위 그림과 같은 형태의 분석/시각화 차트를 쉽게 만들 수 있다.

 

ERP에 친숙한 분들을 대상으로 설명해보자면, KE30 리포트 페인터를 보다 쉽게 시각화해서 만들 수 있는 툴이라고 보면 된다.

 

또한 사업계획을 수립할 수 있는 여러 기능을 제공한다.

 

이에 더불어 계획과 실적 데이터를 통해 미래 예측을 할 수 있는 머신러닝 툴과 자연어를 활용한 AI 기능이 함께 있다.

 

Try now를 누르면 무료 데모를 써볼 수 있다

 

SAP Analytics Cloud | BI, Planning, and Predictive Analysis Tools

 

위 사이트에서 무료 데모를 요청해서 30일간 이용해볼 수 있다. 일주일 남았을 때 한 번 더 연장해줘서 최대 60일까지 되더라.

 

(1) BW와는 뭐가 다른가?

이런 분석/시각화를 보시면 과거 BW가 떠오르는 분들이 있을 거다. 

 

분석/시각화에 있어서 결과물로만 봤을 때는 많이 유사한 솔루션이다. BW는 온프레미스가 되고 SAC는 클라우드로만 되는 차이가 있고, 그 외의 툴로서의 기능에 약간씩 차이가 있는 정도다. (사실 나는 BW는 잘 모른다...)

 

심지어 피오리 내에서도 Emebedded Analysis라는 게 있어 분석/시각화를 할 수 있다.

 

BW의 데이터 모델링 부분은 또 Data Sphere라는 새로운 솔루션으로 대체되고 있는 것 같다.

 

(2) BPC와는 뭐가 다른가?

계획 시스템에 있어서는 또 BPC와 유사하다. BPC도 SAC처럼 Excel Add-in을 통해 입력할 수 있는 경영계획 솔루션이다.

 

굳이 보자면 BPC는 Business Planning & Consolidation의 약자로, 경영계획(Business Planning)과 연결 재무제표(Consolidation)를 위한 솔루션이다. 근데 이 중에서 Consolidation에 대한 부분은 S/4HANA Group Reporting으로 대체되고 있는 것 같고, Business Planning에 대한 부분이 SAC로 대체되고 있는 것 같다.

 

 

2. SAC 경영계획의 핵심 기능은?

(1) 계획 프로세스 관리, 모니터링 기능

계획을 위한 일정계획이나 작업할당, 모니터링을 별도의 개발 없이 사용할 수 있다.

 

 

 

결국은 구글이나 다른 협업 툴의 캘린더 기능과 유사한데, 여기에 더불어 특정 기간이 되면 자동으로 프로그램이 실행된다든지, 또는 자동 마감되어 데이터를 입력할 수 없게 한다든지가 가능하다.

 

또, 해당 업무를 할당하면 그 내용이 자동으로 메일이 가는 것은 물론 특정 업무에 대해서 담당자와 협업 채팅할 수 있는 기능도 있다.

 

경영계획을 수립할 때 실무 담당자 입장에서 정말 짜증나는 게 바로 이런 취합/관리 업무이다. 이걸 별도의 개발 없이 관리할 수 있다는 건 확실한 장점이 되는 것 같다.

 

(2) 엑셀 기반으로 쉽게 입력

코스트센터나 계정에 있어서 하이어라키 구조만 세팅해두면, 입력할 때 자동으로 상위나 하위로 합산하거나 배분하는 기능이 있다. 별거는 아니지만 확실히 엑셀에서 수식으로 입력하는 것보다는 편한 부분이 있을 것 같다.

 

예를 들어 특정 상위 계정의 금액만 입력하면 자동으로 세부 계정 금액이 1/N되거나, 아니면 월별로 수립하기 어려운 계정들은 연 총액으로 입력하면 월별로 배부되거나 할 수 있다.

 

 

또는 위 그림처럼 아예 특정 여러 셀을 선택하고 배분하는 것도 가능하다.

 

또, 테스트는 못해봤지만 엑셀 프로그램 그 자체에서 Add-in으로 설치해서 입력할 수도 있다.

 

사실 감가상각비 스케쥴이나 인당 복후비 같은 정말 단순한 산식은, 그를 위해 ABAP 프로그램을 짜는 게 오히려 더 불편할 때가 있다. 상각비는 T-CODE: AR18을 통해 시뮬레이션한 금액을 계획값으로 넣어주는 기능이 있긴 하지만, 계획에 필요한 여러 조정값이나 미래 투자계획 등과 연계하기 위해서는 차라리 그냥 엑셀이 편할 때도 있다.

 

(3) 여러 계획 정보를 한 화면에서 입력

ERP에서처럼 상각비 계산, 계획 데이터 입력, SKF 입력, 배부, 액티비티 분할, 액티비티 단가 계산 같은 걸 각각의 화면을 실행해서 하나씩 수행할 필요가 없다. 한 화면에서 전부 입력하도록 구성할 수 있다.

 

 

예를 들어 위 그림은 상각비 스케쥴과 비용 계획을 한 화면에서 입력할 수 있도록 내가 예시로 짜본 것이다. 상각비 계획의 결과가 자동으로 비용계획에 반영될 수 있게 해봤다.

 

 

위 화면은 전력비를 전력량 SKF로 배부할 때 SKF 값과 비용계획 화면을 한 눈에 볼 수 있도록 (시뮬레이션도 해볼 수 있도록) 그려본 것이다. 이를 통해 SKF의 변화량에 따라 실제 비용이 어떻게 달라지는지를 확인할 수 있다.

 

또 위 화면에서는 따로 안 보였지만, SKF를 입력할 때도 전년도 실적 숫자와 비교해서 크게 튀는 부분은 Threshold로 눈에 띄게 보이게 한다든지, SKF의 근거 데이터는 무엇인지 연결해서 보게한다든지 세팅도 가능하다.

 

위 그림들과 같은 예시 화면을 구성하는 데에 정말 별로 긴 시간이 걸리지 않았다. (30분 정도?) 만약 ERP였다면 ABAP으로 하나하나 화면 개발이 필요한 부분이었을 것이다.

 

(4) 버전 관리 기능

물론 ERP에도 버전 관리 기능은 있다(T-CODE: OKEQ). 하지만 해당 버전에 필요한 세팅이 상당히 많고, 결국은 버전마다 데이터를 새롭게 다 입력해야 한다. 코스트센터 비용계획의 경우 버전별 복사 기능이 있긴 하지만, 배부 전의 금액만 될 뿐이라, 배부사이클이나 기타 로직들은 다 새로 돌려야 한다.

 

 

SAC에서는 버전을 공용버전과 개인버전으로 구분하고, 개인버전은 본인의 아이디 외에는 다른 사람은 건드릴 수 없는 버전으로 쓸 수 있다. 개인버전에서 입력이 완료된 데이터를 공용버전으로 릴리즈하는 방식이다.

 

버전별 데이터 복사도 어떤 단계든 자유롭게 수행할 수 있고, 버전별로 변경 이력을 관리하고 있어 마치 Ctrl+Z를 누른 것처럼 과거로 돌아갈 수 있는 기능도 있다. (난 이 Ctrl+Z 기능이 놀라웠다)

 

(5) 별도의 계획 품목 설정 (마스터 데이터와 관련하여)

실제로 마스터 테이블에 없는 항목이라도 마치 엑셀의 행 추가처럼 바로바로 추가해서 쓸 수 있다. 별도의 마스터 관리 화면으로 이동해서 추가하는 게 아니고(물론 그렇게도 할 수 있지만), 계획 입력 화면에서 마우스 우클릭으로 바로 입력하는 방식이다.

 

 

위 그림처럼 '멤버 추가'를 선택하면 된다.

 

그런데 마스터 데이터의 경우 ERP와 동기화는 어떻게 할까? SAC는 ERP와는 별도의 클라우드 서버이기 때문에, 마스터 데이터 그 자체는 결국 ERP의 데이터를 땡겨와서 만들 수 밖에 없다. 

 

그래서 ERP와는 마스터 데이터 관리에 있어 실시간 동기화는 할 수 없다. (SAC에서 Live Connection이라는 실시간 동기화 기능이 있긴 하지만, 이는 모델 데이터에 대해서만 되고 디멘션 테이블(마스터 데이터)에 대해서는 안 된다)

 

보통 우리가 '실시간 동기화'라는 게 늘 좋은 거라고 생각하기 때문에 이런 말을 들으면 안 좋은 게 아닌가 생각이 들 수 있다. 

 

그런데 생각해보면 계획 데이터를 입력할 때, 우리가 꼭 실시간 마스터 데이터 동기화를 할 필요가 있을까? 마스터 데이터는 계획 수립 전에 한 번만 땡겨와서 수립하는 게 오히려 낫지 않은가? 마스터 데이터는 ERP 운영에 따라서 계속해서 변화하는데, 계획용 BOM/라우팅 같은 별도 계획용 정보를 따로 가져가지 않는 이상, 마스터 데이터의 변화가 오히려 계획의 일관성을 해치지는 않을까?

 

그런 관점에서 계획 시스템에서 기준정보의 실시간 동기화가 관연 반드시 필요한 것인지 의문이 든다. 물론 서로 간의 데이터 일치는 필요하겠지만, 그게 반드시 실시간으로 동기화될 필요는 없을 거라고 본다.

 

(6) 배부 및 계산 기능(Data Action)

 

배부하거나 복사하는 기능도 쉽게 만들 수 있다. 센더/리시버/추적요인에 대한 세팅은 Assessment나 Distribution, Reposting, Indirect Activitiy Allocation 등 보다 훨씬 유연하고 직관적으로 만들 수 있다. 그냥 원하는 부분에 + 버튼을 눌러서 세팅하는 방식이다.

 

 

또는 별도의 계산 기능을 아예 로직으로 짜서 구현할 수도 있다. 이 때의 로직은 Low-code를 기반으로 현업 사용자도 어렵지 않게 구현할 수 있게끔 되어 있다.

 

 

아니면 아예 별도의 스크립트 언어로 로직을 짤 수도 있다.

 

배부에 있어서는 생각해보면 우리가 SAP ERP를 쓸 때 배부구조, 코스트센터/원가요소 그룹, 추적요인, 배부사이클 등을 Distribution이나 Assessment의 성격에 맞게끔 따로따로 구성을 해주곤 했는데, 요즘 다시 생각해보면 정말 그럴 필요가 있었는 일인가 의문이 든다.

 

과거에는 이게 정말 막강한 기능이라고 생각했었고, Distribution과 Assessment의 차이를 현업에게 가르치면서 '와 정말 컨설턴트 같다'라는 생각도 했었다. 근데 그걸 그런 개념들을 진정으로 나눠서 관리할 필요가 있는가? 원가요소 카테고리가 42번은 배부 계정이고 43번은 액티비티 배부 계정인 게 뭐 얼마나 그렇게 대단한 지식인가? 하는 의문이 든다.

 

SAP ERP의 실적 배부도 이제 Universal Allocation으로 통합되고 있으니 이제는 기존의 개념을 정말 재정의할 필요가 있을 것 같다.

 

(7) 통화 및 단위환산 기능

 

통화 및 단위환산 기능을 물론 지원한다. 사실 이 정도는 당연한 기능이라고 본다.

SAP의 TCURR 테이블을 땡겨오는 것도 해봤는데 어렵지 않게 됐었다.

 

 

환율 테이블은 위와 같이 생겼다. '범주'에 해당하는 부분에서 ERP의 환율 타입처럼 계획용이니, 예산용이니, 실적용이니 등을 설정할 수 있다. SAC에서의 환율 유형은 해당 환율이 평균환율인지 마감환율인지 여부이다.

 

환율 테이블은 SAP처럼 하나만 있는 게 아니고 추가로 얼마든지 더 만드는 것도 가능하다. 그래서 범주가 부족하거나 하진 않을 것 같다.

 

(8) 시뮬레이션 기능

 

여러 테이블을 하나의 화면 내에서 구성하는 방식으로 시뮬레이션이 쉽게 되긴 한다.

 

여기에 더불어 Value Driver Tree라는 기능이 있어서 특정 산식의 로직을 가시화하여 What-if 분석을 해볼 수도 있다.

 

 

위 그림처럼 오른쪽에는 테이블을 두고 왼쪽에는 트리 형태의 가시화된 로직을 두고서, 특정 값을 변경했을 때 그것이 전체 값에 어떤 변화를 일으키는지 확인해볼 수 있다.

 

(9) 예측 기능

기본적으로 분류, 회귀, 시계열 예측의 세 가지 머신러닝 기능을 지원하는데, 그 중에서 시계열 예측한 데이터는 특정 계획 버전에 저장할 수 있다.

머신러닝 기능. 근데 난 이런 통계기법에 대해서는 아직 잘 모른다...

 

 

 

특정 버전에 저장한 예측 데이터를 활용해 실적과 비교하거나, 특정 기간 이전까지는 실적, 특정 기간 이후로는 예측 데이터를 보여주는 등 활용할 수 있다.

 

 

 

또는 차트에서 마우스 우클릭을 통해 곧바로 예측을 돌려볼 수도 있다.

 

(10) SAP와 연계

SAC에서 수립한 경영계획 데이터는 SAP의 스탠다드 계획 테이블로 전송할 수 있다. 반대로 SAP의 데이터를 SAC로 가져오는 것도 간단하다.

 

이 때의 전송은 별도의 EAI 솔루션을 통할 필요가 없다. 간단한 세팅만으로 가능하다. (OData 덕분에)

 

 

위 그림처럼 SAC의 데이터가 ACDOCP에 입력된다.

 

관리회계 > 일반관리회계 > 계획 > 계획범주 유지보수

 

이를 위해서는 IMG 세팅에서 '임포트 가능'에 체크를 해둬야 한다.

 

그런데 SAC 내에서 계획을 수립하고, 실적 데이터를 땡겨와서 비교할 수 있는데 왜 굳이 다시 계획 데이터를 SAP로 보내야 할까?

 

ERP 내에서도 예산 통제, 배부 작업 시 참조값, 표준원가나 동시원가 계산 시의 참조값 등으로 계획 데이터를 사용할 필요가 있기 때문이다.

 

ECC에서 S/4HANA에 오면서 기존 ERP의 계획 기능에도 변화가 생겼다. 회계 테이블이 ACDOCA로 통합된 것처럼 계획 테이블도 ACDOCP로 통합하게 되었다. 이는 아래 표로 정리할 수 있는데,

 

항목 ECC 테이블 S/4HANA 테이블
기본 계획 테이블 COEJ, COSP ACDOCP
액티비티 단가 계획 테이블 COST ACCOSTRATE
SKF 계획 테이블 COEPR, COSR FINSSKF

 

이렇게 변경됐다. 새로운 테이블들은 어디에 쓰일까?

 

1. 새로운 배부기능인 Universal Allocation을 사용할 때 계획값을 참조하게 되면 ACDOCP나 FINSSKF를 쓴다.

 

2. 또 예전 글인 『S/4HANA 1909의 신기능 코스트센터 사전예산통제』에서 살펴봤던 것처럼 코스트센터 예산 통제 기능에서도 ACDOCP 테이블을 사용한다.

 

3. Event-based Production Costing에서 액티비티 단가 계획은 ACCOSTRATE를 쓴다고 한다. Event-based Production Costing은 UPA(Universal Palallel ledger Accounting)에서 필수 사항이기도 하다.

 

이제 더이상 KP06이나 KP26 같은 과거 계획 입력 T-CODE나, KSV5, KSU5, KEU5, FAGLGA15 등의 계획 배부 T-CODE나, KEPM 등 PA 계획 기능 등은 더이상 기능 업데이트가 없다는 점이 중요하다.

 

 

 

 

 


 

3. 그래서 SAC는 Right Solution인가?

지난 글인 『SAP ERP는 과연 경영계획의 Right Solution인가 - (2) SAC 검토』에서 짚어봤던 경영계획의 일반적인 이슈사항별로 하나씩 살펴보자.

 

(1) 여러 T-CODE 실행에 따른 긴 소요시간 → 극복 가능

여러 화면을 통합해서 입력할 수 있다. 데이터를 역분개하고 순차적으로 다시 돌리기보다는, 중간에서 마음껏 지우고 조정할 수 있다. 버전 이력 기능을 통해 과거로 돌아가기도 편리하다.

 

(2) 여러 참여자로부터 데이터를 취합/검증하기 까다로움 → 극복 가능

여러 참여자별로 팀을 구성하고 권한을 부여하고, 역할을 부여할 수 있다. 여기에 캘린더 기능과 공개/개인 버전 기능을 통해 쉽게 데이터를 취합하기에 용이하다.

 

(3) 경영진의 빠른 수정 요구나 오류 수정에 시간이 걸림 → 아마도 극복 가능

빠른 수정 요구에도 비교적 유연하게 대응할 수 있다. 버전 관리 기능이 좋고, 로직의 오류를 수정할 때도 그냥 엑셀 수식 고치듯이 고치면 된다.

 

다만 실제로 대량의 데이터 처리가 필요할 때도 충분한 속도를 보장하는지는 나는 아직 검증을 못해봤다.

 

(4) 시나리오에 따른 버전별 시뮬레이션이 부족함 → 극복 가능

버전은 훨씬 유연하게 설정할 수 있다. 시뮬레이션에 있어서도 여러 개의 변수나 관련 데이터를 한 화면에서 수정하고 결과를 확인하게 구성할 수 있다. 다만 하나의 변수가 뒷단의 여러 로직에 영향을 미치는 경우라면 한 화면에서 구성할 수는 있겠지만, 여전히 데이터를 계산하는 로딩 시간은 필요하다. 

 

결국 ABAP에서 여러 테이블을 하나의 화면으로 합쳐 구서하는 것과 유사하다. 그렇지만, 보통 CBO는 스탠다드 기능과 합쳐서 구현하기가 어렵다. 여기서는 그냥 내가 원하는 대로 구성할 수 있는 점, ABAP에서는 결국 하나하나 화면 개발을 해야 하지만 여기서는 Low-code 기반으로 쉽게 화면이나 테이블을 추가할 수 있는 점이 장점이다.

 

(5) 예외사항 반영이 어려움 → 극복 가능

역시 Low-code 기반의 강점이다. 예외사항이 생길 때 프로그램 소스를 고치는 어려운 과정을 거칠 필요 없이, 간단하게 데이터 로직을 수정하거나, 화면 내 산식을 추가하거나, 새로운 데이터 액션을 만드는 등으로 대처가 가능하다. 그리고 이런 로직 수정이 현업 수준에서 할 수 있을 정도로 쉬운 것도 좋은 부분이다.

 

(6) 자재코드 단위의 계획 편성 수준이 강제 → 극복 가능하나 어차피 따로 구현임

자재코드 단위로도 할 수 있고, 제품군이나 제품그룹 등 원하는 수준으로 구성할 수 있다.

 

ERP에서 자재코드 단위로 강제하는 경우는 관련된 스탠다드 프로그램이 모두 자재코드 단위로 수행되기 때문인데, SAC에서는 어차피 계획 화면은 각 회사에 맞게 따로 구현해야 하기 때문에 이런 부분에 제약이 없다.

 

근데 그렇게 따로 구현할 거면 ABAP으로 CBO를 만드는 것과 같지 않은가? 싶기도 한데, SAC의 장점은 ABAP보다 훨씬 쉽고 빠르게 화면을 구현할 수 있고, 로직 변화도 사용자가 직접 수정할 수 있다는 점이다.

 

(7) 계획용 신규 기준정보에 대한 반영이 어려움 → 극복 가능

위에서 봤던 것처럼 계획용 신규 기준정보를 간단히 마우스 우클릭으로 행 추가하듯이 할 수 있다.

 

 

(8) SAP 표준원가가 재고수불을 고려하지 않는 점, 액티비티 소요량 계획은 LOAD 방식만 되는 점 등 → 극복 가능하나 어차피 따로 구현임

이건 ERP와 같다. SAC는 별도 스탠다드 화면이란 개념이 없기 때문이다. 다만 비즈니스 요구사항에 맞게 ABAP보다 훨씬 쉽게 로직과 화면을 구현할 수 있다는 점이 장점이다.

 

 

 

 


4. 결론

어쩌다가 기회가 되어서 SAC를 검토해보게 됐다.

 

지난 프로젝트에서 경영계획을 SKU 수준 이상으로 정말 세밀하게 했었는데(Split Valuation까지 적용했었다), 실제로 운영단계에서 정말 많은 부작용이 있었다. 품목 수가 적은 해외법인에서는 비교적 수월하게 운영할 수 있었지만, 다품종에 BOM 레벨도 깊은 본사 환경에서는 LTP부터 제대로 맞추기가 쉽지 않았다.

 

그래서 경영계획만 몇 달에 걸쳐 작업하는 걸 내눈으로 지켜봐야했다. 그런데 결국에는 그 결과값도 보고자 원하는 값과는 괴리가 있었고, 필요한 조정을 하는데 정말 많은 시간이 소요됐었다. 결국에 경영계획이란 건 계산기인데, 그 계산기의 결과를 조정하기 위해서 수많은 기준정보의 수정과 예외 사항 반영이 필요했다.

 

그러다보니 정말 SAP ERP의 Classic Planning Function이 경영계획에 있어 정답의 솔루션인지 의문이 생겼고, 그 의문의 연장선상에서 이렇게 SAC까지 검토해보게 되었다.

 

사실 SAC에는 이 외에도 분석/시각화 기능도 상당히 좋다. ERP의 데이터를 임포트해와서 보여줄 수도 있지만, SAP의 솔루션인 만큼 CDS 뷰를 OData로 Publish해서 실시간으로 보여줄 수 있는 기능도 있다. (이건 Fiori의 Embedded Analysis와 유사하다)

 

이를 이용해서 코스트센터 비용 리포트나 수불부 리포트도 구현해봤다. 스펙을 쓸 시간 정도에 개발이 완료될 정도로 정말 빠른 시간 내에 구현이 가능해서 깜짝 놀랐다. 생각해보면 ABAP으로 ALV를 구현하려면 얼마나 귀찮은 코딩이 많았던가.

 

그리고 지금은 Just Ask라는 AI 기능이 있어 자연어 질문을 그대로 차트로 구현해주는 것도 있다. 이는 향후 Joule이라고 하는 SAP의 LLM으로 통합될 것으로 보이는데 이 부분도 상당한 포텐셜이 있어 보인다.

 

다만, 아직 국내에서 사례는 많지 않기 때문에 그 경과를 예의주시할 필요는 있을 것 같다. 2024년 현재 모 대형 프로젝트에서 SAC 도입을 진행하고 있는 걸로 아는데, 거기서 어떻게 될지 예의주시하고자 한다.

 

그와 별개로 어느 정도 적정 볼륨의 프로젝트라면 직접 수행해보고 싶다. 그만큼 상당히 포텐셜이 있는 솔루션이라고 느낀다.