솔루션 홈
FBV0 · 전표 처리

SAP 전표 승인 — 내용을 보고 결재하고, 반려하면 이유를 남긴다

결재 대기 전표를 목록으로 받아 라인까지 확인한 뒤 승인하거나 반려하고, 처리 이력을 남기는 화면입니다.

결재는 버튼을 누르는 일이 아니라 내용을 확인하는 일입니다. 그런데 승인 화면에 전표번호와 금액만 있으면 확인할 것이 없습니다.

결국 다른 화면에서 전표를 열어 보고 돌아와 버튼을 누르게 됩니다. 표준 임시 전표 구조를 그대로 이어받아 목록에서 바로 라인을 펼쳐 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.

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

  • 임시 전표 — 전표번호(BELNR) · 회계연도 · 회사코드 · 전표유형
  • 전표 내용 — 증빙일 · 전기일 · 헤더텍스트 · 통화 · 금액
  • 라인 — 계정 · 차대 · 금액 · 코스트센터 · 적요
  • 결재 상태 — 대기 · 승인 · 반려(STATUS)
  • 결재선 — 단계별 결재자와 처리 정보
항목내용
대응 T-codeFBV0 (임시 전표 전기) · FBV3
업무 영역재무회계(FI) · 전표 결재
Namespacefi078_journalapproval
셸 구조조회조건 영역 + 결재 대기 목록 + 라인 상세 + 승인·반려 버튼
화면 수조회 화면 1개 + 라인 상세
데이터전표 목록·라인·결재선 등 다중 엔티티
성격처리형 — 승인 시 표준 전기 호출
UI 테마sap_horizon 단일 적용

실제 화면 2종 둘러보기

회사코드·전표유형·상태로 조회하면 결재 대기 전표가 나옵니다 → 라인을 펼쳐 내용을 확인하고 → 승인하거나 사유를 적어 반려합니다.

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

FBV0 — Main.view.xml
초기 진입 화면 — 결재 대기 목록
초기 진입 화면 — 결재 대기 목록 — 회사코드·전표유형·상태를 고르면 결재 대기 전표가 전표번호·전표유형·증빙일·전기일·금액·상신자와 함께 나옵니다.
FBV0 — 라인 확인
라인 상세와 승인·반려
라인 상세와 승인·반려 — 전표를 고르면 라인이 계정·차대·금액·코스트센터·적요로 펼쳐집니다. 내용을 확인한 뒤 승인하거나 사유를 입력해 반려합니다.

조작 방법

  1. 회사코드를 고르고 상태를 대기로 둡니다.
  2. 전표유형으로 성격을 나눠 볼 수 있습니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 전표를 선택하면 라인이 펼쳐집니다. 계정과 금액, 코스트센터를 확인합니다.
  5. 이상이 없으면 승인합니다. 승인하면 전기가 진행됩니다.
  6. 문제가 있으면 반려하고 사유를 입력합니다. 사유 없이 반려할 수 없습니다.
  7. 여러 건을 한 번에 처리하려면 체크 후 일괄 승인을 씁니다.

승인 판정 규칙

승인은 두 조건이 맞아야 진행됩니다.

결재 권한 있음 · 현재 단계 결재자  →  승인·반려 가능
그 외                                →  조회만 가능

승인 시  전기 인터페이스 호출 → 성공하면 상태 변경
         전기 실패하면 승인도 취소 (원자적 처리)

반려 시  사유 필수 입력 → 상신자에게 반환

승인과 전기를 묶어 처리하는 이유

승인 상태만 바꾸고 전기가 실패하면, 결재는 끝났는데 장부에는 없는 전표가 생깁니다. 나중에 정리하려면 승인 이력과 대조해야 해서 번거롭습니다. 전기까지 성공해야 승인으로 처리하면 그런 어긋남이 남지 않습니다.

결재 처리 결과 3종

처리상황결과
승인내용 확인 후 결재전기 진행 · 다음 단계로
반려문제 발견상신자에게 반환 · 사유 기록
보류추가 확인 필요상태 유지 · 메모 남김

보류는 표준 기능이 아니라 운영상 필요하면 별도로 설계합니다.

조회조건

필드필수설명
회사코드 BUKRS필수대상 법인
상태 STATUS선택대기 / 승인 / 반려
전표유형 BLART선택전표 성격
증빙일 BLDAT선택기간 From~To
상신자선택작성 담당자
금액 범위선택고액 건만 별도 확인

결과 컬럼

컬럼의미 · 표시
전표번호 BELNR · 회계연도 GJAHR전표 식별
회사코드 BUKRS귀속 법인
전표유형 BLART전표 성격
증빙일 BLDAT · 전기일 BUDAT날짜 정보
헤더텍스트 BKTXT전표 설명
통화 WAERS · 금액전표 총액
상태 STATUS대기 / 승인 / 반려. 상태 색
메시지 MESSAGE처리 결과 안내
라인 상세계정 · 차대 · 금액 · 코스트센터 · 적요

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBV0임시 전표 전기승인과 전기를 하나의 처리로 묶음
FBV3임시 전표 조회목록에서 라인까지 바로 확인
VBKPF · VBSEGS임시 전표 헤더와 라인조회 원천
SBWP업무 수신함결재 대기 목록
T003전표유형 설정유형별 권한 확인

도입 시 확인이 필요한 부분

결재 권한을 어떻게 판정할지가 핵심입니다. SAP 권한 객체로만 통제하면 금액 구간별 결재선을 구현하기 어렵습니다. 결재선 관리 테이블을 두고 권한과 함께 판정하는 구조가 일반적입니다. 일괄 승인 시 일부만 실패하면 어떻게 처리할지도 정해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCJOURNALAPP'
@EndUserText.label: '전표 승인 대상 (Z)'
define view Z_C_JOURNAL_APPROVAL
  as select from vbkpf as Parked
    left outer join vbsegs as Line    on Parked.ausbk = Line.ausbk
                                    and Parked.belnr = Line.belnr
                                    and Parked.gjahr = Line.gjahr
    left outer join t003t  as DocType on Parked.blart = DocType.blart
                                    and DocType.spras = 'K'
{
  key Parked.bukrs, key Parked.belnr, key Parked.gjahr,
      Parked.blart, DocType.ltext as BlartText,
      Parked.bldat, Parked.budat, Parked.bktxt, Parked.waers,
      Parked.usnam as Submitter,
      Line.hkont, Line.shkzg, Line.wrbtr, Line.kostl, Line.sgtxt
      // 결재 상태와 단계는 결재선 관리 테이블과 조인
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 목록 · 라인 상세
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
목록sap.m.Table — 다중 선택으로 일괄 승인
라인 상세선택 시 하단에 펼침
처리 버튼승인 · 반려 — 반려 시 사유 입력 다이얼로그

반려 사유를 필수로 둔 이유

사유 없이 반려되면 상신자는 무엇을 고쳐야 할지 모른 채 다시 올립니다. 같은 전표가 두세 번 오가면서 시간만 흐릅니다. 사유를 필수로 하면 한 번의 반려로 수정 방향이 전달됩니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — ko 로케일 · sap_horizon
view/Main.view.xml조회조건 · 목록 · 라인 상세
controller/Main.controller.js조회 · 승인·반려 처리 · 일괄 처리
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 색 포맷터
localdata/DataLists.json전표 목록
localdata/ZFCMC_F00_C007*.json라인과 결재 관련 엔티티

검증 결과

검증 항목결과
전표 라인 차변 합계 = 대변 합계통과
승인 시 전기 성공 후에만 상태 변경통과
반려 시 사유 미입력이면 처리 차단통과
결재 권한 없는 사용자는 조회만 가능통과
일괄 승인 시 건별 결과 메시지 반환통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처2/2
테마 런타임 확인sap_horizon

자주 묻는 질문

일괄 승인 중 일부가 실패하면요?

건별로 처리해 성공한 것만 승인되고 실패한 건은 메시지로 표시합니다. 전체를 되돌리면 문제없는 전표까지 다시 결재해야 해서 효율이 떨어집니다.

승인하면 바로 전기되나요?

최종 단계 승인이면 전기됩니다. 다단계 결재라면 다음 단계로 넘어가고, 마지막 결재자가 승인할 때 전기됩니다.

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

상신자에게 돌아가고 상태가 반려로 남습니다. 수정 후 다시 상신하거나 폐기합니다. 폐기하지 않으면 임시 전표가 계속 쌓입니다.

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

임시 전표 저장과 전기는 표준이 담당합니다. 이 화면은 결재자가 목록에서 바로 라인을 확인하고 승인과 전기를 한 번에 처리하게 하는 확장입니다.

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

목록에서 내용까지 보이면 결재가 형식이 아니라 확인이 됩니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

전표 승인전자결재FBV0임시전표반려결재 이력OpenUI5