SAP 원가 비교 — 같은 제품을 여러 기준으로 재어 보기
자재별 원가계산 결과를 원가요소별로 펼쳐 기준끼리 비교하고, 어느 요소에서 차이가 났는지 확인하는 화면입니다.
같은 제품의 원가가 여러 개 있습니다. 연초에 정한 표준원가, 이번 달 계산한 원가, 작년 원가가 모두 다른 숫자입니다.
총액만 비교하면 얼마나 달라졌는지는 알지만 왜 달라졌는지는 모릅니다. 재료비가 올랐는지 가공비가 늘었는지에 따라 대응이 다릅니다. 원가요소 단위로 펼쳐 비교하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 자재 — 자재코드(
matnr) · 명칭(maktx) · 자재유형(mtart) - 평가클래스 —
bklas로 제품·반제품 구분 - 플랜트 — 평가 영역(
bwkey) - 로트 크기 — 원가계산 기준 수량(
losgr)과 단위(meins) - 원가 구성 — 원가요소별 금액(
comp)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 관리회계(CO-PC) · 제품원가 |
| Namespace | zui5.costcmp |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 원가 비교 테이블 |
| 화면 수 | 조회 화면 1개 |
| 데이터 | 원가 비교 35건 |
| 성격 | 조회형(Read-Only) — 원가계산은 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 1종 둘러보기
자재·플랜트·기간으로 조회하면 원가계산 결과가 나옵니다 → 원가요소별로 펼쳐 비교하고 → 차이가 큰 요소를 짚어 냅니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 자재와 플랜트를 고릅니다. 같은 자재도 플랜트마다 원가가 다릅니다.
- 기간을 지정해 비교할 원가계산 시점을 정합니다.
- 자재유형이나 평가클래스로 범위를 좁힐 수 있습니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 로트 크기를 확인합니다. 기준 수량이 다르면 단위당 원가도 달라집니다.
- 원가요소별 금액을 비교해 차이가 난 요소를 찾습니다.
- 결과는 CSV 다운로드로 내려받아 원가 검토 자료로 씁니다.
비교 기준
같은 자재를 여러 기준으로 계산한 결과를 나란히 놓습니다.
단위당 원가 = 총원가 ÷ 로트 크기(losgr)
원가요소 구성
재료비 원자재·부자재 투입
가공비 활동유형 × 활동단가
간접비 배부된 제조간접비
요소별 차이 = 기준 A 금액 − 기준 B 금액
총원가 차이 = Σ(요소별 차이)
로트 크기를 반드시 확인해야 하는 이유
원가계산은 정해진 로트 크기 기준으로 합니다. 1,000개 기준으로 계산한 원가와 100개 기준으로 계산한 원가는 단위당 금액이 다릅니다. 준비 비용 같은 고정 요소가 나뉘는 수량이 달라지기 때문입니다. 로트 크기를 보지 않고 총액만 비교하면 엉뚱한 결론이 납니다.
원가 차이의 세 가지 원인
| 원인 | 내용 | 확인 대상 |
|---|---|---|
| 재료비 변동 | 원자재 단가나 소요량 변화 | BOM 과 구매 단가 확인 |
| 가공비 변동 | 활동단가나 표준시간 변화 | 활동단가와 라우팅 확인 |
| 간접비 변동 | 배부율이나 배부 기준 변화 | 배부 사이클 확인 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
자재 matnr | 선택 | 자재코드·명칭 |
플랜트 bwkey | 선택 | 평가 영역 |
기간 perio | 선택 | 원가계산 기간 |
자재유형 mtart | 선택 | 완제품 · 반제품 등 |
평가클래스 bklas | 선택 | 제품 · 반제품 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
자재 matnr · maktx | 자재코드와 명칭 |
자재유형 mtart · mtartTx | 완제품 등 |
평가클래스 bklas · bklasTx | 제품 분류 |
플랜트 bwkey | 평가 영역 |
원가계산일 · 기간 perio | 계산 시점 |
로트 크기 losgr · 단위 meins | 계산 기준 수량 |
원가요소별 금액 comp | 재료비 · 가공비 · 간접비 |
| 총원가 | 요소 합계 |
| 단위당 원가 | 총원가 ÷ 로트 크기 |
| 차이 | 비교 기준 간 금액 차이 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
CK13N | 원가추정 조회 | 원가요소별 비교를 한 화면에 |
CK11N | 원가추정 생성 | 계산 결과 원천 |
S_P99_41000111 | 원가추정 비교 리포트 | 차이 요소 식별 |
KEKO · KEPH | 원가추정 헤더와 원가요소 | 조회 원천 |
MARA · MAKT | 자재 마스터와 명칭 | 자재 정보 |
MBEW | 자재 평가 | 평가클래스 |
도입 시 확인이 필요한 부분
원가추정 변형(Costing Variant)에 따라 계산 기준이 다릅니다. 표준원가용과 시뮬레이션용이 따로 있고, 어느 변형끼리 비교하는지가 명확해야 결과가 의미를 갖습니다. 또 원가요소 그룹 구성이 회사마다 달라 열 구성도 그에 맞춰야 합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCCOSTCMP'
@EndUserText.label: '원가 비교 (Z)'
define view Z_C_COST_COMPARISON
as select from keko as CostHeader
inner join keph as CostItem on CostHeader.kalnr = CostItem.kalnr
and CostHeader.kalka = CostItem.kalka
and CostHeader.kadky = CostItem.kadky
left outer join makt as MatText on CostHeader.matnr = MatText.matnr
and MatText.spras = 'K'
{
key CostHeader.kalnr,
key CostHeader.kadky as CostingDate,
CostHeader.matnr,
MatText.maktx,
CostHeader.bwkey as Plant,
CostHeader.losgr as LotSize,
CostHeader.meins,
CostItem.elemt as CostElement,
CostItem.wertn as Amount
// 단위당 원가 = 총원가 ÷ 로트 크기
// 기준 간 차이는 같은 자재의 다른 원가추정을 조인해 계산
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 원가 비교 테이블 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 비교 테이블 | sap.ui.table.Table — 원가요소를 열로 펼침 |
| 차이 표시 | sap.m.ObjectNumber — 증감 부호 색 |
| 자재 정보 | 자재·플랜트·로트 크기를 고정 열로 |
원가요소를 열로 펼친 이유
요소를 행으로 두면 자재 하나가 여러 줄을 차지해 자재 간 비교가 어렵습니다. 요소를 열로 두면 한 자재가 한 줄이 되고, 어느 요소에서 차이가 났는지 가로로 읽힙니다. 요소 수가 많지 않은 제조업에서는 이 배치가 훨씬 빠릅니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.costcmp) · ko 로케일 |
view/Main.view.xml | 조회조건과 원가 비교 테이블 |
controller/Main.controller.js | 조회 · 요소별 전개 · 차이 계산 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 수량 · 차이 부호 포맷터 |
localdata/costcmp.json | 원가 비교 35건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 총원가 = 원가요소별 금액 합계 (전 건) | 통과 |
| 단위당 원가 = 총원가 ÷ 로트 크기 | 통과 |
| 요소별 차이 합계 = 총원가 차이 | 통과 |
| 자재·평가클래스 코드가 있으면 명칭도 존재 | 통과 |
| 로트 크기가 양수 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 후 캡처 | 통과 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
로트 크기가 다르면 비교가 안 되나요?
단위당 원가로 환산하면 비교됩니다. 다만 고정 요소가 나뉘는 수량이 달라 완전히 같은 조건은 아니므로 로트 크기를 함께 표시해 감안하게 합니다.
어느 기준끼리 비교하는 게 좋나요?
목적에 따라 다릅니다. 표준원가와 실제원가를 비교하면 차이 분석이 되고, 전년 표준과 올해 표준을 비교하면 원가 상승 요인이 보입니다.
차이가 재료비에서 나면 무엇을 확인하나요?
BOM 의 소요량과 원자재 단가를 봅니다. 소요량이 바뀌었으면 설계 변경이고, 단가가 올랐으면 구매 조건 문제입니다.
SAP 표준 기능과 어떻게 이어지나요?
원가계산은 표준 CO-PC 가 수행하고 결과는 원가추정 구조에 남습니다. 이 화면은 그 결과를 원가요소 단위로 펼쳐 기준 간 차이를 바로 보이게 하는 확장입니다.