SAP 여비 신청·정산 현황 — 신청부터 지급까지 어디쯤 왔나
출장 여비 신청 건을 사번·기간·상태로 조회하고, 신청·정산·지급 금액과 진행 상태를 확인하는 화면입니다.
출장 여비는 신청 금액과 정산 금액과 지급 금액이 모두 다를 수 있습니다. 예상보다 적게 쓰면 정산이 줄고, 증빙이 빠지면 지급이 깎입니다.
그래서 "얼마 신청했나" 만으로는 아무것도 알 수 없습니다. 세 금액과 진행 상태를 한 줄에 놓아야 어디서 줄었고 어디서 멈췄는지 보입니다. 표준 출장 관리 구조를 그대로 이어받아 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 여비 문서 — 여비번호(
Reisn)와 출장유형(ReiseArt) - 신청자 — 사번(
Pernr)과 성명 · 부서(Orgeh) - 출장 정보 — 출장지(
Destination) · 목적(Purpose) · 기간 - 금액 — 신청·정산·지급 금액과 통화(
Currency) - 처리 상태 — 신청 · 결재중 · 정산완료 · 지급완료 · 반려(
Status)
| 항목 | 내용 |
|---|---|
| 대응 T-code | PR05 (출장 경비 정산) |
| 업무 영역 | 재무회계(FI) · 경비 · 인사 연계 |
| Namespace | zui5.travel |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 여비 현황 목록 |
| 화면 수 | 조회 화면 1개 + 상세 |
| 데이터 | 여비 42건 · 사번 13건 |
| 성격 | 조회형(Read-Only) — 신청과 정산은 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회사코드·출장유형·상태·기간으로 조회하면 여비 건이 나옵니다 → 신청·정산·지급 금액을 대조하고 → 예산초과와 지급지연 건을 가려냅니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드를 고릅니다. 해외 법인도 함께 관리됩니다.
- 출장유형으로 국내·해외를 나눕니다. 정산 기준이 다릅니다.
- 처리상태로 신청·결재중·정산완료·지급완료·반려를 추립니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 신청·정산·지급 세 금액을 대조합니다. 차이가 나면 이유가 있습니다.
- 예외 표시가 있는 건을 확인합니다. 예산초과나 지급지연입니다.
- 결과는 CSV 다운로드로 내려받습니다.
상태 전이와 예외 판정
여비는 네 단계를 거치고, 각 단계에서 금액이 확정됩니다.
신청 → 결재중 → 정산완료 → 지급완료
↘ 반려
신청금액 출장 전 예상 금액
정산금액 실제 사용액 기준 확정 금액
지급금액 증빙 검토 후 실제 지급액
예산초과 정산금액 > 신청금액
지급지연 정산완료 후 지급까지 오래 걸림
세 금액을 모두 남기는 이유
지급금액만 보면 얼마가 나갔는지는 알지만 왜 그 금액인지는 모릅니다. 신청 대비 정산이 줄었다면 절약한 것이고, 정산 대비 지급이 줄었다면 증빙이 부족했던 것입니다. 세 금액이 있으면 출장비 관리에서 무엇을 개선할지가 드러납니다.
여비 처리 4단계
| 단계 | 내용 | 금액 확정 |
|---|---|---|
| 신청 | 출장 전 예상 금액 신청 | 신청금액 확정 |
| 결재 | 상급자 승인 | 출장 승인 |
| 정산 | 실제 사용액과 증빙 제출 | 정산금액 확정 |
| 지급 | 검토 후 지급 | 지급금액 확정 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 Bukrs | 필수 | 한국법인 · 해외법인 |
출장유형 ReiseArt | 선택 | 전체 / 국내 / 해외 |
처리상태 Status | 선택 | 신청 / 결재중 / 정산완료 / 지급완료 / 반려 |
사번 PernrText | 선택 | 신청자 |
조회시작일 DateFrom | 선택 | 기간 시작 |
조회종료일 DateTo | 선택 | 기간 종료 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
여비번호 Reisn | 여비 문서 식별 |
사번/성명 PernrName | 신청자 |
부서 Orgeh | 소속 조직 |
출장유형 ReiseArt · 출장지 Destination | 국내/해외와 목적지 |
출장목적 Purpose | 출장 사유 |
| 출장기간 | 시작일 ~ 종료일 |
| 신청금액 | 출장 전 예상액 |
| 정산금액 | 실제 사용 기준 |
지급금액 · 통화 Currency | 실제 지급액 |
처리상태 Status | 단계별 상태. 상태 색 |
| 예외 | 예산초과 · 지급지연 표시 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
PR05 | 출장 경비 정산 | 신청·정산·지급을 한 줄에 배치 |
TRIP | 출장 관리 | 진행 상태 추적 |
PTRV_HEAD · PTRV_PERIO | 출장 헤더와 기간 | 조회 원천 |
PA0001 | 인사 마스터 — 조직 배정 | 사번·부서 정보 |
BSEG | 전표 라인 | 지급 반영 확인 |
도입 시 확인이 필요한 부분
여비 규정이 출장유형과 직급에 따라 다릅니다. 예산초과 판정을 하려면 규정 한도를 읽어야 하며, 규정이 바뀌면 판정 기준도 함께 바뀌어야 합니다. 또 지급지연 기준 일수를 정해야 경고가 의미를 갖습니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCTRAVEL'
@EndUserText.label: '여비 신청·정산 현황 (Z)'
define view Z_C_TRAVEL_EXPENSE
as select from ptrv_head as Head
left outer join ptrv_perio as Period on Head.pernr = Period.pernr
and Head.reinr = Period.reinr
{
key Head.pernr as Pernr,
key Head.reinr as Reisn,
Head.zort1 as Destination,
Head.kunde as Purpose,
Head.datv1 as DateFrom,
Head.datb1 as DateTo,
Head.reise as ReiseArt,
Head.morg as Orgeh,
Period.betrg as Amount,
Period.waers as Currency
// 신청·정산·지급 금액과 처리 상태는 출장 상태 테이블과 조인
// 예산초과 = 정산 > 신청, 지급지연 = 정산완료 후 경과일수
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
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.travel) · ko 로케일 |
view/Main.view.xml | 조회조건과 여비 현황 테이블 |
controller/Main.controller.js | 조회 · 예외 판정 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 일자 · 상태 색 포맷터 |
localdata/travel.json | 여비 42건 |
localdata/pernr.json | 사번 13건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 상태 전이가 정의된 순서를 따름 | 통과 |
| 지급완료 건은 지급금액 존재 | 통과 |
| 예산초과 판정 = 정산금액 > 신청금액 | 통과 |
| 반려 건은 정산·지급 금액 없음 | 통과 |
| 사번이 있으면 성명·부서도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 후 캡처 | 3/3 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
정산금액이 신청금액보다 많으면 무조건 문제인가요?
아닙니다. 출장이 길어지거나 예상 못 한 비용이 생길 수 있습니다. 다만 사유 확인이 필요하므로 예외로 표시해 검토 대상에 올립니다.
지급지연 기준은 어떻게 정하나요?
회사 규정에 따릅니다. 정산 완료 후 며칠 내 지급한다는 기준이 있으면 그것을 씁니다. 기준이 없으면 실제 처리 실적의 평균을 참고해 정합니다.
해외 출장은 무엇이 다른가요?
환율 적용과 일비 기준이 다릅니다. 또 현지 통화 영수증을 원화로 환산하는 과정에서 정산금액과 지급금액이 달라질 수 있습니다.
SAP 표준 기능과 어떻게 이어지나요?
출장 신청과 정산은 표준 출장 관리가 담당합니다. 이 화면은 그 데이터를 신청·정산·지급 세 금액과 진행 상태로 정리하고 예외를 표시하는 확장입니다.