SAP 자산 처분 현황 조회 — 팔았는가 버렸는가, 손익은 얼마인가
폐기와 매각 처분전표를 모아 취득가액·상각누계·장부가액 처분분과 처분손익을 확인하고, NBV 등식과 전표 차대를 이중으로 대사하는 화면입니다.
자산을 처분하면 장부에서 세 가지가 동시에 빠집니다. 취득가액과 상각누계, 그리고 그 차이인 장부가액입니다. 여기에 받은 돈과 장부가액의 차이가 처분손익으로 남습니다.
이 네 숫자가 서로 맞물려야 하는데, 한 군데라도 어긋나면 손익이 틀립니다. 표준 자산 처분 구조를 그대로 이어받아 NBV 등식과 전표 차대를 함께 대사하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 처분 유형 — 폐기(ABAVN)와 매각(ABAON)을 표준 거래유형으로 구분
- 자산 정보 — 자산번호(
Anln1) · 부번호(Anln2) · 자산등급 · 취득일 · 취득가액 - 처분 전표 — 전표번호(
RetireDocNo)와 라인(Buzei) - 전표 라인 — 계정(
Hkont) · 차대(DC) · 금액(Dmbtr) · 적요 - 귀속 — 코스트센터(
Kostl)와 명칭
| 항목 | 내용 |
|---|---|
| 대응 T-code | ABAVN (폐기) · ABAON (매각) · AW01N |
| 업무 영역 | 재무회계(FI-AA) · 자산 처분 · 결산 |
| Namespace | zui5.assetretire |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 처분 현황, 행 선택 시 전표 라인 |
| 화면 수 | 조회 화면 1개 + 전표 상세 |
| 데이터 | 처분 30건 · 전표 라인 107건 · 자산 19건 |
| 성격 | 조회형(Read-Only) — 처분 전기는 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회사코드·회계연도·처분유형으로 조회하면 처분 건이 모입니다 → 이중 대사 결과로 숫자를 믿어도 되는지 먼저 확인하고 → 행을 눌러 처분 전표의 차대 라인을 검증합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드와 회계연도를 고릅니다.
- 처분유형으로 폐기와 매각을 나눕니다. 손익 성격이 달라 따로 보는 것이 좋습니다.
- 자산등급으로 범위를 좁힙니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 대사 결과를 먼저 봅니다. 두 검증이 모두 통과하면 아래 숫자를 그대로 읽어도 됩니다.
- 처분손익이 큰 건은 손익 영향이 커 별도 검토 대상입니다.
- 행을 선택하면 전표 라인이 열립니다.
- 결과는 CSV 다운로드로 내려받습니다.
이중 대사 규칙
같은 처분 건을 두 방향에서 검증합니다. 자산 관점과 전표 관점입니다.
① NBV 등식
장부가액 처분분 = 취득가액 처분분 − 상각누계 처분분
처분손익 = 처분대가 − 장부가액 처분분
② 전표 차대일치
처분 전표의 차변 합계 = 대변 합계
두 검증이 모두 통과해야 대사 완료
두 방향으로 보는 이유
①만 보면 자산 보조부 안에서만 맞는 상태가 됩니다. 전표가 잘못 만들어졌어도 자산 쪽 숫자는 성립할 수 있습니다. ②만 보면 차대는 맞는데 금액 구성이 틀린 경우를 놓칩니다. 두 검증을 함께 걸면 보조부와 원장 어느 쪽에서 어긋났는지까지 좁혀집니다.
처분 유형과 손익 성격
| 유형 | 내용 | 처분대가 | 손익 |
|---|---|---|---|
| 폐기 ABAVN | 사용 불가로 버림 | 없음 (0) | 장부가액 전액이 손실 |
| 매각 ABAON | 외부에 판매 | 판매 대금 | 대가 − 장부가액 |
| 부분 처분 | 자산 일부만 처분 | 해당 비율 | 비율만큼 안분 |
| 사내 이체 | 처분이 아니라 이동 | 해당 없음 | 손익 없음 |
사내 이체는 처분으로 보이지만 그룹 내 이동이라 손익이 생기지 않습니다. 처분 목록에서 제외해야 합니다.
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 Bukrs | 필수 | 대상 회사코드 |
| 회계연도 | 필수 | 처분 연도 |
| 처분유형 | 선택 | 폐기 / 매각 |
자산등급 AssetClass | 선택 | 건물 · 기계 · 차량 등 |
코스트센터 Kostl | 선택 | 귀속 부서 |
| 처분일 | 선택 | 기간 From~To |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
자산번호 Anln1 · 부번호 Anln2 | 자산 식별 |
자산명 Txt50 · 등급 AssetClassText | 명칭과 등급 |
코스트센터 Kostl · KostlText | 귀속 부서 |
취득일 AktivDate · 취득가액 Apc | 원 취득 정보 |
| 처분유형 · 처분일 | 폐기 / 매각과 날짜 |
| 취득가액 처분분 | 처분으로 빠지는 취득가액 |
| 상각누계 처분분 | 처분으로 빠지는 상각누계 |
| 장부가액 처분분 | 취득가액 − 상각누계 |
| 처분대가 | 매각 대금 (폐기는 0) |
| 처분손익 | 대가 − 장부가액. 부호에 따라 상태 색 |
| 대사 결과 | NBV 등식과 차대일치 검증 결과 |
처분전표 RetireDocNo | 전표 번호 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
ABAVN | 자산 폐기 | 처분분과 손익을 계산해 목록으로 제시 |
ABAON | 자산 매각 | 처분대가와 손익을 함께 표시 |
AW01N | 자산 조회 | 처분 전후 가액 확인 |
ANLA · ANLC | 자산 마스터 · 가액 | 취득가액·상각누계 |
ANEP | 자산 거래 — 처분 | 처분분 원천 |
BSEG | 전표 라인 | 차대일치 검증 |
도입 시 확인이 필요한 부분
처분손익 계정이 영업외손익인지 별도 계정인지가 회사 정책에 따라 다릅니다. 또 기중 처분 시 처분 시점까지의 상각을 먼저 인식하는지가 설정에 달려 있어, 그에 따라 장부가액 처분분이 달라집니다. 대사 결과가 어긋난다면 이 설정을 먼저 확인합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCASSETRET'
@EndUserText.label: '자산 처분 현황 (Z)'
define view Z_C_ASSET_RETIREMENT
as select from anep as Trans
inner join anla as Master on Trans.bukrs = Master.bukrs
and Trans.anln1 = Master.anln1
and Trans.anln2 = Master.anln2
{
key Trans.bukrs,
key Trans.anln1 as AssetNo,
key Trans.belnr as RetireDocNo,
key Trans.gjahr,
Master.txt50 as Txt50,
Master.anlkl as AssetClass,
Master.kostl as Kostl,
Master.aktiv as AktivDate,
Trans.bwasl as TransactionType,
Trans.bzdat as RetireDate,
Trans.anbtr as RetireApc
// 상각누계 처분분은 ANEA 에서, 처분대가는 전표 라인에서 가져와
// 장부가액 = 취득가액 − 상각누계, 손익 = 대가 − 장부가액 으로 계산
}
where Trans.bwasl like '2%'
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 처분 현황 테이블 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 현황 테이블 | sap.m.Table — 처분분 3종을 인접 배치 |
| 대사 표시 | sap.m.ObjectStatus — NBV 등식과 차대일치 |
| 상세 화면 | sap.m.Dialog — 전표 라인과 차대 합계 |
대사 결과를 열로 만든 이유
처분은 건수가 많지 않지만 금액이 큽니다. 한 건만 틀려도 손익이 크게 흔들립니다. 검증 결과를 목록 열로 두면 전체를 훑는 것만으로 문제 건이 드러나고, 나머지는 그대로 조서에 옮겨 쓸 수 있습니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.assetretire) · ko 로케일 |
view/Main.view.xml | 조회조건과 처분 현황 테이블 |
controller/Main.controller.js | 조회 · 이중 대사 · 전표 상세 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 손익 부호 · 대사 상태 포맷터 |
localdata/retirements.json | 처분 30건 |
localdata/retireitems.json | 전표 라인 107건 |
localdata/assets.json | 자산 19건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 장부가액 = 취득가액 − 상각누계 (전 건) | 통과 |
| 처분손익 = 처분대가 − 장부가액 | 통과 |
| 처분 전표 차변 합계 = 대변 합계 | 통과 |
| 폐기 건은 처분대가 0 | 통과 |
| 자산등급·코스트센터 코드가 있으면 명칭도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처 | 3/3 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
폐기와 매각을 왜 나눠 보나요?
폐기는 장부가액 전액이 손실로 떨어지지만 매각은 대가와의 차액만 손익입니다. 손익 성격이 달라 분석과 공시에서 구분해야 하고, 폐기가 많으면 자산 관리 자체를 점검할 신호가 됩니다.
기중에 처분하면 상각은 어떻게 되나요?
설정에 따라 처분 시점까지의 상각을 먼저 인식한 뒤 처분합니다. 이 처리를 하지 않으면 장부가액이 과대평가돼 처분손실이 커지므로, 대사 결과가 어긋날 때 가장 먼저 확인할 지점입니다.
부분 처분도 잡히나요?
잡힙니다. 취득가액과 상각누계가 처분 비율만큼 안분돼 빠지며, 남은 부분은 계속 상각됩니다. NBV 등식은 처분분 기준으로 성립해야 합니다.
SAP 표준 기능과 어떻게 이어지나요?
처분 전기는 ABAVN·ABAON 이 담당하고 결과는 자산 거래와 전표에 남습니다. 이 화면은 그 두 곳을 함께 읽어 NBV 등식과 차대일치를 동시에 검증하고, 처분손익을 목록으로 보여 주는 확장입니다.