SAP 반복전표 실행 모니터 — 돌기로 한 전표가 다 돌았는가
반복전표 템플릿의 기간별 실행 이력을 조회해, 빠진 달과 차대 불일치를 찾는 화면입니다.
반복전표는 매달 자동으로 돌아야 하는 것들입니다. 임차료, 보험료, 감가상각 같은 것입니다.
자동이라 믿고 두면 어느 달이 빠져도 모릅니다. 결산에서 비용이 한 달치 모자란 것을 발견하고 그제서야 찾습니다. 템플릿별 실행 이력을 기간으로 펼쳐 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 템플릿 — 반복전표 ID(
RecurId)와 회사코드 - 실행 키 — 템플릿·연도·월 조합(
RunKey) - 기간 — 회계연도(
Gjahr)와 월(Monat) - 실행 정보 — 실행일(
RunDate) - 전기 계정 — 차변 계정(
HkontDebit)과 대변 계정
| 항목 | 내용 |
|---|---|
| 대응 T-code | FBD1 · FBD2 · FBD3 · F.14 |
| 업무 영역 | 재무회계(FI) · 전표 운영 |
| Namespace | zui5.recurdoc |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 템플릿별 실행 이력 |
| 화면 수 | 조회 화면 1개 + 실행 상세 |
| 데이터 | 실행 이력 140건 · 템플릿 8건 |
| 성격 | 조회형(Read-Only) — 실행은 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회사코드·연도·템플릿으로 조회하면 월별 실행 이력이 나옵니다 → 빠진 달을 가려내고 → 실행된 건의 차대 일치를 확인합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드와 회계연도를 고릅니다.
- 템플릿으로 특정 반복전표만 볼 수 있습니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 월별로 훑으며 실행되지 않은 달을 찾습니다.
- 실행일이 예정일보다 늦은 건은 지연입니다.
- 차변·대변 계정과 금액이 맞는지 확인합니다.
- 결과는 CSV 다운로드로 내려받아 운영 점검 자료로 씁니다.
실행 판정 규칙
템플릿마다 정해진 주기에 실행됐는지 봅니다.
실행 키 = 템플릿 ID + 회계연도 + 월
실행 이력 있음 → 실행 완료
실행 이력 없음 → 미실행 — 누락 확인 필요
지연 판정 실행일 > 예정 실행일
차대 확인 차변 계정 금액 = 대변 계정 금액
불일치 → 템플릿 정의 오류
미실행을 빈칸이 아니라 상태로 표시하는 이유
실행된 것만 목록에 나오면 빠진 달은 아예 보이지 않습니다. 없는 것을 알아채려면 1월부터 12월까지 세어 봐야 합니다. 월을 축으로 고정하고 미실행을 상태로 표시하면 빈 자리가 눈에 들어옵니다.
반복전표 운영 4단계
| 단계 | 내용 | 결과 |
|---|---|---|
| ① 템플릿 등록 | 계정·금액·주기 정의 | 반복전표 템플릿 |
| ② 실행 | F.14 로 기간 전표 생성 | 회계 전표 |
| ③ 점검 | 실행 여부와 금액 확인 | 누락 식별 |
| ④ 갱신 | 금액 변경 시 템플릿 수정 | 다음 기간 반영 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 Bukrs | 필수 | 대상 법인 |
회계연도 Gjahr | 필수 | 대상 연도 |
템플릿 RecurId | 선택 | 반복전표 ID |
월 Monat | 선택 | 특정 기간 |
| 상태 | 선택 | 전체 / 미실행만 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
템플릿 RecurId | 반복전표 식별 |
실행 키 RunKey | 템플릿·연도·월 조합 |
회사코드 Bukrs | 귀속 법인 |
회계연도 Gjahr · 월 Monat | 대상 기간 |
기간 라벨 MonatLabel | 표시용 연월 |
실행일 RunDate | 전표 생성 날짜 |
차변 계정 HkontDebit · 명칭 | 차변 측 |
| 대변 계정 · 명칭 | 대변 측 |
| 금액 | 전기 금액 |
| 실행 상태 | 완료 / 지연 / 미실행. 상태 색 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
FBD1 | 반복전표 등록 | 템플릿 정의 |
FBD3 | 반복전표 조회 | 템플릿 확인 |
F.14 | 반복전표 실행 | 기간 전표 생성 |
F.15 | 반복전표 목록 | 실행 대상 확인 |
BKPF · BSEG | 생성된 회계 전표 | 실행 결과 |
SKA1 | 계정 마스터 | 계정 명칭 |
도입 시 확인이 필요한 부분
반복전표 실행을 배치로 돌리는지 수동으로 하는지에 따라 누락 양상이 다릅니다. 배치면 실패 로그를 함께 봐야 하고, 수동이면 담당자 부재 시 빠지기 쉽습니다. 또 템플릿의 유효 기간이 지나면 실행되지 않으므로 그 확인도 필요합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCRECURDOC'
@EndUserText.label: '반복전표 실행 이력 (Z)'
define view Z_C_RECURRING_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 skat as AcctText on Line.hkont = AcctText.saknr
and AcctText.spras = 'K'
{
key Header.bukrs,
key Header.belnr,
key Header.gjahr,
Header.monat as Monat,
Header.budat as RunDate,
Header.stgrd,
Line.hkont,
AcctText.txt50 as AccountText,
Line.shkzg,
Line.dmbtr
// 반복전표 템플릿 키는 참조 필드나 별도 매핑으로 연결
// 미실행 판정은 템플릿 × 기간 조합에서 이력 부재로 확인
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 이력 테이블 · 상세 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 이력 테이블 | sap.ui.table.Table — 템플릿 행, 월 열 |
| 실행 상태 | sap.m.ObjectStatus — 완료 / 지연 / 미실행 |
| 실행 상세 | 셀 선택 시 계정과 금액 펼침 |
템플릿을 행, 월을 열로 둔 이유
점검의 목적은 "빠진 달이 있는가" 를 보는 것입니다. 월을 열로 두면 한 템플릿이 한 줄이 되고 12개 칸 중 빈 곳이 바로 보입니다. 행으로 나열하면 템플릿마다 12줄이 되어 누락을 세어 가며 찾아야 합니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.recurdoc) · ko 로케일 |
view/Main.view.xml | 조회조건 · 이력 테이블 · 상세 |
controller/Main.controller.js | 조회 · 실행 판정 · 차대 확인 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 일자 · 상태 색 포맷터 |
localdata/recurtemplates.json | 템플릿 8건 |
localdata/recurruns.json | 실행 이력 140건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 실행 키 = 템플릿 + 연도 + 월 (중복 없음) | 통과 |
| 실행 건은 차변 금액 = 대변 금액 | 통과 |
| 미실행 월이 상태로 표시 | 통과 |
| 실행일이 해당 기간 내에 포함 | 통과 |
| 계정 코드가 있으면 명칭도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처 | 3/3 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
미실행이 정상인 경우도 있나요?
있습니다. 템플릿 유효 기간이 끝났거나 해당 월에 해당 거래가 없으면 실행되지 않습니다. 유효 기간을 함께 보면 구분됩니다.
금액이 바뀌면 어떻게 하나요?
템플릿을 수정합니다. 이미 실행된 전표는 그대로 두고 다음 기간부터 새 금액이 적용됩니다. 소급이 필요하면 별도 조정 전표를 넣습니다.
실행이 늦으면 문제인가요?
같은 달 안이면 큰 문제가 아닙니다. 다음 달로 넘어가면 그달 비용이 빠지고 다음 달에 두 배로 잡혀 손익이 흔들립니다.
SAP 표준 기능과 어떻게 이어지나요?
템플릿 등록과 실행은 표준 FI 가 담당합니다. 이 화면은 실행 이력을 템플릿 × 기간으로 펼쳐 빠진 달을 드러내는 확장입니다.