솔루션 홈
FBV3 · 전표 통제

SAP 미결전표 결재 현황 — 어느 단계에서 멈춰 있는가

결재 대기 중인 전표를 결재자와 단계별로 모아, 상신부터 승인까지 어디서 멈췄는지 확인하는 화면입니다.

전표를 올렸는데 반영이 안 됐다는 문의가 오면 확인할 것은 하나입니다. 지금 누구 앞에 놓여 있는가.

결재함은 결재자 본인만 볼 수 있어서, 재무 담당자가 전체 흐름을 보려면 여러 곳을 뒤져야 합니다. 표준 임시 전표와 결재 구조를 그대로 이어받아 단계와 대기자를 한 화면에 모으도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.

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

  • 전표 키 — 전표번호(docNo)와 회계연도(fiscalYear)
  • 전표유형 — docType 와 텍스트로 매출전표 등 구분
  • 상신 정보 — 상신일(submitDate)과 상신자(submitter)
  • 결재 상태 — 대기·승인·반려(status)와 승인일 · 반려사유
  • 전표 라인 — 계정 · 차대 · 금액을 표준 구조 그대로
항목내용
대응 T-codeFBV3 (임시 전표 조회) · SBWP
업무 영역재무회계(FI) · 전표 결재
Namespacezui5.approval
셸 구조조회조건 영역(우측 조회·초기화) + 결재 현황, 행 선택 시 라인과 결재 단계
화면 수조회 화면 1개 + 상세
데이터결재 대상 34건 (라인·결재단계 포함)
성격조회형(Read-Only) — 결재와 전기는 표준·워크플로가 담당
UI 테마sap_horizon 단일 적용

실제 화면 2종 둘러보기

회사코드·상태·결재자로 조회하면 결재 중인 전표가 모입니다 → 대기 일수가 긴 건을 가려내고 → 행을 눌러 전표 라인과 결재 단계를 확인합니다.

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

FBV3 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·전표유형·상태·결재자를 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
FBV3 — 결재 현황
메인화면 — 상신부터 승인까지
메인화면 — 상신부터 승인까지 — 전표번호·회계연도·전표유형·금액과 함께 상신일·상신자·결재자·상태가 이어집니다. 대기 건과 반려 건이 상태 색으로 구분되고, 행을 고르면 전표 라인과 결재 단계가 펼쳐집니다.

조작 방법

  1. 회사코드를 고르고 필요하면 전표유형으로 좁힙니다.
  2. 상태로 대기·승인·반려를 나눕니다. 보통 대기 건부터 봅니다.
  3. 결재자로 특정 담당자 앞에 쌓인 건을 확인할 수 있습니다.
  4. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  5. 상신일이 오래된 건부터 처리합니다. 결재가 막힌 지점입니다.
  6. 반려 건은 사유를 확인하고 재작성 여부를 정합니다.
  7. 행을 선택하면 전표 라인과 결재 단계 이력이 열립니다.
  8. 결과는 CSV 다운로드로 내려받습니다.

결재 단계 판정

상태와 단계를 함께 봐야 어디서 멈췄는지 알 수 있습니다.

대기 일수 = 오늘 − 상신일(submitDate)

PENDING   →  대기 — 현재 결재자 확인
APPROVED  →  승인 완료 (승인일 존재) → 전기 대상
REJECTED  →  반려 (반려사유 존재) → 재작성 또는 폐기

결재 단계(approvalSteps) — 단계별 결재자와 처리 시각 이력

대기 일수를 보는 이유

결재 건수만 세면 "대기 12건" 으로 끝납니다. 그런데 오늘 올라온 12건과 2주째 묶인 12건은 전혀 다른 상황입니다. 대기 일수로 정렬하면 병목이 되는 결재자와 반복적으로 늦어지는 전표 유형이 드러납니다.

결재 흐름 4단계

단계내용남는 기록
① 작성담당자가 전표를 임시 저장임시 전표 생성
② 상신결재 요청상신일 · 상신자 기록
③ 결재단계별 승인 또는 반려단계 이력 누적
④ 전기최종 승인 후 원장 반영정식 전표 번호

④ 전에는 원장에 반영되지 않으므로, 결재가 멈추면 재무제표에도 잡히지 않습니다.

조회조건

필드필수설명
회사코드 bukrs필수대상 회사코드
전표유형 docType선택매출전표 등
상태 status선택대기 / 승인 / 반려
결재자 approver선택특정 결재자 앞의 건
상신자 submitter선택작성 담당자
상신일 submitDate선택기간 From~To

결과 컬럼

컬럼의미 · 표시
전표번호 docNo · 회계연도 fiscalYear전표 식별
회사코드 bukrs · bukrsText귀속 법인
전표유형 docType · docTypeText코드와 명칭
금액 amount · 통화 currency전표 총액
상신일 submitDate · 상신자 submitter결재 요청 정보
결재자 approver현재 결재 담당
상태 status대기 / 승인 / 반려. 상태 색
승인일 approvedDate승인 완료 시각
반려사유 rejectReason반려 시 사유
전표 라인 lines · 결재 단계 approvalSteps상세에서 확인

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBV3임시 전표 조회결재 상태와 단계를 함께 표시
FBV0임시 전표 전기승인 완료 건을 전기 대상으로 구분
SBWP업무 수신함결재자 개인함을 전체 현황으로 확장
VBKPF · VBSEGS임시 전표 헤더와 라인조회 원천
워크플로 로그결재 단계 이력단계별 처리 시각 표시

도입 시 확인이 필요한 부분

결재 워크플로가 SAP 내부인지 외부 전자결재 시스템인지에 따라 상태 원천이 달라집니다. 외부 시스템이면 상태를 받아 오는 인터페이스가 필요하고, 전표번호와 결재 문서번호의 매핑이 정확해야 합니다. 결재선이 금액 구간별로 달라지는 경우도 많아 단계 구성을 함께 확인합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCAPPROVAL'
@EndUserText.label: '미결전표 결재 현황 (Z)'
define view Z_C_DOCUMENT_APPROVAL
  as select from vbkpf as ParkedDoc
    left outer join t003t as DocType on ParkedDoc.blart = DocType.blart
                                   and DocType.spras = 'K'
    left outer join t001  as Comp    on ParkedDoc.bukrs = Comp.bukrs
{
  key ParkedDoc.bukrs,
  key ParkedDoc.belnr as DocNo,
  key ParkedDoc.gjahr as FiscalYear,
      Comp.butxt      as BukrsText,
      ParkedDoc.blart as DocType,
      DocType.ltext   as DocTypeText,
      ParkedDoc.bldat, ParkedDoc.budat,
      ParkedDoc.usnam as Submitter,
      ParkedDoc.cpudt as SubmitDate,
      ParkedDoc.waers as Currency
      // 결재자·상태·단계 이력은 워크플로 로그 또는 외부 결재 시스템과
      // 조인하는 연장 뷰에서 결합
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 결재 현황 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
현황 테이블sap.m.Table — 상신·결재 정보를 인접 배치
상태 표시sap.m.ObjectStatus — 대기 / 승인 / 반려
상세 화면sap.m.Dialog — 전표 라인과 결재 단계 이력

결재 단계를 이력으로 보여 주는 이유

현재 결재자만 알면 "왜 늦어지는가" 에 답할 수 없습니다. 1단계는 하루 만에 넘어갔는데 2단계에서 닷새째 멈춰 있다는 사실이 보이면 문제 지점이 특정됩니다. 단계별 처리 시각을 남기면 결재선 자체를 개선할 근거가 됩니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.approval) · ko 로케일
view/Main.view.xml조회조건과 결재 현황 테이블
controller/Main.controller.js조회 · 대기일수 계산 · 상세 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 색 포맷터
localdata/approval.json결재 대상 34건

검증 결과

검증 항목결과
전표 라인 차변 합계 = 대변 합계 (전 건)통과
전표 금액 = 라인 차변 합계통과
승인 건은 승인일 존재 · 반려 건은 반려사유 존재통과
결재 단계 이력이 시간순으로 정렬통과
전표유형·회사코드 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처2/2
테마 런타임 확인sap_horizon

자주 묻는 질문

결재 중인 전표도 재무제표에 잡히나요?

잡히지 않습니다. 임시 저장 상태라 원장에 반영되지 않습니다. 그래서 결산 전에 대기 건을 정리하지 않으면 해당 월 손익이 실제보다 적게 나옵니다.

반려된 전표는 어떻게 하나요?

사유를 확인해 수정 후 다시 상신하거나 폐기합니다. 폐기하지 않고 두면 임시 전표가 계속 쌓여 나중에 정리 대상이 됩니다.

결재자 앞에 쌓인 건을 어떻게 파악하나요?

결재자 조건으로 묶으면 그 담당자 앞의 전체 건이 나옵니다. 휴가나 부재 중인 결재자가 있으면 대리 지정이 필요한 시점을 알 수 있습니다.

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

임시 전표는 표준이 저장하고 결재는 워크플로가 담당합니다. 이 화면은 결재자 개인 수신함에 흩어진 정보를 재무 담당자 관점에서 한 화면에 모으고, 단계별 지연을 드러내는 확장입니다.

전표 결재 현황, 지금 쓰는 SAP 위에서 확장해 보세요

어느 단계에서 멈췄는지가 보이면 결산 전 정리가 수월해집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

미결전표전자결재워크플로우FBV3결재현황임시전표반려OpenUI5