솔루션 홈
예산 이월현황

SAP 예산 이월현황 — 전기 미집행 예산이 다음 해로 얼마나 넘어갔나

회계연도가 끝나면 내부오더·WBS 별로 KO24·CJCO 를 하나씩 실행해야 합니다. 어느 오브젝트가 아직 이월 대상인지 한 화면에서 모아보는 조회 화면입니다.

회계연도가 끝나면 내부오더·WBS 예산 중 다 쓰지 못한 부분이 남습니다. 이 잔액을 다음 해로 넘기는 작업이 예산 이월이고, SAP 에서는 KO24(내부오더)와 CJCO(WBS)가 이 역할을 합니다. 문제는 두 트랜잭션 모두 오브젝트 하나씩 실행하는 구조라, 오브젝트 수가 많아지면 어느 오브젝트를 아직 처리하지 않았는지를 놓치기 쉽다는 점입니다.

전기 예산과 실적·커미트먼트를 다시 집계해 미집행잔액을 구하고, 신년도 예산 문서에 이월 항목이 있는지를 대조해 오브젝트마다 이월완료 · 이월대상 · 이월없음을 판정합니다. SAP 표준 예산 문서 구조(BPJA)를 그대로 이어받아 이 판정을 한 화면에서 모아 보도록 OpenUI5 화면으로 확장한 것이 ZLCO06120입니다. 실제 구동 화면 4종을 함께 공개합니다.

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

  • 예산 원천 — CO 오브젝트 연도별 예산금액(BPJA) 구조를 그대로 사용, 문서유형(원편성·증액·감액·이월)도 표준 개념 그대로
  • 오브젝트 마스터 — 내부오더(AUFK) · WBS(PRPS/PROJ)
  • 실적·커미트먼트 — CO 라인아이템(COSS/COSP) 구조의 실적·구매요청·구매발주 값
  • 텍스트 — 책임코스트센터(CSKS/CSKT)
  • 업무 흐름 — KO24/CJCO 가 실행하는 이월 자체는 그대로 두고, 그 결과를 오브젝트 전체 관점으로 모아 조회하는 확장
항목내용
업무 영역관리회계(CO) · 예산관리 · 예산 이월
Namespacezui5.budgetcf
셸 구조조회조건 영역(우측 조회) + 오브젝트별 이월현황 목록, 예산 문서 이력·실적 상세 Dialog
화면 수조회 화면 1개 + 상세 다이얼로그
대응 T-codeKO24(내부오더 예산 이월) · CJCO(WBS 예산 이월)
성격조회·검증형 — 예산 편성과 이월 실행은 표준 트랜잭션이 담당
UI 테마sap_horizon 단일 적용

실제 화면 4종 둘러보기

회사코드·이월연도·오브젝트유형을 넣고 조회하면 오브젝트별 이월현황이 목록으로 뜹니다 → 왼쪽 색상 막대로 이월상태를 확인하고 → 상세 버튼으로 예산 문서 이력과 실적·커미트먼트 내역을 드릴다운합니다.

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

Main.view.xml
조회조건 초기 화면
조회조건 초기 화면 — 회사코드·이월연도·오브젝트유형·오브젝트번호·오브젝트명·책임코스트센터·이월상태 조건이 조회조건 영역에 놓이고, 조회 버튼은 영역의 가장 오른쪽에 있습니다.
Enter 키 조회
오브젝트명 부분일치 조회 결과
오브젝트명 부분일치 조회 결과 — 오브젝트명에 "설비"를 입력하고 Enter 키를 누르면 조회 버튼을 누르지 않아도 바로 결과가 갱신됩니다.
전체 조회 결과
이월상태별 행 강조가 적용된 전체 조회 결과
이월상태별 행 강조 — 왼쪽 색상 막대로 이월상태(초록=이월완료, 주황=이월대상)를 구분하고, 제목 영역과 하단 툴바에 전기미집행잔액·이월금액 합계가 함께 표시됩니다.
상세 다이얼로그
예산 문서 이력과 실적/커미트먼트 상세
예산 문서 이력과 실적/커미트먼트 상세 — 행의 상세 버튼을 누르면 연도별 예산 문서 이력(원편성·증액·감액·이월)과 실적·커미트먼트 전표 내역이 함께 펼쳐집니다.

조작 방법

  1. 회사코드 · 이월연도는 필수 조건입니다. 이월연도는 "이월받는 연도"를 뜻하며, 2026을 선택하면 2025→2026 이월 내역을 조회합니다.
  2. 오브젝트유형(전체/내부오더/WBS) · 오브젝트번호 · 오브젝트명 · 책임코스트센터 · 이월상태는 보조 조건입니다. 오브젝트번호·오브젝트명은 부분일치입니다.
  3. 조회조건 입력필드에서 Enter 키를 눌러도 바로 조회됩니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
  4. "전기미집행잔액 0 제외" 옵션을 켜면 예산을 전액 소진해 이월할 필요가 없던 오브젝트를 결과에서 뺍니다.
  5. 결과 목록 왼쪽 색상 막대가 이월상태를 나타냅니다 — 주황(이월대상, 조치 필요) · 초록(이월완료).
  6. 행의 상세 버튼을 누르면 예산 문서 이력(원편성·증액·감액·이월)과 실적/커미트먼트 내역이 다이얼로그로 펼쳐집니다.
  7. 목록과 상세 전표 내역은 각각 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.

이월대상·이월완료 판정 기준

오브젝트마다 아래 순서로 계산해 이월상태를 매깁니다. 값을 저장해두지 않고 예산 문서와 실적·커미트먼트 전표를 조회 시점에 다시 집계하므로, 실제 KO24·CJCO 이월 결과가 바뀌면 화면도 곧바로 같이 바뀝니다.

단계계산
① 전기예산전기(이월연도−1) 예산 문서 중 원편성 + 증액 + 감액 금액의 합
② 전기실적+커미트먼트전기에 발생한 실적 집행 + 커미트먼트(구매요청·구매발주) 금액의 합
③ 전기미집행잔액max(0, ① − ②) — 실적이 예산을 넘어도 0 아래로 내려가지 않습니다
④ 이월금액당해(이월연도) 예산 문서 중 문서유형이 "이월"인 금액의 합
⑤ 이월상태③이 0이면 이월없음 · ④가 0보다 크면 이월완료 · 그 외면 이월대상

이월비율이 100%가 아닌 경우가 많은 이유

실제 KO24·CJCO 는 회사 정책에 따른 이월 한도를 적용해 미집행잔액 전액이 아니라 일부만 이월하는 경우가 많습니다. 그래서 이월완료로 판정된 오브젝트라도 이월금액이 전기미집행잔액보다 작을 수 있으며, 화면은 그 비율을 이월비율 컬럼으로 함께 보여줍니다.

예산 이월 처리 4단계

화면이 보여주는 값은 아래 4단계로 이어지는 연말·연초 예산 이월 업무 흐름의 결과입니다.

단계내용
1. 전기 예산 확정회계연도 중 발생한 원편성·증액·감액 문서가 모두 반영되어 전기 최종예산이 확정됩니다.
2. 전기 실적·커미트먼트 마감연말까지 집행된 실적과 아직 확정되지 않은 커미트먼트(구매요청·구매발주)가 함께 집계됩니다.
3. 미집행잔액 산출전기예산에서 실적+커미트먼트를 차감해 오브젝트별 미집행잔액, 즉 이월 후보 금액을 구합니다.
4. 신년도 이월 반영KO24·CJCO 실행으로 미집행잔액(또는 그 일부)이 신년도 예산 문서로 추가되어 최종예산이 만들어집니다.

화면의 "당해원편성예산" 컬럼은 4단계 이전(이월 반영 전) 금액이고, "당해최종예산" 컬럼은 4단계가 끝난 뒤(이월 반영 후) 금액입니다.

조회조건

필드필수설명
회사코드필수대상 회사코드
이월연도필수이월받는 연도. 전기는 이월연도-1로 자동 계산
오브젝트유형선택전체 / 내부오더 / WBS(프로젝트)
오브젝트번호 · 오브젝트명선택부분일치, Enter 키로 즉시 조회
책임코스트센터선택오브젝트에 연결된 책임 코스트센터
이월상태선택전체 / 이월완료 / 이월대상 / 이월없음
전기미집행잔액 0 제외선택이월 필요가 없던 오브젝트를 결과에서 제외

결과 컬럼

컬럼의미 · 표시
유형 · 오브젝트번호 · 오브젝트명내부오더/WBS 구분과 식별 정보
책임코스트센터코드와 명칭을 함께 표시
전기예산 · 전기실적+커미트먼트우측정렬, 천단위 콤마
전기미집행잔액이월 후보 금액, 0보다 크면 강조 표시
이월금액 · 이월비율당해 예산 문서 중 이월 유형 금액과 그 비율
당해원편성예산 · 당해최종예산이월 반영 전/후 당해연도 예산
이월상태 · 이월처리일이월완료/이월대상/이월없음 배지와 처리일자

컬럼이 14개(10개 초과)이고 다건 조회 화면이므로 결과 테이블은 sap.ui.table.Table 을 사용합니다. 상세 다이얼로그의 소량 표시는 sap.m.Table 을 씁니다.

SAP 표준 기능 매핑

이 화면은 예산 이월 트랜잭션 자체를 대체하지 않습니다. 예산 편성과 이월 실행은 표준 트랜잭션이 담당하고, 이 화면은 그 결과를 오브젝트 전체 관점에서 모아 보여주는 조회·검증 구성입니다.

T-code · 오브젝트역할
KO24내부오더 예산 이월 실행 — 전기 미집행잔액을 신년도 예산으로 이월
CJCOWBS(프로젝트) 예산 이월 실행 — 내부오더와 동일한 개념을 프로젝트 오브젝트에 적용
KO22 · CJ30내부오더 · WBS 예산 편성(원편성·증액·감액) — 이월의 전제가 되는 예산 확정
BPJACO 오브젝트 연도별 예산 금액 — 원편성/증액/감액/이월 문서가 모두 이 구조에 쌓임
AUFK · PRPS/PROJ내부오더 마스터 · WBS 요소/프로젝트 정의 마스터
COSS · COSPCO 오브젝트 실적·커미트먼트 라인
CSKS · CSKT코스트센터 마스터 · 텍스트

도입 시 확인이 필요한 부분

이월 한도(회사 정책상 이월가능 비율), 이월 대상 문서유형의 실제 코드값, 커미트먼트에 포함할 범위(구매요청만 볼지 구매발주까지 볼지)는 회사·업종별 정책에 따라 달라지므로 실제 도입 때는 업무 기준에 맞춰 조정합니다.

참고 CDS 뷰

운영 서비스로 연결할 때는 예산 문서에 오브젝트·코스트센터 명칭을 붙인 뷰로 서빙하는 구성을 제안합니다.

@AbapCatalog.sqlViewName: 'ZIFIBUDGETCF'
@EndUserText.label: '예산 이월현황 (KO24/CJCO)'
define view Z_C_BUDGET_CARRYFORWARD
  as select from bpja as Bud
    inner join      aufk as Order      on  Order.objnr = Bud.objnr
                                       and Bud.objty = 'OR'
    left outer join csks as Cctr       on  Cctr.kokrs = Order.kokrs
                                       and Cctr.kostl = Order.kostv
    left outer join cskt as CctrText   on  CctrText.kokrs = Cctr.kokrs
                                       and CctrText.kostl = Cctr.kostl
                                       and CctrText.spras = 'K'
{
  key Bud.objnr,
  key Bud.gjahr,
      Order.aufnr             as OrderId,
      Order.ktext             as OrderText,
      Cctr.kostl               as CostCenter,
      CctrText.ktext            as CostCenterText,
      Bud.wrttp                as ValueType,
      Bud.wtjhr                as AnnualBudgetAmount,
      Bud.twaer                as Currency
      // WBS 예산은 objty='PR' 로 PRPS 와 조인하는 동일 구조의 별도 뷰로 결합
      // 실적/커미트먼트는 COSS 를 GJAHR·OBJNR 로 집계해 별도 뷰로 결합
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경의 이월 한도 정책과 커미트먼트 포함 범위에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.f.DynamicPage + 조회조건 헤더 + 결과 목록(footer 없음)
조회조건sap.ui.layout.form.Form — 우측 끝에 조회 버튼, Enter 키 조회 지원
결과 목록sap.ui.table.Table — 이월상태별 행 강조, 합계 footer
상세 다이얼로그sap.m.DialogObjectHeader + 예산 문서 이력/실적 sap.m.Table 2종
다운로드CSV(UTF-8 BOM) 공통 함수
포맷금액·비율·일자·이월상태·문서유형 포맷터

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon · lodash · moment
Component.js조회조건 모델 · 결과 모델 초기화
manifest.json앱 디스크립터 — 앱 ID(zui5.budgetcf) · ko 로케일
view/Main.view.xml조회화면 + 결과 목록 + 상세 Dialog
controller/Main.controller.js조회 · 집계로직(전기예산/실적/미집행/이월) · 상세 다이얼로그
model/ModelMock.jslocaldata JSON 읽기(Promise)
model/formatter.js금액 · 비율 · 일자 · 이월상태 포맷
i18n/i18n_ko.propertiesko 로케일 리소스
localdata/*.json오브젝트 · 예산 문서 · 실적/커미트먼트 검증용 데이터

검증 결과

화면 구성에 쓴 데이터는 오브젝트 50건(내부오더 30 · WBS 20) · 예산 문서 162건 · 실적/커미트먼트 전표 351건이며, 전기미집행잔액 합계는 약 27.5억원, 이월금액 합계는 약 18.3억원(이월비율 약 66.5%)입니다.

검증 항목결과
전기미집행잔액 = max(0, 전기예산 − 전기실적+커미트먼트)통과
이월금액은 전기미집행잔액을 초과하지 않음통과
당해최종예산 = 당해원편성예산 + 이월금액통과
이월금액 음수 없음통과
집계로직 실행검증 — 컨트롤러와 동일 로직을 node 로 오브젝트 50건 재계산오류 0건
화면 렌더링 — 실브라우저에서 조회 → Enter 조회 → 상세 다이얼로그 실동작 후 캡처4/4
조회 버튼 위치 · 적용 테마(sap_horizon)확인

오브젝트·금액·코스트센터는 모두 검증용 데이터입니다.

자주 묻는 질문

이월비율이 100%가 아닌 오브젝트가 있는 이유는 무엇인가요?

실제 KO24·CJCO 는 회사 정책에 따른 이월 한도를 적용해 미집행잔액 전액이 아니라 일부만 이월하는 경우가 많습니다. 이 화면이 다루는 데이터도 이월완료 오브젝트의 이월비율이 50~100% 사이에 분포하도록 구성되어 있어, 100%가 아니라고 해서 잘못된 값은 아닙니다.

"이월대상" 상태는 무엇을 의미하나요?

전기 미집행잔액은 있는데(이월할 금액이 있는데) 당해연도 예산 문서에 이월 유형 항목이 아직 없는 오브젝트를 가리킵니다. 연말 이월 작업이 누락됐거나 아직 처리 전인 오브젝트를 빠르게 찾아내는 용도로 씁니다.

내부오더와 WBS를 같은 화면에서 봐도 되나요?

실무에서는 KO24(내부오더)와 CJCO(WBS)를 각각 실행하지만, 두 트랜잭션이 만드는 예산 이월 결과는 같은 BPJA 구조(오브젝트번호 기준)에 쌓입니다. 이 화면은 그 공통 구조를 이용해 오브젝트유형 필터 하나로 두 유형을 함께 조회하도록 확장했습니다.

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

예산 편성(KO22·CJ30)과 이월 실행(KO24·CJCO)은 모두 표준 트랜잭션이 담당합니다. 이 화면은 그 결과 데이터를 오브젝트 전체 관점으로 모아, 아직 이월되지 않은 오브젝트를 빠르게 찾아내는 조회·검증 화면으로 확장한 것입니다.

예산 이월현황, 지금 쓰는 SAP 위에서 확장해 보세요

연말마다 오브젝트를 하나씩 열어 이월 여부를 확인하는 대신, 화면 하나로 모아 보면 누락 점검 시간이 줄어듭니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

예산 이월현황KO24CJCOBPJA내부오더WBSCOOpenUI5