솔루션 홈
FB01 Mass · 전표 처리

SAP 대량 전표 작성 — 엑셀로 올리고 오류만 골라 고친다

엑셀 파일로 다건 전표를 올려 검증하고, 오류가 난 줄만 표시해 수정 후 다시 처리하는 화면입니다.

매월 같은 형태의 전표를 수십 건씩 넣는 업무가 있습니다. 급여 배분, 보험료 안분, 부서별 공통비 배부 같은 것들입니다.

한 건씩 입력하면 시간도 걸리고 오타도 납니다. 그렇다고 한꺼번에 올려 하나라도 틀리면 전체가 실패하는 방식도 곤란합니다. 표준 전표 구조를 그대로 이어받아 행별로 검증하고 오류만 남기도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면을 함께 공개합니다.

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

  • 전표 키 — 회사코드 · 전표번호(BELNR) · 회계연도 · 라인(BUZEI)
  • 헤더 항목 — 전표유형(BLART) · 증빙일 · 전기일 · 헤더텍스트 · 통화
  • 라인 항목 — 계정 · 차대 · 금액 · 코스트센터 · 적요
  • 처리 단위 — 업로드 묶음을 식별하는 GUID
  • 행 번호 — 원본 파일의 줄 위치(LINENUM)
항목내용
기반 기능표준 전기 인터페이스 (BAPI 계열)
업무 영역재무회계(FI) · 전표 일괄 처리
Namespacefi079_massjournalentry
셸 구조파일 업로드 영역 + 검증 결과 목록 + 재처리 버튼
화면 수업로드·처리 화면 1개
데이터업로드 데이터·처리 결과·파일 이력 등 다중 엔티티
성격입력형 — 표준 전기 인터페이스 호출
UI 테마sap_horizon 단일 적용

실제 화면 1종 둘러보기

엑셀 양식에 맞춰 파일을 올리면 행별로 검증됩니다 → 오류 행만 수정하고 → 정상 건은 전기하고 나머지를 재처리합니다.

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

Mass Entry — Main.view.xml
업로드와 검증 결과
업로드와 검증 결과 — 엑셀 파일을 올리면 행별로 전표번호·전표유형·일자·계정·금액과 함께 상태와 메시지가 표시됩니다. 오류 행은 상태 색으로 구분되고 메시지에 원인이 나옵니다. 정상 건만 전기하거나 오류를 고쳐 재처리할 수 있습니다.

조작 방법

  1. 양식 다운로드로 엑셀 템플릿을 받습니다. 열 순서가 정해져 있습니다.
  2. 데이터를 채워 파일 업로드합니다. 업로드 묶음마다 GUID 가 부여됩니다.
  3. 행별 검증 결과를 확인합니다. 상태와 메시지가 줄마다 표시됩니다.
  4. 오류 행을 화면에서 직접 수정하거나 파일을 고쳐 다시 올립니다.
  5. 정상 건만 골라 전기할 수 있습니다.
  6. 처리 결과는 CSV 다운로드로 내려받아 기록으로 남깁니다.

업로드 검증 규칙

행마다 독립적으로 검증하고 결과를 남깁니다.

① 형식 검증   필수 열 존재 · 날짜 형식 · 숫자 형식
② 마스터 검증 계정 · 코스트센터 · 거래처가 실제로 존재
③ 전표 검증   전표 단위로 차대일치 · 전기 기간

행별 상태  대기 → 검증 통과 / 오류(메시지 포함)
전기 시    통과한 전표만 처리, 오류 건은 남김

전체 실패가 아니라 행별로 처리하는 이유

100건을 올렸는데 한 줄이 틀려 전체가 실패하면, 고친 뒤 100건을 다시 검증해야 합니다. 행별로 처리하면 99건은 넘어가고 한 줄만 남습니다. 다만 전표 단위 차대일치는 라인이 묶여야 판정되므로, 검증 단위가 행과 전표 두 층입니다.

일괄 처리 4단계

단계내용결과
① 양식 준비템플릿에 데이터 입력엑셀 파일
② 업로드파일 전송과 파싱업로드 묶음(GUID)
③ 검증행별·전표별 검증상태와 메시지
④ 전기통과 건 전기전표번호

입력 항목

엑셀 템플릿의 열 구성입니다. 순서가 바뀌면 파싱이 실패합니다.

항목필수설명
회사코드 BUKRS필수전기 대상 법인
전표유형 BLART필수전표 성격
증빙일 BLDAT · 전기일 BUDAT필수날짜
헤더텍스트 BKTXT선택전표 설명
통화 WAERS필수거래통화
라인 번호 BUZEI필수전표 내 순번
계정 · 차대 · 금액필수라인 필수값
코스트센터 · 적요조건부비용 계정은 코스트센터 필수

결과 컬럼

컬럼의미 · 표시
행 번호 LINENUM원본 파일 줄 위치
업로드 묶음 GUID처리 단위 식별자
전표번호 BELNR · 라인 BUZEI전기 후 채번
회사코드 BUKRS · 회계연도 GJAHR전기 대상
전표유형 BLART전표 성격
증빙일 BLDAT · 전기일 BUDAT날짜 정보
통화 WAERS · 금액거래 금액
상태 STATUS대기 / 성공 / 오류. 상태 색
메시지 MESSAGE오류 원인 안내

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
표준 전기 인터페이스전표 생성행별 검증 결과를 화면에 유지
FB01단건 전표 입력다건을 파일로 처리
BKPF · BSEG전표 헤더와 라인전기 대상 구조
SKA1 · CSKS계정 · 코스트센터 마스터마스터 검증
T001B전기 기간 설정전기일 검증

도입 시 확인이 필요한 부분

업로드 건수가 많으면 처리 시간이 길어져 화면이 멈춘 것처럼 보입니다. 수백 건 이상이면 백그라운드 처리로 전환하고 결과를 나중에 확인하는 구조가 필요합니다. 또 템플릿 열 순서가 바뀌면 파싱이 깨지므로 버전 관리가 필요합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCMASSJOURN'
@EndUserText.label: '대량 전표 업로드 이력 (Z)'
define view Z_C_MASS_JOURNAL_UPLOAD
  as select from zmass_upload as Upload
{
  key Upload.guid     as Guid,
  key Upload.linenum  as LineNum,
      Upload.bukrs,
      Upload.blart,
      Upload.bldat,
      Upload.budat,
      Upload.waers,
      Upload.belnr,
      Upload.gjahr,
      Upload.buzei,
      Upload.status   as Status,
      Upload.message  as Message,
      Upload.created_by,
      Upload.created_at
      // 전기 성공 시 BKPF/BSEG 로 연결되는 전표 키가 채워짐
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 업로드 영역 · 결과 목록
파일 업로드sap.m.upload.UploadSet — 엑셀 파일
결과 목록sap.ui.table.Table — 행별 상태와 메시지
상태 표시sap.m.ObjectStatus — 대기 / 성공 / 오류
인라인 수정오류 행을 화면에서 직접 편집
처리 버튼전체 전기 · 선택 전기 · 재처리

원본 행 번호를 남기는 이유

오류 메시지에 전표번호만 있으면 엑셀 어느 줄을 고쳐야 하는지 찾아야 합니다. 전기 전에는 전표번호도 없습니다. 원본 파일의 줄 번호를 남기면 "37번 줄 계정 오류" 로 바로 짚을 수 있습니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — ko 로케일 · sap_horizon
view/Main.view.xml업로드 영역과 결과 목록
controller/Main.controller.js파일 파싱 · 행별 검증 · 전기 호출
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 색 포맷터
localdata/DataList.json업로드 데이터
localdata/FileUploads.json파일 이력
localdata/GUID.json처리 묶음

검증 결과

검증 항목결과
행별 검증 결과가 상태와 메시지로 기록통과
전표 단위 차변 합계 = 대변 합계 검증통과
마스터 미존재 계정·코스트센터는 오류 처리통과
오류 행이 있어도 정상 건은 전기 가능통과
전기 성공 행은 전표번호 채번통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 업로드 실동작 후 캡처통과
테마 런타임 확인sap_horizon

자주 묻는 질문

몇 건까지 올릴 수 있나요?

화면에서 처리하는 방식은 수백 건이 한계입니다. 그 이상이면 응답이 느려 사용자가 멈춘 줄 알게 되므로 백그라운드 처리로 전환하는 것이 좋습니다.

오류 행만 다시 올려도 되나요?

됩니다. 오류 행만 고쳐 다시 올리거나 화면에서 직접 수정한 뒤 재처리하면 됩니다. 정상 처리된 건은 중복 전기되지 않습니다.

차대일치는 행별로 검증하나요?

전표 단위입니다. 한 전표를 이루는 라인들이 모두 모여야 차대가 맞는지 판정할 수 있어, 행 검증과 전표 검증이 두 단계로 나뉩니다.

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

전기는 표준 인터페이스가 담당하므로 데이터는 표준 구조에 그대로 들어갑니다. 이 화면은 파일 파싱과 행별 검증, 오류 건만 남기는 재처리 흐름을 더한 확장입니다.

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

한 줄 때문에 전체를 다시 올리는 일이 없어지면 반복 업무가 절반으로 줄어듭니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

대량 전표엑셀 업로드일괄 전기검증배치 처리GUIDOpenUI5