SAP 사업 실적 분석 자료 수집 — 흩어진 값을 모아 한 벌로
여러 원천에서 실적 자료를 모아 검증하고, 분석용 데이터로 저장하는 화면입니다.
분석 자료를 만들려면 먼저 모아야 합니다. 그런데 원천이 여럿이면 모으는 과정에서 빠지거나 중복되는 일이 생깁니다.
합계가 맞는지 확인하지 않고 저장하면 그 자료로 만든 분석이 전부 틀립니다. 수집과 검증을 한 화면에서 하고 저장까지 이어지도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 수집 대상 — 원천별 실적 데이터
- 사업장 — 수집 단위(
BPL) - 기간 — 수집 대상 기간
- 합계 — 원천별·전체 합계 검증값(
funcGetSUM) - 저장 — 일괄 저장 결과(
SaveBatchData)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 관리회계(CO) · 실적 분석 준비 |
| Namespace | co025_performanceanalysis |
| 셸 구조 | 조회조건 영역 + 수집 데이터 테이블 + 합계 검증 + 저장 |
| 화면 수 | 수집·저장 화면 1개 |
| 데이터 | 수집 원본과 저장 결과 등 다중 엔티티 |
| 성격 | 수집·처리형 — 저장 시 분석 테이블에 반영 |
| 주요 동작 | 수집 · 합계 검증 · 일괄 저장 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 2종 둘러보기
기간·사업장으로 수집하면 원천별 데이터가 모입니다 → 합계가 맞는지 검증하고 → 이상이 없으면 일괄 저장합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 기간을 수집 대상으로 지정합니다.
- 사업장으로 수집 범위를 정합니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 수집됩니다.
- 원천별 합계를 확인합니다.
- 전체 합계와 원천 합계가 일치하는지 봅니다.
- 이상이 없으면 일괄 저장을 실행합니다.
- 저장 결과는 건수와 메시지로 확인합니다.
수집·검증 규칙
모은 값이 원천과 맞는지 확인한 뒤 저장합니다.
수집 원천별로 기간·사업장 조건에 맞는 데이터 추출
검증 Σ(원천별 합계) = 전체 합계
차이 ≠ 0 → 누락 또는 중복 — 저장 차단
저장 검증 통과 시 분석 테이블에 일괄 반영
결과를 건수와 메시지로 반환
재수집 같은 조건으로 다시 수집하면 기존 자료 갱신
저장 전에 합계를 검증하는 이유
수집은 한 번에 많은 데이터를 다루므로 몇 건 빠져도 눈에 띄지 않습니다. 그대로 저장하면 그 자료로 만든 분석이 전부 틀리고, 나중에 원인을 찾기도 어렵습니다. 합계 검증을 통과해야 저장되게 하면 그 시점에 걸러집니다.
분석 자료 준비 4단계
| 단계 | 내용 | 결과 |
|---|---|---|
| ① 수집 | 원천에서 데이터 추출 | 원본 데이터 |
| ② 검증 | 합계와 건수 확인 | 검증 결과 |
| ③ 저장 | 분석 테이블에 반영 | 분석용 데이터 |
| ④ 분석 | 보고서와 지표 산출 | 경영 자료 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 기간 | 필수 | 수집 대상 기간 |
사업장 BPL | 선택 | 수집 단위 |
| 원천 | 선택 | 수집할 데이터 원천 |
| 상태 | 선택 | 미저장 / 저장 완료 |
결과 컬럼
수집 데이터
| 컬럼 | 의미 |
|---|---|
사업장 BPL | 수집 단위 |
| 기간 | 대상 기간 |
| 원천 | 데이터 출처 |
| 항목 · 금액 | 수집된 값 |
| 건수 | 원천별 레코드 수 |
검증·저장
| 항목 | 의미 |
|---|---|
| 원천별 합계 | 출처 단위 합계 |
| 전체 합계 | 수집 총계 |
| 차이 | 검증 결과. 0이 아니면 저장 차단 |
| 저장 건수 | 반영된 레코드 수 |
| 결과 메시지 | 성공 / 실패 안내 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
ACDOCA | 유니버설 저널 | 수집 원천 |
KE24 | CO-PA 실제 데이터 | 수익성 원천 |
FS10N | 계정 잔액 | 검증 대조 |
| 분석 테이블 | 저장 대상 | 수집 결과 보관 |
T001W | 사업장 마스터 | 수집 단위 |
도입 시 확인이 필요한 부분
재수집 시 기존 자료를 어떻게 처리할지 정해야 합니다. 덮어쓰면 간단하지만 이전 값이 사라져 비교가 안 됩니다. 이력을 남기면 추적은 되지만 데이터가 계속 쌓입니다. 보관 기간과 함께 결정해야 합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCPERFDATA'
@EndUserText.label: '실적 분석 수집 자료 (Z)'
define view Z_C_PERFORMANCE_DATA
as select from acdoca as Line
{
key Line.rbukrs as Bukrs,
key Line.gjahr,
key Line.poper as Period,
key Line.bupla as BusinessPlace,
key Line.racct as Account,
sum( Line.hsl ) as Amount,
count(*) as RecordCount
// 원천별 합계와 전체 합계를 비교해 검증
// 저장은 분석 테이블에 일괄 반영
}
group by Line.rbukrs, Line.gjahr, Line.poper, Line.bupla, Line.racct
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 · 데이터 테이블 · 검증 |
| 조회조건 | sap.m.DatePicker · sap.m.Select — 우측 끝에 조회 |
| 데이터 테이블 | sap.ui.table.Table — 원천별 그룹 |
| 검증 표시 | sap.m.ObjectStatus — 일치 / 불일치 |
| 저장 | 검증 통과 시에만 활성화, 결과 메시지 표시 |
| 이벤트 | onPAI 단일 진입점, fcCode 로 분기 |
검증 통과 전에는 저장을 막는 이유
경고만 띄우고 저장을 허용하면 바쁠 때 그냥 넘어갑니다. 그러면 검증의 의미가 없어집니다. 버튼 자체를 비활성화하면 반드시 원인을 확인하게 되고, 잘못된 자료가 분석 단계로 넘어가지 않습니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — ko 로케일 · sap_horizon |
view/Main.view.xml | 조회조건 · 데이터 테이블 · 검증 |
controller/Main.controller.js | 수집 · 합계 검증 · 일괄 저장 |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 건수 · 상태 포맷터 |
localdata/ZFCMC_F02_C020_RAW.json | 수집 원본 |
localdata/funcGetSUM.json | 합계 검증 |
localdata/SaveBatchData.json | 저장 결과 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 원천별 합계 합 = 전체 합계 | 통과 |
| 차이가 0이 아니면 저장 차단 | 통과 |
| 저장 건수 = 수집 레코드 수 | 통과 |
| 재수집 시 기존 자료 갱신 | 통과 |
| 사업장 코드가 있으면 명칭도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 수집·저장 실동작 후 캡처 | 2/2 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
합계가 안 맞으면 무엇을 봐야 하나요?
원천별 건수를 먼저 봅니다. 한 원천이 통째로 빠졌는지, 일부 레코드만 누락됐는지에 따라 조회 조건 문제인지 데이터 문제인지 갈립니다.
같은 기간을 다시 수집해도 되나요?
됩니다. 기존 자료가 갱신됩니다. 다만 이력을 남기는지 덮어쓰는지에 따라 이전 값과 비교할 수 있는지가 달라집니다.
수집한 자료는 어디에 쓰이나요?
사업 실적 분석과 경영 보고서의 원천이 됩니다. 이 단계에서 정확해야 뒤따르는 분석이 신뢰를 얻습니다.
SAP 표준 기능과 어떻게 이어지나요?
원천 데이터는 표준 회계·관리회계 구조에 있습니다. 이 화면은 그것을 분석용으로 모으고 합계를 검증한 뒤 저장까지 한 흐름으로 만든 확장입니다.