솔루션 홈
KSU5 · KSV5 · 관리회계

SAP 코스트센터 배부·배분 현황 — 보낸 쪽과 받은 쪽이 맞는가

배부와 배분 사이클의 발신·수신 전표를 조회하고, 차대 검증과 전월 대비 급변동을 확인하는 화면입니다.

공통비는 그대로 두면 어느 제품 원가에도 들어가지 않습니다. 그래서 발생한 곳에서 쓴 곳으로 옮기는 작업이 배부입니다.

배부는 보낸 만큼 받아야 합니다. 어느 한쪽이 빠지면 원가가 사라지거나 두 배가 됩니다. 그런데 배부 전표는 건수가 많아 하나씩 확인하기 어렵습니다. 표준 배부 구조를 그대로 이어받아 발신과 수신을 함께 검증하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 사이클 — 사이클 ID(CycleId)와 유형(CycleType) 배부·배분
  • 세그먼트 — 세그먼트 ID(SegmentId)와 배부 기준 설명
  • 라인 유형 — 발신·수신 구분(LineType)
  • 코스트센터 — 발신·수신 코스트센터(CostCenter)
  • 전표 — 전표번호(Belnr)와 전기일(Budat) · 귀속월(Zzim)
항목내용
대응 T-codeKSU5 (배부) · KSV5 (배분) · KSB1
업무 영역관리회계(CO-CCA) · 원가배부
Namespacezui5.ccalloc
셸 구조조회조건 영역(우측 조회·초기화) + 배부 라인 목록
화면 수조회 화면 1개 + 상세
데이터배부 라인 192건 · 코스트센터 8건
성격조회형(Read-Only) — 배부 실행은 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·귀속월·배부유형으로 조회하면 배부 라인이 나옵니다 → 발신과 수신 합계가 맞는지 검증하고 → 전월 대비 급변동한 세그먼트를 확인합니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

KSU5 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·회계연도·귀속월·배부유형을 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
KSU5 — 배부 현황
메인화면 — 사이클과 세그먼트
메인화면 — 사이클과 세그먼트 — 사이클 ID·유형·세그먼트와 함께 발신·수신 구분·코스트센터·전표번호·금액이 이어집니다. 발신 합계와 수신 합계가 함께 표시됩니다.
KSU5 — 급변동 확인
전월 대비 변동
전월 대비 변동 — 배부 금액이 전월과 크게 달라진 세그먼트가 상태 색으로 표시됩니다. 배부 기준이 바뀌었거나 원가가 급변한 신호입니다.

조작 방법

  1. 회사코드회계연도를 고릅니다.
  2. 귀속월 범위를 지정합니다. 전월 대비를 보려면 두 달을 함께 봅니다.
  3. 배부유형으로 배부와 배분을 나눕니다.
  4. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  5. 발신 합계수신 합계가 일치하는지 확인합니다.
  6. 전월 대비 급변동한 세그먼트를 확인합니다.
  7. 결과는 CSV 다운로드로 내려받아 원가 검토 자료로 씁니다.

검증 규칙

배부는 보낸 금액과 받은 금액이 같아야 합니다.

세그먼트별 검증
  Σ(발신 라인 금액) = Σ(수신 라인 금액)
  차이 ≠ 0  →  배부 오류 — 사이클 설정 확인

전월 대비 변동
  변동률 = (당월 − 전월) ÷ 전월 × 100
  변동률이 큰 세그먼트  →  기준 변경 또는 원가 급변 확인

배부(Assessment)  2차 원가요소로 집계해 이전
배분(Distribution) 1차 원가요소를 그대로 이전

배부와 배분을 구분하는 이유

배분은 원가요소를 그대로 옮기므로 받는 쪽에서 원래 비용이 무엇이었는지 보입니다. 배부는 여러 비용을 하나의 2차 원가요소로 묶어 보내므로 내역이 사라집니다. 추적이 필요하면 배분, 단순하게 가려면 배부를 씁니다.

배부 처리 4단계

단계내용결과
① 사이클 정의발신·수신과 배부 기준 설정사이클과 세그먼트
② 실행월말에 배부 실행발신·수신 전표
③ 검증차대 일치와 급변동 확인검증 결과
④ 반영수신 코스트센터에서 원가 활용제품 원가 반영

조회조건

필드필수설명
회사코드 Bukrs필수대상 법인
회계연도 Gjahr필수대상 연도
귀속월 Perio필수월 범위 From~To
배부유형 CycleType선택배부 / 배분
사이클 CycleId선택특정 사이클만
코스트센터선택발신 또는 수신

결과 컬럼

컬럼의미 · 표시
귀속월 Zzim · 기간 Perio배부 대상 기간
사이클 CycleId · 유형 CycleType배부 / 배분
세그먼트 SegmentId · SegmentText배부 기준 설명
라인 유형 LineType발신 / 수신
코스트센터 CostCenter보내는 곳 또는 받는 곳
전표번호 Belnr · 전기일 Budat배부 전표
금액배부 금액
발신 합계 · 수신 합계세그먼트별 집계
차이발신 − 수신. 0이 아니면 경고
전월 대비변동률

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
KSU5코스트센터 배부 실행발신·수신 검증을 얹어 조회
KSV5코스트센터 배분 실행같은 구조로 조회
KSB1코스트센터 실제 라인전표 라인 원천
COEPCO 전표 라인조회 원천
CSKS · CSKT코스트센터 마스터명칭
T811 계열사이클 설정세그먼트 정의

도입 시 확인이 필요한 부분

사이클 실행 순서가 중요합니다. 1차 배부 결과가 2차 배부의 입력이 되는 구조면 순서가 바뀌면 결과가 달라집니다. 또 배부를 여러 번 실행하면 중복될 수 있어 재실행 시 기존 전표를 취소하는지 확인해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCCCALLOC'
@EndUserText.label: '코스트센터 배부 현황 (Z)'
define view Z_C_CC_ALLOCATION
  as select from coep as Line
    left outer join csks as CCtr on Line.objnr = CCtr.objnr
{
  key Line.kokrs,
  key Line.belnr as Belnr,
  key Line.buzei,
      Line.gjahr, Line.perio,
      Line.budat,
      CCtr.kostl as CostCenter,
      Line.kstar as CostElement,
      Line.wtgbtr as Amount,
      // 발신은 음수, 수신은 양수로 기록됨
      case when Line.wtgbtr < 0 then '발신' else '수신' end as LineType
      // 사이클·세그먼트 정보는 배부 설정 테이블과 조인
      // 세그먼트별 발신 합계 = 수신 합계 검증은 소비 뷰에서
}
where Line.vrgng in ( 'KSU5', 'KSV5' )

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 배부 라인 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
라인 테이블sap.m.Table — 세그먼트 그룹, 발신·수신 소계
검증 표시sap.m.ObjectStatus — 일치 / 차이 발생
변동 표시전월 대비 변동률 색 구분

세그먼트별로 소계를 넣은 이유

배부 검증은 사이클 전체가 아니라 세그먼트 단위로 해야 합니다. 전체 합계는 맞는데 한 세그먼트에서 남고 다른 세그먼트에서 모자라면 상쇄돼 보이지 않습니다. 세그먼트마다 발신·수신 소계를 두면 그런 상쇄가 드러납니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.ccalloc) · ko 로케일
view/Main.view.xml조회조건과 배부 라인 테이블
controller/Main.controller.js조회 · 발신·수신 검증 · 변동률 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 변동률 · 상태 색 포맷터
localdata/ccalloc.json배부 라인 192건
localdata/costcenters.json코스트센터 8건

검증 결과

검증 항목결과
세그먼트별 발신 합계 = 수신 합계통과
전표별 차변 합계 = 대변 합계통과
발신 라인과 수신 라인이 같은 전표에 존재통과
전월 대비 변동률 = (당월 − 전월) ÷ 전월통과
코스트센터 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

배부와 배분 중 무엇을 써야 하나요?

받는 쪽에서 원래 비용 항목을 알아야 하면 배분, 단순히 금액만 넘기면 되면 배부입니다. 배분은 원가요소가 그대로 유지돼 추적이 되지만 라인 수가 많아집니다.

발신과 수신이 안 맞으면 무엇을 봐야 하나요?

사이클 설정의 수신자 규칙을 봅니다. 수신 코스트센터가 없거나 배부 기준값이 0이면 보낼 곳이 없어 금액이 남습니다.

배부를 다시 실행하면 중복되나요?

설정에 따라 기존 전표를 취소하고 다시 만들거나 추가됩니다. 재실행 정책을 확인하지 않으면 원가가 두 배로 잡힐 수 있습니다.

SAP 표준 기능과 어떻게 이어지나요?

배부 실행은 KSU5·KSV5 가 담당하고 결과는 CO 전표로 남습니다. 이 화면은 그 전표를 세그먼트 단위로 묶어 발신·수신 검증과 전월 대비 변동을 보여 주는 확장입니다.

원가배부 점검, 지금 쓰는 SAP 위에서 확장해 보세요

보낸 만큼 받았는지가 세그먼트별로 보이면 원가 검증이 끝납니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

코스트센터 배부배분 사이클KSU5KSV5CO-CCA원가배부발신 수신OpenUI5