SAP 회계전표 출력 — 전기된 전표를 종이로 남기기
전기 완료된 회계전표를 조회해 헤더와 라인을 양식에 담아 인쇄하는 출력 화면입니다.
전자화가 진행돼도 전표를 종이로 남겨야 하는 순간이 있습니다. 감사 제출, 외부 기관 제출, 결재 서명이 필요한 경우입니다.
표준 전표 조회 화면은 보기에는 좋지만 인쇄하면 화면 요소가 그대로 찍혀 문서로 쓰기 어렵습니다. 표준 전표 구조를 그대로 이어받아 인쇄용 양식으로 구성하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 전표 키 — 회사코드(
CompanyCode) · 전표번호(AccountingDocument) · 회계연도(FiscalYear) - 헤더 — 전기일(
PostingDate) · 헤더텍스트 · 작성자(CreatedByUser) - 금액 — 거래통화 금액(
AmountInTransactionCrcy)과 통화 - 입력 정보 — 입력일(
CPUDT) - 역분개 — 취소 전표 정보(
ReverseDocument)
| 항목 | 내용 |
|---|---|
| 기반 T-code | FB03 (전표 조회) |
| 업무 영역 | 재무회계(FI) · 전표 출력 |
| Namespace | fi081_journalprintform |
| 셸 구조 | 조회조건 영역 + 전표 목록 + 인쇄 양식 미리보기 |
| 화면 수 | 조회 화면 1개 + 양식 미리보기 |
| 데이터 | 전표 헤더 등 다중 엔티티 |
| 성격 | 조회·출력형 — 전기는 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 1종 둘러보기
회사코드·전표번호·회계연도로 조회하면 전표가 나옵니다 → 인쇄 양식으로 미리 보고 → A4 로 출력합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드·전표번호·회계연도를 넣습니다. 세 값이 전표를 식별합니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 조회된 전표의 헤더 정보를 확인합니다.
- 역분개 여부를 확인합니다. 취소된 전표는 양식에 표시됩니다.
- 인쇄 양식으로 전환해 출력될 모습을 확인합니다.
- 여러 전표를 선택하면 전표마다 페이지가 나뉩니다.
- 인쇄는 A4 기준으로 실행됩니다.
출력 구성 규칙
인쇄물은 화면과 다른 기준으로 구성됩니다.
양식 구성
제목 영역 회사명 · 전표번호 · 회계연도
헤더 영역 전표유형 · 전기일 · 증빙일 · 작성자 · 헤더텍스트
라인 영역 계정 · 차대 · 금액 · 적요 + 차대 합계
표시 사항 역분개 전표인 경우 취소 표시
여러 전표 선택 시 전표마다 페이지 분리
역분개 표시를 넣는 이유
취소된 전표를 출력해 증빙으로 제출하면 문제가 됩니다. 장부에서는 상쇄됐는데 종이에는 유효한 전표처럼 보이기 때문입니다. 양식에 취소 표시를 넣으면 출력물만 봐도 상태가 드러납니다.
전표 출력이 필요한 세 가지 경우
| 경우 | 요청 주체 | 필요 형태 |
|---|---|---|
| 감사 제출 | 외부 감사인 요청 | 원본 전표와 증빙 |
| 기관 제출 | 세무서 · 금융기관 | 지정 양식 |
| 내부 결재 | 서명이 필요한 경우 | 결재란 포함 양식 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 CompanyCode | 필수 | 대상 법인 |
전표번호 AccountingDocument | 필수 | 출력 대상 전표 |
회계연도 FiscalYear | 필수 | 전표 연도 |
전기일 PostingDate | 선택 | 기간으로 조회 |
작성자 CreatedByUser | 선택 | 담당자별 조회 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
전표번호 AccountingDocument | 전표 식별 |
회사코드 CompanyCode | 귀속 법인 |
회계연도 FiscalYear | 전표 연도 |
전기일 PostingDate | 원장 반영일 |
입력일 CPUDT | 시스템 입력일 |
작성자 CreatedByUser | 전표를 만든 사용자 |
헤더텍스트 AccountingDocumentHeaderText | 전표 설명 |
금액 AmountInTransactionCrcy · 통화 TransactionCurrency | 거래 금액 |
역분개 ReverseDocument | 취소 전표 번호. 있으면 양식에 표시 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
FB03 | 전표 조회 | 인쇄 양식으로 재구성 |
BKPF · BSEG | 전표 헤더와 라인 | 출력 원천 |
T003T | 전표유형 텍스트 | 양식 표시 |
USR01 | 사용자 마스터 | 작성자 이름 |
| 스마트폼 · Adobe Forms | 표준 양식 출력 | 브라우저 인쇄로 대체 |
도입 시 확인이 필요한 부분
양식 레이아웃은 회사 문서 규정을 따릅니다. 결재란이 필요한지, 회사 로고를 넣는지, 제출 기관이 요구하는 형식이 있는지에 따라 달라집니다. 운영에서 스마트폼을 쓰고 있다면 그 레이아웃과 맞추는 편이 혼란이 적습니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCJOURNPRINT'
@EndUserText.label: '회계전표 출력 (Z)'
define view Z_C_JOURNAL_PRINT
as select from bkpf as Header
inner 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 as CompanyCode,
key Header.belnr as AccountingDocument,
key Header.gjahr as FiscalYear,
key Line.buzei,
Header.blart, DocType.ltext as BlartText,
Header.budat as PostingDate,
Header.bldat, Header.bktxt,
Header.usnam as CreatedByUser,
Header.cpudt as Cpudt,
Header.stblg as ReverseDocument,
Line.hkont, Line.shkzg, Line.wrbtr, Line.sgtxt,
Header.waers as TransactionCurrency
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 전표 정보 · 양식 미리보기 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 전표 정보 | sap.ui.layout.form.SimpleForm — 헤더 항목 |
| 양식 미리보기 | 인쇄용 HTML 을 그대로 렌더링 |
| 인쇄 | 새 창 + A4 여백, 전표별 page-break-after |
미리보기와 인쇄를 같은 HTML 로 만든 이유
화면에서 보던 것과 종이에 찍힌 것이 다르면 인쇄할 때마다 확인해야 합니다. 같은 HTML 을 미리보기에도 인쇄 창에도 쓰면 보이는 대로 나오는 상태가 유지되고, 양식을 고칠 때도 한 곳만 손보면 됩니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — ko 로케일 · sap_horizon |
view/Main.view.xml | 조회조건 · 전표 정보 · 양식 |
controller/Main.controller.js | 조회 · 양식 렌더링 · 인쇄 |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 일자 · 차대 포맷터 |
localdata/Header.json | 전표 헤더 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 전표 라인 차변 합계 = 대변 합계 | 통과 |
| 역분개 전표는 양식에 취소 표시 | 통과 |
| 여러 전표 선택 시 페이지 분리 동작 | 통과 |
| 전표 키(회사코드+전표번호+연도) 중복 없음 | 통과 |
| 작성자 코드가 있으면 이름도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 후 캡처 | 통과 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
스마트폼과 무엇이 다른가요?
결과물은 비슷하지만 스마트폼은 서버에서 그리고 이 화면은 브라우저에서 그립니다. 양식을 고칠 때 개발 없이 HTML 만 수정하면 되는 것이 차이입니다.
역분개된 전표도 출력되나요?
됩니다. 다만 양식에 취소 표시가 들어갑니다. 표시 없이 출력하면 유효한 전표처럼 보여 제출 시 문제가 됩니다.
여러 전표를 한 번에 출력할 수 있나요?
가능합니다. 전표마다 페이지가 나뉘어 한 번의 인쇄로 처리됩니다. 감사 제출처럼 다건을 묶어야 할 때 씁니다.
SAP 표준 기능과 어떻게 이어지나요?
전표 데이터는 표준 구조 그대로이고 조회도 FB03 과 같은 원천을 씁니다. 이 화면은 그 내용을 인쇄에 맞는 양식으로 재구성하는 확장입니다.