SAP 전표 현황 — 조건을 저장해 두고 매번 같은 기준으로
전표를 다양한 조건으로 조회하고, 자주 쓰는 조건과 화면 구성을 저장해 반복 조회를 줄이는 화면입니다.
같은 조회를 매달 반복하는 업무가 많습니다. 월말에 특정 계정의 전표를 뽑고, 분기마다 정해진 조건으로 목록을 만듭니다.
그때마다 조건을 처음부터 넣으면 시간도 걸리고 기준이 조금씩 달라집니다. 지난달과 다른 조건으로 뽑으면 비교가 안 됩니다. 표준 전표 구조를 그대로 이어받아 조건을 저장해 재사용하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 전표 키 — 회사코드(
BUKRS) · 회계연도(GJAHR) · 전표번호 - 계정 — 계정코드(
GLCODE)와 명칭(GLNAM2) - 전표 속성 — 전표유형 · 일자 · 통화 · 금액
- 상태 표시 — 확인 여부(
CHKFLG) · 갱신 여부(UPDFLG) - 마감 — 기간 마감 상태(
CLOSE)
| 항목 | 내용 |
|---|---|
| 기반 T-code | FB03 · FBL3N |
| 업무 영역 | 재무회계(FI) · 전표 조회 |
| Namespace | fi083_documentstatus |
| 셸 구조 | 필터바(조건 저장) + 전표 목록 + 다운로드 |
| 화면 수 | 조회 화면 1개 |
| 데이터 | 전표·필터·계정명 등 다중 엔티티 |
| 성격 | 조회형(Read-Only) — 전기는 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 1종 둘러보기
조건을 넣어 조회하고 → 자주 쓰는 조건을 저장해 두면 → 다음에는 저장된 조건으로 한 번에 같은 결과를 얻습니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 필터바에서 회사코드·회계연도·계정·기간 등을 조합합니다.
- 조회하면 조건에 맞는 전표가 나옵니다.
- 자주 쓰는 조합은 조건 저장으로 이름을 붙여 둡니다.
- 다음에는 저장된 조건을 불러와 한 번에 같은 결과를 얻습니다.
- 계정명 저장으로 자주 보는 계정 목록을 관리할 수 있습니다.
- 확인 표시로 검토한 전표를 구분해 둡니다.
- 결과는 다운로드로 내려받습니다. 성공 여부가 메시지로 표시됩니다.
조건 저장 구조
조회 조건과 화면 구성을 함께 저장합니다.
저장 대상
조회 조건 회사코드 · 연도 · 계정 · 기간 · 전표유형 등
화면 구성 표시할 열 · 정렬 기준 · 열 너비
불러오기 조건과 구성을 함께 복원 → 같은 화면 재현
상태 표시
확인(CHKFLG) 검토 완료 표시
갱신(UPDFLG) 마지막 조회 이후 변경됨
마감(CLOSE) 해당 기간 마감 여부
조건과 화면 구성을 함께 저장하는 이유
조건만 저장하면 같은 데이터가 나와도 열 구성이 달라 보고서 모양이 매번 바뀝니다. 열 순서와 정렬까지 함께 저장하면 지난달 자료와 나란히 놓고 비교할 수 있습니다. 반복 업무에서는 이 일관성이 조회 속도보다 중요합니다.
반복 조회 업무 세 가지
| 업무 | 내용 | 반복 주기 |
|---|---|---|
| 월말 계정 점검 | 특정 계정의 당월 전표 | 매월 같은 조건 |
| 분기 감사 자료 | 지정 조건의 전표 목록 | 분기마다 동일 |
| 이상 거래 확인 | 금액·전표유형 조건 | 수시, 조건은 고정 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 BUKRS | 필수 | 대상 법인 |
회계연도 GJAHR | 필수 | 전표 연도 |
계정 GLCODE | 선택 | 계정코드와 명칭 |
| 기간 | 선택 | 전기일 From~To |
| 전표유형 | 선택 | 전표 성격 |
확인 여부 CHKFLG | 선택 | 검토 완료 / 미확인 |
| 저장된 조건 | 선택 | 이름으로 불러오기 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
전표번호 · 회계연도 GJAHR | 전표 식별 |
회사코드 BUKRS | 귀속 법인 |
계정 GLCODE · GLNAM2 | 계정코드와 명칭 |
| 전기일 · 증빙일 | 날짜 정보 |
| 전표유형 | 전표 성격 |
| 금액 · 통화 | 거래 금액 |
확인 여부 CHKFLG | 검토 완료 표시 |
갱신 여부 UPDFLG | 마지막 조회 이후 변경 |
마감 상태 CLOSE | 해당 기간 마감 여부 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
FB03 | 전표 조회 | 조건 저장과 화면 구성 재사용 추가 |
FBL3N | G/L 개별항목 | 레이아웃 저장을 화면 구성까지 확장 |
BKPF · BSEG | 전표 헤더와 라인 | 조회 원천 |
SKA1 · SKAT | 계정 마스터와 텍스트 | 계정 명칭 |
T001B | 전기 기간 설정 | 마감 상태 표시 |
도입 시 확인이 필요한 부분
저장된 조건을 개인별로 둘지 공유할지 정해야 합니다. 팀 공통 조건은 공유가 편하지만 누군가 고치면 모두에게 영향이 갑니다. 개인용과 공유용을 나누고 공유 조건은 수정 권한을 제한하는 구성이 안전합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCDOCSTATUS'
@EndUserText.label: '전표 현황 조회 (Z)'
define view Z_C_DOCUMENT_STATUS
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 skat as AcctText on Line.hkont = AcctText.saknr
and AcctText.spras = 'K'
{
key Header.bukrs as Bukrs,
key Header.gjahr as Gjahr,
key Header.belnr,
key Line.buzei,
Line.hkont as GlCode,
AcctText.txt50 as GlName,
Header.blart, Header.bldat, Header.budat,
Line.wrbtr, Line.dmbtr, Header.waers
// 확인·갱신 표시는 사용자별 조회 이력 테이블과 조인
// 마감 상태는 T001B 전기 기간 설정으로 판정
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.f.DynamicPage + 필터바 · 전표 목록 |
| 필터바 | sap.ui.comp.filterbar.FilterBar — 조건 저장·불러오기 |
| 전표 목록 | sap.ui.table.Table — 열 구성 저장 |
| 상태 표시 | sap.m.ObjectStatus — 확인 · 갱신 · 마감 |
| 다운로드 | 결과 CSV 내보내기와 성공 메시지 |
| 이벤트 | onPAI 단일 진입점, fcCode 로 분기 |
확인 표시를 두는 이유
수백 건을 검토할 때 어디까지 봤는지 기억에 의존하면 중복 확인과 누락이 생깁니다. 확인한 전표에 표시를 남기면 다음에 이어서 볼 수 있고, 검토 진행률도 파악됩니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — ko 로케일 · sap_horizon |
view/Main.view.xml | 필터바와 전표 목록 |
controller/Main.controller.js | 조회 · 조건 저장·불러오기 · 다운로드 |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 일자 · 상태 포맷터 |
localdata/FilterBar.json | 저장된 조건 |
localdata/ZFCMC_F00_C001*.json | 전표 관련 엔티티 |
localdata/SaveGLName.json | 계정명 저장 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 저장된 조건을 불러오면 같은 결과 재현 | 통과 |
| 화면 구성(열·정렬)이 조건과 함께 복원 | 통과 |
| 확인 표시가 사용자별로 유지 | 통과 |
| 마감된 기간은 마감 상태로 표시 | 통과 |
| 계정 코드가 있으면 명칭도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 후 캡처 | 통과 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
저장된 조건을 다른 사람과 공유할 수 있나요?
설계하기 나름입니다. 개인용과 공유용을 나누고 공유 조건은 수정 권한을 제한하는 구성이 일반적입니다. 팀 표준 조회를 공유 조건으로 두면 기준이 통일됩니다.
확인 표시는 누구 기준인가요?
사용자별로 관리합니다. 여러 명이 나눠 검토하면 각자 진행 상황이 따로 남아야 하기 때문입니다. 팀 단위 진행률이 필요하면 별도로 집계합니다.
갱신 여부는 무엇을 뜻하나요?
마지막으로 조회한 이후 그 전표가 변경됐다는 표시입니다. 이미 검토한 전표가 바뀌었으면 다시 봐야 하므로 구분해 둡니다.
SAP 표준 기능과 어떻게 이어지나요?
전표 데이터와 조회는 표준 구조를 그대로 씁니다. 이 화면은 조회 조건과 화면 구성을 함께 저장해 반복 업무에서 같은 기준을 유지하게 하는 확장입니다.