솔루션 홈
전표 처리

SAP 나의전표 관리 — 내가 올린 전표가 지금 어디까지 왔나

본인이 작성한 전표를 조회·수정·출력하고, 재무팀이면 승인과 취소까지 처리하는 화면입니다.

전표를 올린 사람은 그 전표가 승인됐는지를 계속 궁금해합니다. 그런데 표준 화면에서는 전표번호를 알아야 조회할 수 있습니다.

내가 올린 것만 모아 보면 상태가 한눈에 들어옵니다. 여기에 재무팀은 승인과 취소까지 같은 화면에서 처리할 수 있게 권한별로 버튼을 나눴습니다. OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 전표 — 전표번호 · 전표유형 · 전기/증빙/입력일자
  • 작성자 — 사용자 ID 와 부서
  • 설명 — Reference key 와 Header Text
  • 승인 — 승인번호(XREF2_HD)와 취소전표
  • 전자세금계산서 — DTI 승인번호
항목내용
업무 영역재무회계(FI) · 결산 · 전표 처리
Namespacezui5.mydoc
셸 구조조회조건 영역(우측 조회) + 전표 목록 + 라인 상세
화면 수조회·처리 화면 1개 + 라인 상세
데이터전표 78건 (라인 156건) · 승인 36 · 취소 6 · 전자세금계산서 22 · 본인 작성 13
성격조회·처리형 — 승인·취소는 시뮬레이션
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

전기일자·입력일자·전표상태로 조회하면 본인 전표가 나옵니다 → 라인을 펼쳐 내용을 확인하고 → 재무팀이면 승인·승인취소·전표취소를 처리합니다.

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

Main.view.xml
본인 작성 전표
본인 작성 전표 — 전표상태·전표번호·전표유형·일자·작성자와 부서·금액과 함께 승인번호와 취소전표가 표시됩니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
전체 조회
재무팀 권한과 전자세금계산서
재무팀 권한과 전자세금계산서 — 재무팀 사용자는 본인 작성 전표만 보기를 해제해 전체를 볼 수 있고, DTI 정보가 있는 전표는 전자세금계산서 승인번호가 함께 나옵니다.
승인 처리
승인번호 구성과 기록
승인번호 구성과 기록 — 전표를 선택해 승인하면 사용자ID + 시스템일자 조합의 승인번호가 XREF2_HD 에 기록됩니다.

조작 방법

  1. 회사코드Posting Date · Entry Date 범위를 넣습니다.
  2. 전표상태를 고릅니다. 전체 / 미승인 / 승인 / 취소입니다.
  3. 전표유형·Document date·Document Number·User ID·Reference key·Header Text·승인번호로 조건을 더할 수 있습니다.
  4. 재무팀 사용자는 본인 작성 전표만을 해제해 전체를 볼 수 있습니다.
  5. 전표를 선택하면 라인이 차대·계정·거래처·금액·코스트센터·적요로 펼쳐집니다.
  6. 출력으로 선택 라인을 전표출력 프로그램에 전달합니다.
  7. 재무팀은 전표승인 · 전표승인취소 · 전표취소를 처리합니다.
  8. REFRESH 로 결과를 다시 조회합니다.

권한과 처리 제한

권한에 따라 보이는 것과 할 수 있는 것이 갈립니다.

재무팀 여부 판단 = ZTFIA0100 등록 여부
  해당 없음  →  승인 관련 버튼 미표시, 본인 작성 전표만 조회
  재무팀     →  전체 조회 + 승인·승인취소·취소 버튼

승인 대상 = 미승인 AND 취소되지 않은 전표
  이미 승인·취소된 건은 자동 제외, 제외 건수를 확인 창에 표시

승인번호 = 사용자ID + 시스템일자
승인된 전표 취소 시도  →  차단, 전표승인취소를 먼저 안내

승인된 전표의 취소를 막는 이유

승인은 "확인했다" 는 기록입니다. 승인된 상태로 취소되면 승인 이력만 남고 전표는 사라져 무엇을 승인했는지 알 수 없게 됩니다. 승인을 먼저 풀게 하면 순서가 기록에 남아 나중에 설명할 수 있습니다.

기능과 권한

버튼권한동작
REFRESH전체결과 화면을 다시 조회
출력전체선택 라인을 전표출력 프로그램에 전달
전표승인재무팀XREF2_HD 에 승인번호 기록
전표승인취소재무팀XREF2_HD 를 지워 미승인으로
전표취소재무팀Reverse 처리 후 취소전표번호 표시

조회조건

항목필수설명
회사코드필수대상 회사코드
Posting Date · Entry Date필수전기일자 · 입력일자 범위
전표유형 · Document date · Document Number선택추가 조건
User ID · Reference key · Header Text · 승인번호선택추가 조건
전표상태필수전체 / 미승인 / 승인 / 취소
본인 작성 전표만선택재무팀 사용자만 해제 가능 (화면 확장)

결과 컬럼

컬럼의미 · 표시
전표상태미승인 / 승인 / 취소. 상태 색
전표번호 · 전표유형전표 식별
전기/증빙/입력 일자날짜 정보
작성자와 부서누가 올렸나
금액전표 총액
Reference key · Header Text전표 설명
승인번호사용자ID + 시스템일자
취소전표Reverse 결과
전자세금계산서 승인번호DTI 정보가 있는 전표
라인차대 · 계정 · 거래처 · 금액 · 코스트센터 · 적요

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FB03전표 조회전표 상세
FB08전표 역분개전표취소
BKPF · BSEG전표 헤더와 라인조회 원천
ZTFIA0100재무팀 사용자권한 판단

도입 시 확인이 필요한 부분

승인번호를 XREF2_HD 에 넣는 방식은 표준 필드를 전용하는 것입니다. 그 필드를 다른 용도로 쓰고 있다면 충돌합니다. 또 승인은 표준 워크플로가 아니라 필드 기록이라, 다단계 결재가 필요하면 별도 설계가 필요합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCMYDOC'
@EndUserText.label: '나의전표 관리 (Z)'
define view Z_C_MY_DOCUMENT
  as select from bkpf as Header
    left outer join bseg as Line     on Header.bukrs = Line.bukrs
                                   and Header.belnr = Line.belnr
                                   and Header.gjahr = Line.gjahr
    left outer join t003t as DocType on Header.blart = DocType.blart
                                   and DocType.spras = 'K'
{
  key Header.bukrs, key Header.belnr, key Header.gjahr,
      Header.blart,  DocType.ltext as BlartText,
      Header.budat, Header.bldat, Header.cpudt as EntryDate,
      Header.usnam  as CreatedBy,
      Header.xblnr  as ReferenceKey,
      Header.bktxt  as HeaderText,
      Header.xref2_hd as ApprovalNo,
      Header.stblg  as ReverseDocument,
      Line.shkzg, Line.hkont, Line.dmbtr, Line.kostl, Line.sgtxt
      // 전표상태 = 승인번호·취소전표 유무로 판정
      // 재무팀 여부는 ZTFIA0100 으로 확인
}

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

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.mydoc) · ko 로케일
view/Main.view.xml조회조건 · 전표 목록 · 라인 상세
controller/Main.controller.js조회 · 권한 판단 · 승인·취소 처리
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 색 포맷터
localdata/mydoc.json전표 78건 · 라인 156건

검증 결과

검증 항목결과
승인 전표는 승인번호 보유 · 형식(사용자ID + 일자) 일치통과
취소 전표는 취소전표번호 보유 · 승인 건은 취소되지 않음통과
입력일자 ≥ 전기일자 ≥ 증빙일자 · 오늘 이하통과
전표별 차변 합계 = 대변 합계통과
재무팀이 아니면 승인 버튼 미표시 · 본인 전표만 조회통과
승인 대상에서 승인·취소 건 자동 제외통과
화면 렌더링 — 실브라우저 조회 → 승인 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

승인번호가 왜 사용자ID + 일자인가요?

누가 언제 승인했는지를 번호 하나에 담기 위해서입니다. 별도 이력 테이블 없이도 필드만 보면 승인 주체와 시점이 드러납니다.

재무팀이 아니어도 전체를 볼 수 있나요?

없습니다. 본인 작성 전표만 조회되며 승인 관련 버튼도 나타나지 않습니다. 권한은 ZTFIA0100 등록 여부로 판단합니다.

전표를 취소하면 승인 이력도 사라지나요?

승인된 전표는 취소가 막힙니다. 먼저 승인을 취소한 뒤 전표를 취소해야 하므로 순서가 기록에 남습니다.

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

전표 조회와 역분개는 표준 FI 가 담당합니다. 이 화면은 본인 전표를 모아 보여 주고 권한별 승인 처리를 붙인 확장입니다.

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

내가 올린 전표의 상태가 한 화면에 있으면 확인 전화가 줄어듭니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

나의전표전표승인승인번호전표취소전자세금계산서OpenUI5