종속·관계기업 지분 처분손익 범주 점검 — IFRS 18 에서 지분을 팔며 남긴 손익이 맞는 범주에 놓였는지 처분 방식으로 다시 구해 장부와 맞춰 보는 화면
처분 방식 · 사업 성격으로 다시 정한 범주 · 구성요소별 점검 · 처분손익 재계산 · 범주별 합계 · 대사 5종 — 소개 영상과 실제 화면 7종, 그리고 CDS 코드까지
소개 영상1분 45초8개 장면음성 안내·자막조회조건 → 구성요소 점검 → 상세 → 범주 합계 → 재계산 → 대사
개발 배경 — 이 앱을 사용해야 하는 이유
종속기업이나 관계기업, 공동기업의 지분을 팔고 나면 결산 담당자는 같은 질문을 받습니다. 이 처분손익은 손익계산서의 어느 범주에 놓였나, 그 범주가 처분 방식과 사업 성격에 맞나, 다른 범주에 놓였다면 얼마를 옮겨 봐야 하나. IFRS 18 재무제표 표시와 공시(K-IFRS 제1118호)는 손익을 영업·투자·재무 등 범주로 나누어 표시하도록 요구하므로, 지분 처분처럼 한 번에 여러 구성요소(처분손익, 기타포괄손익 재순환액, 잔여지분 재측정이익, 거래원가)가 생기는 거래는 구성요소마다 범주를 따로 따져 봐야 합니다. 적용 시기와 범위는 회사가 직접 확인할 사항입니다(확인 필요).
지금은 이 점검이 표준 전표 조회 화면 몇 개와 엑셀 표로 흩어져 있습니다. 처분 건마다 처분 방식(전부 처분, 지배력을 유지한 일부 처분, 지배력을 잃은 일부 처분)을 적고, 주된 사업활동 여부를 판단한 근거를 찾고, 전표에 기록된 범주와 대조하는 일을 사람이 반복합니다. 이 앱은 그 대조를 한 화면에서 하게 해서, 기록한 범주와 다시 구한 범주가 다른 건만 먼저 보이게 합니다.
처분손익은 한 줄이 아니라 구성요소 묶음이다
지분을 팔 때 장부에 남는 것은 처분손익 하나가 아닙니다. 지배력을 잃으면 남은 지분을 공정가치로 다시 재서 생기는 이익이 있고, 그동안 기타포괄손익에 쌓아 둔 금액이 손익으로 옮겨 오는 재순환액이 있으며, 매각에 든 거래원가가 있습니다. 이 구성요소들이 서로 다른 범주에 기록되기 쉽습니다. 이 앱은 처분 건 아래에 구성요소를 줄로 펼쳐 놓고 줄마다 기록 범주와 다시 구한 범주를 나란히 둡니다.
범주는 처분 방식과 사업 성격으로 정해진다
다시 구하는 규칙은 단순합니다. 중단영업으로 분류되는 처분이면 중단영업 범주, 지배력을 유지한 일부 처분이면 일반적으로 자본거래로 봅니다(확인 필요). 그 밖에는 투자 대상의 주된 사업활동 여부로 영업과 투자 중 하나를 정합니다. 주된 사업활동 여부를 판단한 근거가 정리되지 않았다면 화면은 범주를 정하지 않고 확인 필요로 남겨, 회사가 먼저 판단하게 합니다.
범주가 달라도 합계는 어긋나지 않아야 한다
범주를 옮겨 보더라도 전체 금액은 같아야 합니다. 그래서 구성요소 합계, 처분 건별 합계, 기록 범주 합계, 다시 구한 범주 합계를 서로 맞춰 보는 대사 네 가지를 화면 안에 두었고, 처분손익을 순처분대가에서 처분분 장부금액을 빼서 다시 구한 값과 장부 값을 맞춰 보는 대사를 하나 더 두었습니다.
사용 방법
- 회계연도(필수, 4자리)를 입력하고, 회사 · 투자 유형 · 처분 방식 · 기록 범주 · 처분일 범위 · 투자처 이름 · 점검 코드 · 점검 결과를 필요한 만큼 고릅니다.
- 조회 버튼은 조회조건 영역 오른쪽 끝에 있고, 입력 칸에서 Enter 키를 눌러도 조회됩니다. 초기화 버튼은 조건을 처음 상태로 되돌립니다.
- 위쪽 요약 수치 6개로 점검한 구성요소 수, 점검 필요 · 확인 필요 건수, 범주 이동 필요 금액을 확인합니다.
- 탭을 처분 건별 → 구성요소별 → 범주별 합계 → 처분손익 재계산 → 대사 결과 순서로 넘겨 봅니다.
- 표의 행을 누르면 같은 처분 건의 구성요소가 상세 창에 모입니다.
- CSV 내려받기 버튼으로 현재 탭의 조회 결과를 파일로 저장합니다.
숫자를 믿을 수 있는가 — 검증 결과
검증용 샘플 데이터(처분 44건, 구성요소 127줄, 회사 2곳)로 대사식을 전수 돌렸습니다. 처분손익 재계산 대사에는 의도적 예외 3건이 들어 있으며, 정합성 대사의 차이 건수와 분리해 적습니다.
| 대사식 | 검사 건수 | 차이 건수 | 최대 차이 | 비고 |
|---|---|---|---|---|
| 구성요소 금액 합계 = 처분 건별 합계 | 44 | 0 | 0 | 정합성 |
| 범주별 장부 금액 합계 = 구성요소 금액 합계 | 127 | 0 | 0 | 정합성 |
| 다시 구한 범주별 합계 = 구성요소 금액 합계 | 127 | 0 | 0 | 정합성 |
| 범주 이동 필요 금액 = 점검 필요 구성요소 금액 | 44 | 0 | 0 | 정합성 |
| 순처분대가 − 처분분 장부금액 = 장부 처분손익 | 44 | 3 | 12,500,000원 | 의도적 예외 3건, 정합성 차이와 분리 |
무엇으로 만들었나
| 자리 | 무엇 | 왜 그렇게 두었나 |
|---|---|---|
| 화면 | OpenUI5 표준 컨트롤(필터 영역, 탭, 표, 상세 창), 테마 sap_horizon | 표준 컨트롤만 써서 사내망 반입 심사 부담을 줄이고, 테마를 표준 Fiori 와 맞춥니다. |
| 집계 · 판정 로직 | 서비스 쪽 구현이 범주 비교, 건수 집계, 처분손익 재계산, 대사를 맡습니다 | 판단이 화면이 아니라 서비스에 있어 화면을 바꿔도 숫자가 같고, 다른 화면이나 배치가 같은 결과를 씁니다. |
| 데이터 연동 | OData V2 서비스. 처분 건 · 구성요소 · 범주별 합계 · 재계산 · 대사 결과를 각각 한 묶음으로 제공 | 화면 모델은 서비스 주소만 바꾸면 운영 데이터로 전환됩니다. 조회조건은 모두 표준 필터로 전달됩니다. |
| 오류 안내 | 서비스에 붙지 못하면 오류 안내 창이 뜨고 표는 빈 상태로 둡니다 | 연결 실패를 빈 표로 오해하지 않게 합니다. |
| 테마 · 글꼴 | sap_horizon, 72 글꼴 | SAP 표준 화면과 같은 인상을 줍니다. |
실행 화면
처음 열었을 때
화면을 열면 현재 입력된 회계연도로 한 번 자동 조회됩니다. 조건 한 줄과 요약 수치를 먼저 봅니다.

조회조건은 회계연도(필수)와 선택 조건 아홉 개로 이루어지고, 위쪽 요약 수치는 구성요소 수, 점검 필요, 확인 필요, 범주 이동 필요 금액, 투자범주로 기록된 손익, 정합성 대사 차이 건수입니다. 이 샘플에서는 127줄 가운데 15건이 점검 필요, 8건이 확인 필요입니다. 정합성 대사 차이 건수는 0 입니다. 입력 칸에서 Enter 키를 눌러도 조회됩니다.
점검 필요 건만 골라 보기
구성요소 단위로 내려가 기록 범주와 다시 구한 범주가 다른 줄을 찾습니다.

한 줄은 처분손익, 기타포괄손익 재순환액, 잔여지분 재측정이익, 거래원가 중 하나입니다. 기록 범주와 재계산 범주를 나란히 두고 이동 필요 금액을 오른쪽에 보여 줍니다. 점검 코드 열은 A01 부터 A06 까지가 점검 필요, C01 이 확인 필요입니다. 이 화면은 이동을 확정하지 않고 확인 대상을 보여 줄 뿐입니다.

조건을 바꾸면 요약 수치도 같은 조건으로 다시 계산됩니다. 처분일은 시작과 종료를 따로 입력할 수 있고, 한쪽만 넣어도 조회됩니다. 투자처 이름은 일부 문자만 넣어도 찾습니다. 회계연도가 비었거나 시작일이 종료일보다 늦으면 입력 칸 아래에 안내가 뜹니다.
건에서 구성요소로
처분 건 하나를 열어 구성요소를 한 자리에서 비교합니다.

상세 창은 처분 번호, 투자 유형, 처분 방식을 위에 두고 구성요소별 기록 범주와 재계산 범주를 줄로 보여 줍니다. 영업범주로 기록된 처분손익이 재계산에서는 투자범주로 나오는 식의 차이가 보입니다. 다른 범주에 기록한 사유가 있는지는 회사가 확인합니다.
범주와 손익을 다시 맞춰 보기
합계로 범주를 비교하고, 처분손익을 다시 계산하고, 대사로 마무리합니다.

차이가 있는 범주에서는 점검 건수가 함께 보여 바로 해당 구성요소로 내려갈 수 있습니다. 범주별 합계의 총합은 구성요소 금액 합계와 같아야 하며, 이 등식이 대사 결과 탭에 따로 적혀 있습니다.

이 샘플에는 일부러 넣은 차이 3건이 있어 점검 필요로 표시됩니다. 처분분 장부금액은 투자 장부금액에 처분 지분율을 곱해 구합니다. 차이가 나는 건은 금액 차이의 원인을 회사가 확인합니다.

대사 하나마다 검사 건수, 차이 건수, 최대 차이 금액과 산식이 적혀 있습니다. 의도적 예외는 정합성 대사와 분리해 읽어야 합니다.
화면 뒤에서 일어나는 일
조회 버튼을 누르면 화면은 조회조건을 필터 객체로 만들어 서비스의 처분 건, 구성요소, 범주별 합계, 재계산, 대사 결과 묶음에 각각 요청합니다. 판정과 집계는 서비스가 하고, 화면은 받은 값을 보여 줍니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 기록 범주와 다시 구한 범주가 같음 | 정상 | 별도 조치 없음 |
| 처분손익이 다시 구한 범주와 다른 범주에 기록됨 | 점검 필요 | 처분 방식과 사업 성격 근거를 기록 범주와 대조 |
| 중단영업으로 분류되는 처분이 중단영업 범주 밖에 기록됨 | 점검 필요 | 중단영업 해당 근거 확인 |
| 지배력을 유지한 일부 처분의 손익이 손익 범주에 기록됨 | 점검 필요 | 자본거래 처리 여부 확인(일반적 처리, 확인 필요) |
| 잔여지분 재측정이익 · 기타포괄손익 재순환액이 처분손익과 다른 범주에 기록됨 | 점검 필요 | 구성요소별 범주 확인 |
| 손익 범주가 비어 있음 | 점검 필요 | 범주 지정 여부 확인 |
| 주된 사업활동 여부 판단 근거가 없음 | 확인 필요 | 회사가 먼저 판단하고 근거를 남김 |
| 순처분대가 − 처분분 장부금액이 장부 처분손익과 다름 | 점검 필요 | 금액 차이의 원인 확인 |
처리 단계와 대사식
- 처분분 장부금액 = 투자 장부금액 × 처분 지분율
- 다시 구한 처분손익 = 순처분대가 − 처분분 장부금액
- 다시 구한 범주 = 처분 방식과 주된 사업활동 여부로 정한 범주
- 범주 이동 필요 금액 = 기록 범주와 다시 구한 범주가 다른 구성요소의 금액
- 대사: 구성요소 합계 = 처분 건 합계 = 범주별 합계(기록 · 재계산), 이동 필요 금액 = 점검 필요 구성요소 금액
조회조건
| 조회조건 | 필수 | 기본값 | 필터 방식 |
|---|---|---|---|
| 회계연도 | 필수 | 현재 연도 | Gjahr 같음 |
| 회사 | 선택 | 전체 | Bukrs 같음(비우면 필터 없음) |
| 투자 유형 | 선택 | 전체 | InvType 같음 |
| 처분 방식 | 선택 | 전체 | DispMode 같음 |
| 기록 범주 | 선택 | 전체 | BookedCat 같음 |
| 처분일 시작 · 종료 | 선택 | 없음 | 날짜 ge · le(한쪽만도 가능) |
| 투자처 이름 | 선택 | 없음 | InvName 포함 |
| 점검 코드 | 선택 | 전체 | CheckCode 같음 |
| 점검 결과 | 선택 | 전체 | CheckStatus 같음 |
결과 컬럼
| 컬럼 | 의미 | 산출식 |
|---|---|---|
| 기록 범주 | 전표에 기록된 손익 범주 | 원천 값 그대로 |
| 재계산 범주 | 처분 방식과 사업 성격으로 다시 정한 범주 | 서비스 규칙 |
| 이동 필요 금액 | 범주가 다른 구성요소의 금액 | 기록 ≠ 재계산이면 금액 |
| 재계산 처분손익 | 순처분대가 − 처분분 장부금액 | 서비스 계산 |
| 차이 금액 | 재계산 처분손익 − 장부 처분손익 | 서비스 계산 |
| 점검 결과 · 코드 | 정상 · 점검 필요 · 확인 필요와 세부 코드 | 서비스 규칙 |
좁은 화면에서 달라지는 것
표는 가로로 넘겨 볼 수 있고, 조회조건은 줄바꿈되어 조회 버튼이 입력 칸 아래로 내려옵니다. 상세 창은 화면 폭에 맞춰 줄어듭니다.
파일 구성
├─ index.html · Component.js · manifest.json
├─ controller/ · view/ · model/ · css/ · i18n/
├─ odata/ (서비스 선언 · 서비스 로직 · 데이터)
├─ media/ (소개 영상)
└─ readme.htmlSAP 표준 기능 확장 포인트
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회 · 검증 관점을 더해 확장합니다. 전표를 만들고 고치는 일, 법정 보고와 공시, 감사 대응은 표준 화면에 그대로 둡니다.
표준으로 되는 것과 안 되는 것
| 하고 싶은 일 | 표준 화면 | 이 앱이 더하는 관점 |
|---|---|---|
| 처분 전표 한 건 보기 | FB03 | 처분 건 단위로 구성요소를 모아 보기 |
| 처분손익 계정의 라인 아이템 | FAGLL03 | 범주 관점에서 기록 범주 · 재계산 범주 비교 |
| 계정 잔액 확인 | FAGLB03 | 범주별 합계와 잔액 대조 지점 제공 |
| 범주 지정의 일관성 | - | 처분 방식과 사업 성격 규칙으로 다시 구한 범주와 비교 |
| 처분손익 재계산 | - | 순처분대가와 처분분 장부금액으로 다시 계산 |
| 대사 결과 모아 보기 | - | 정합성 대사 4종과 재계산 대사 1종을 한 탭에 정리 |
요구사항 매핑
| 기준서 | 요구사항 | 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| IFRS 18 재무제표 표시와 공시(K-IFRS 제1118호) | 지분 처분손익을 맞는 범주에 표시 | 범주별 합계 · 구성요소별 점검 | 처분손익 계정의 범주 지정값(확인 필요) | 범주 판단은 회사와 감사인 |
| IFRS 18 재무제표 표시와 공시(K-IFRS 제1118호) | 주된 사업활동 여부 판단 근거 정리 | 확인 필요 코드 | 회사 판단 자료(확인 필요) | 근거가 없으면 범주를 정하지 않음 |
| IFRS 18 재무제표 표시와 공시(K-IFRS 제1118호) | 기타포괄손익 재순환액 · 재측정이익의 표시 범주 | 구성요소별 점검 | 재순환 전표 · 재측정 전표(확인 필요) | - |
T-code 별 연계 지점
| T-code | 이름 | 연계 |
|---|---|---|
| FB03 | 전표 조회 | 점검 필요 구성요소의 원전표를 열어 기록 범주를 확인합니다. 이 앱 결과 → FB03 으로 원천 확인, 표준 화면에서 본 전표 → 이 앱의 처분 번호로 다시 확인합니다. 법정 · 감사 대응은 표준에 남겨 둡니다. |
| FAGLL03 | G/L 계정 라인 아이템 | 처분손익 계정의 라인 합계가 이 앱 구성요소 합계와 같은지 대사 지점으로 씁니다(확인 필요: 계정 범위는 회사별). |
| FAGLB03 | G/L 계정 잔액 | 범주별 합계를 계정 잔액과 대조합니다(확인 필요). |
운영 전환 시 “기존 화면을 없애야 하나”라는 질문에는 아니라고 답합니다. 표준 화면은 전표와 법정 대응용으로 남고, 이 앱은 결산 전 점검에 쓰입니다.
S/4HANA 분석 스택과의 자리
표준 CDS 분석 쿼리, Fiori 분석 앱, Analysis for Office 와 겹치는 일은 하지 않습니다. 이 앱의 서비스는 CDS 뷰 위에 얹히는 조회 서비스이며, 표준 분석 앱이 이미 있다면 같은 CDS 뷰를 그 앱의 데이터원으로도 쓸 수 있습니다(확인 필요).
확장 포인트 — 운영에서 실제로 손대는 자리
| 자리 | 무엇을 손대나 | 비고 |
|---|---|---|
| 범주 매핑 | 처분손익 계정 · 구성요소 유형 → 범주 | 회계팀이 정함 |
| 처분 방식 코드 | 회사의 처분 거래 구분 → 전부 · 일부(유지) · 일부(상실) | 확인 필요 |
| 주된 사업활동 판단 | 투자처별 판단 근거 입력 위치 | 회사별 개발 필요 |
| 권한 | 회사코드 기준 표준 권한 객체 | 집계 단계에 적용 |
| 확장 필드 | 구성요소 유형 추가 · 점검 코드 추가 | BAdI · 커스텀 필드(확인 필요) |
CDS 구성
아래는 이 화면의 데이터를 만드는 CDS 구성의 스케치입니다. 실제 테이블과 필드 이름은 회사 환경에서 확인해야 하므로 확인 필요로 표시했습니다. 이름은 모두 기능을 뜻하는 영문입니다.
뷰 레이어 구성
| 레이어 | 뷰 · 객체 | 하는 일 | 왜 나누나 |
|---|---|---|---|
| 기준 | ZDSP_CATRULE (매핑 테이블) | 처분 방식 · 사업 성격 → 재계산 범주 규칙 | 규칙을 코드가 아니라 데이터로 두어 회계팀이 고칠 수 있게 |
| 차원 | ZI_DispInvestee | 투자처 · 투자 유형 속성 | 투자처 정보를 한 곳에 모음 |
| 기본 | ZI_DispLine | 구성요소 줄과 재계산 범주 | 금액과 범주 비교의 원천 |
| 큐브 | ZI_DispCatCube | 범주별 장부 · 재계산 금액 집계 | 합계 대사의 기준 |
| 쿼리 | ZC_DispCatQuery | 조회조건과 화면용 필드 노출 | 조회 서비스의 입구 |
| 권한 | ZDSP_DispLine_DCL | 회사코드 기준 접근 제어 | 남의 회사 숫자 노출 방지 |
| 서비스 | ZUI_DispCat (정의 · 바인딩) | OData V2 로 노출 | 화면 모델의 서비스 주소 |
① 범주 규칙 매핑 테이블
처분 방식과 사업 성격으로 다시 구하는 범주 규칙은 테이블 한 장으로 둡니다. 규칙이 바뀌어도 뷰를 이송하지 않고 데이터만 바꿉니다. 운영에서 가장 먼저 정해야 하는 자리입니다.
" ─── ZDSP_CATRULE ────────────────────────────────────────
" 역할 : 처분 방식(DISP_MODE)과 사업 성격(BIZ_NATURE)을 재계산 범주로 옮기는 규칙
" 이유 : 규칙을 코드에 박지 않아야 회계팀이 판단 변경을 데이터로 반영한다
@EndUserText.label : '지분 처분 범주 규칙'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
define table zdsp_catrule {
key mandt : mandt not null;
key disp_mode : abap.char(1) not null; " F 전부, P 일부(유지), L 일부(상실)
key biz_nat : abap.char(1) not null; " Y 주된 사업활동, N 아님, U 판단 전
comp_type : abap.char(1); " G 처분손익, M 재측정, R 재순환, C 거래원가
exp_cat : abap.char(3); " INV OPR DSC EQT CNF
}② 투자처 차원 뷰
투자처 이름과 투자 유형을 한 곳에서 읽습니다. 투자 유형은 종속 · 관계 · 공동기업 구분이며, 이 뷰의 원천은 확인 필요입니다.
" ─── ZI_DispInvestee ─────────────────────────────────────
" 역할 : 투자처 속성(이름, 유형)
" 이유 : 구성요소 · 처분 건 뷰가 같은 투자처 정의를 쓰게 한다
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType: { serviceQuality: #A, sizeCategory: #S, dataClass: #MASTER }
define view entity ZI_DispInvestee as select from zdsp_investee " 확인 필요
{
key bukrs as CompanyCode,
key invee_id as Investee,
invee_name as InvesteeName,
invee_type as InvesteeType " S 종속, A 관계, J 공동
}③ 구성요소 기본 뷰
이 앱의 중심 뷰입니다. 구성요소 줄마다 기록 범주(원천)와 재계산 범주(규칙 매핑)를 붙이고, 둘이 다르면 이동 필요 금액을 만듭니다. 범주를 정하지 못하면 확인 필요 범주로 둡니다.
" ─── ZI_DispLine ─────────────────────────────────────────
" 역할 : 처분 구성요소 줄 + 기록 범주 vs 재계산 범주
" 이유 : 줄 단위 비교를 한 곳에 두어 건 · 범주 · 대사 집계가 같은 값을 쓴다
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@Semantics.systemDateTime.createdAt: false
define view entity ZI_DispLine
as select from zdsp_line as l
left outer join zdsp_catrule as r
on r.disp_mode = l.disp_mode
and r.biz_nat = l.biz_nat
and r.comp_type = l.comp_type
association [0..1] to ZI_DispInvestee as _Investee
on _Investee.CompanyCode = l.bukrs and _Investee.Investee = l.invee_id
{
key l.gjahr as FiscalYear,
key l.bukrs as CompanyCode,
key l.disp_no as DispNo,
key l.seq_no as SeqNo,
l.comp_type as CompType,
l.disp_mode as DispMode,
@Semantics.amount.currencyCode: 'Currency'
l.amount as Amount,
l.currency as Currency,
l.booked_cat as BookedCat,
case when r.exp_cat is null then 'CNF' else r.exp_cat end as ExpectCat,
case when r.exp_cat is not null and l.booked_cat <> r.exp_cat
then l.amount else cast( 0 as abap.curr(23,2) ) end as MoveAmt,
_Investee
}④ 범주별 집계 큐브
기록 범주와 재계산 범주를 각각 집계해 범주별 합계를 만듭니다. 두 합계의 총합은 구성요소 합계와 같아야 하며 이 등식이 대사의 기준이 됩니다.
" ─── ZI_DispCatCube ──────────────────────────────────────
" 역할 : 범주별 장부 금액 · 재계산 금액 집계
" 이유 : 합계 대사를 SQL 한 번으로 재현 가능하게 한다
@Analytics.dataCategory: #CUBE
@AccessControl.authorizationCheck: #CHECK
define view entity ZI_DispCatCube as select from ZI_DispLine
{
key FiscalYear, key CompanyCode,
key BookedCat as Category,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'Currency'
sum( Amount ) as BookAmt,
@DefaultAggregation: #SUM
sum( case when ExpectCat = BookedCat then Amount else cast(0 as abap.curr(23,2)) end ) as MatchAmt,
count( * ) as LineCnt,
Currency
} group by FiscalYear, CompanyCode, BookedCat, Currency⑤ 조회 쿼리(소비 뷰)
화면이 보는 필드만 노출하고 조회조건의 필터 대상을 선언합니다.
" ─── ZC_DispCatQuery ─────────────────────────────────────
@AccessControl.authorizationCheck: #CHECK
@Metadata.allowExtensions: true
@Search.searchable: true
define view entity ZC_DispCatQuery as projection on ZI_DispLine
{
@Consumption.filter: { selectionType: #SINGLE, mandatory: true }
key FiscalYear,
@Consumption.filter.selectionType: #SINGLE
key CompanyCode,
key DispNo, key SeqNo,
@Consumption.filter.selectionType: #SINGLE
DispMode,
@Consumption.filter.selectionType: #SINGLE
BookedCat,
ExpectCat, Amount, MoveAmt, Currency
}⑥ 권한 정의(DCL)
회사코드 기준으로 집계 단계에 권한을 겁니다. 합계에만 걸고 상세에 걸지 않으면 뺄셈으로 남의 숫자가 드러나므로 뷰 전체에 겁니다.
" ─── ZDSP_DispLine_DCL ───────────────────────────────────
@EndUserText.label: '지분 처분 구성요소 권한'
@MappingRole: true
define role ZDSP_DISPLINE_DCL {
grant select on ZI_DispLine
where ( CompanyCode ) = aspect pfcg_auth( F_BKPF_BUK, BUKRS, ACTVT = '03' );
}⑦ 서비스 정의와 바인딩
쿼리 뷰를 서비스로 노출합니다. 화면 모델은 이 서비스 주소만 바꾸면 운영 데이터로 전환됩니다. 서비스 활성화는 게이트웨이 서비스 관리에서 확인합니다(확인 필요).
" ─── ZUI_DispCat ─────────────────────────────────────────
@EndUserText.label: '지분 처분손익 범주 점검 서비스'
define service ZUI_DispCat {
expose ZC_DispCatQuery as LineSet;
expose ZI_DispCatCube as CatSet;
}
" 바인딩 : OData V2 - UI (확인 필요: 회사 환경의 게시 방식)운영 시점에 해야 할 일
개발보다 정하는 일이 많습니다.
| 해야 할 일 | 무엇을 정하나 | 정하지 않으면 | 누가 |
|---|---|---|---|
| 범주 매핑 확정 | 처분손익 계정 · 구성요소 유형별 범주 | 기록 범주가 비어 화면에 점검 필요가 쏟아짐 | 회계팀 |
| 처분 방식 코드 매핑 | 회사의 처분 구분 → 전부 · 일부(유지) · 일부(상실) | 재계산 범주가 어긋남 | 회계팀 |
| 주된 사업활동 판단 근거 | 투자처별 판단과 근거 저장 위치 | 확인 필요가 계속 남음 | 회계팀 · 감사 대응 |
| 부호 규칙 | 손익 금액의 부호 표시 방식 | 화면과 원장 금액이 반대로 보임 | 회계팀 |
| 권한 설계 | 회사코드 · 조회 범위 | 남의 회사 숫자가 노출 | 보안 · 권한 |
| 대사 체계 | 표준 T-code 와 맞출 대사 지점 | 숫자를 믿을 근거가 없음 | 회계팀 |
| 전송(TR) 순서 | 테이블 → 뷰 → 큐브 → 쿼리 → DCL → 서비스 | 활성화 오류 | Basis |
| 서비스 활성화 · 주소 교체 | 서비스 게시 후 화면의 서비스 주소 교체 | 화면이 샘플 서비스를 계속 봄 | Basis · 개발 |
운영 데이터로 갈 때
처분 거래는 한 해 수십~수백 건이라 집계 성능이 문제가 되는 일은 드뭅니다. 다만 구성요소를 전표 라인 단위로 읽는 경우 줄 수가 크게 늘 수 있으므로 회계연도를 필수 조건으로 두고, 회사코드를 인덱스 첫 조건으로 둡니다. 응답 시간 기준은 회사가 정합니다(확인 필요).
자주 묻는 질문
자주 받는 질문을 주제별로 묶었습니다.
숫자와 산식
이 화면은 어떤 일을 하나요?
지분을 처분하며 생긴 손익 구성요소가 어느 범주에 기록됐는지 보고, 처분 방식과 사업 성격으로 다시 구한 범주와 견주어 다른 건을 찾습니다. 금액 이동이나 전표 수정은 하지 않는 조회 · 점검 도구입니다.
재계산 범주는 어떻게 정하나요?
처분 방식과 주된 사업활동 여부를 규칙 표에 맞춰 정합니다. 중단영업으로 분류되는 처분은 중단영업 범주, 지배력을 유지한 일부 처분은 일반적으로 자본거래로 봅니다(확인 필요). 판단 근거가 없으면 범주를 정하지 않고 확인 필요로 둡니다.
처분손익은 어떻게 다시 계산하나요?
순처분대가에서 처분분 장부금액을 뺍니다. 처분분 장부금액은 투자 장부금액에 처분 지분율을 곱해 구합니다. 장부 처분손익과 다르면 점검 필요로 표시하고, 금액 차이의 원인은 회사가 확인합니다.
범주 이동 필요 금액이란 무엇인가요?
기록 범주와 다시 구한 범주가 다른 구성요소 금액의 합입니다. 실제로 옮겨야 한다는 뜻이 아니라, 옮길 가능성을 확인해 볼 규모를 보여 주는 값입니다.
대사 결과의 의도적 예외 3건은 무엇인가요?
처분손익 재계산 대사에 일부러 넣은 차이 3건입니다. 화면이 차이를 잡아내는지 보이기 위한 검증용 샘플 값이며 정합성 대사의 차이 건수와 분리해 적습니다.
확인 필요와 점검 필요는 무엇이 다른가요?
점검 필요는 기록 범주가 다시 구한 범주와 다르거나 금액이 맞지 않는 건입니다. 확인 필요는 판단 근거가 없어 범주를 정하지 못한 건으로, 회사가 먼저 판단해야 합니다.
화면과 조작
조회 버튼은 어디에 있나요?
조회조건 영역 오른쪽 끝에 있습니다. 입력 칸에서 Enter 키를 눌러도 조회되고, 초기화 버튼으로 조건을 되돌립니다.
회계연도를 비우면 어떻게 되나요?
회계연도는 필수 조건이라 비우거나 4자리가 아니면 입력 칸 아래에 안내가 뜨고 조회되지 않습니다.
처분일은 한쪽만 넣어도 되나요?
됩니다. 시작만 넣으면 그 날 이후, 종료만 넣으면 그 날 이전이 조회됩니다. 시작이 종료보다 늦으면 안내가 뜹니다.
행을 누르면 무엇이 보이나요?
같은 처분 건의 구성요소가 한 창에 모여 기록 범주와 재계산 범주를 줄로 비교합니다.
CSV 로 내려받을 수 있나요?
네. 현재 탭의 조회 결과가 파일로 저장됩니다.
서비스에 연결되지 않으면 어떻게 되나요?
오류 안내 창이 뜨고 표는 빈 상태로 남습니다. 빈 표와 연결 실패를 구분할 수 있습니다.
도입과 운영
누가 쓰면 좋은가요?
지분 처분 손익을 결산하는 회계팀과 연결 결산 담당자, 그리고 범주 분류를 검토하는 내부 점검 조직입니다.
IFRS 18 의 적용 시기와 범위는 어떻게 되나요?
기준서의 적용 시기와 범위는 회사가 직접 확인할 사항입니다. 이 화면은 적용 시기를 판단하지 않으며, 확인 필요로 둡니다.
표준 T-code 와는 어떤 관계인가요?
전표 조회(FB03), 계정 라인 아이템(FAGLL03), 계정 잔액(FAGLB03)은 표준 화면이 계속 담당합니다. 이 화면은 그 데이터를 처분 건 단위로 모아 범주 관점을 더합니다.
점검 결과가 최종 결론인가요?
아닙니다. 이 화면은 점검 도구이며 범주 판단과 최종 결론은 회사와 감사인이 합니다. 화면은 확인이 필요하다고만 알려 줍니다.
데이터 원천은 어디인가요?
운영에서는 회사 환경의 전표 · 처분 거래 관리 자료를 CDS 뷰로 읽습니다. 구체적인 테이블은 회사별로 확인이 필요합니다.
운영 데이터로 연결하는 절차와 소요는 어떻게 되나요?
범주 매핑과 처분 방식 코드 매핑을 정하고, CDS 뷰를 만들어 서비스를 활성화한 뒤 화면의 서비스 주소를 바꿉니다. 소요는 매핑 합의 속도에 크게 좌우되며 확인 필요입니다.
권한과 보안은 어떻게 하나요?
회사코드 기준 표준 권한 객체를 CDS 접근 제어에서 집계 단계부터 적용합니다. 외부 라이브러리나 외부 전송은 없습니다.
대용량 데이터에서도 되나요?
처분 거래는 건수가 많지 않아 대체로 문제가 없습니다. 구성요소를 라인 단위로 읽는 경우 회계연도 필수와 회사코드 조건으로 범위를 좁힙니다.
계정 체계나 범주 매핑이 바뀌면 어떻게 하나요?
매핑 테이블의 데이터를 바꾸면 됩니다. 뷰를 이송할 필요가 없고, 바뀐 기준은 다음 조회부터 반영됩니다.
기존 점검 방식을 없애야 하나요?
그럴 필요 없습니다. 표준 화면과 기존 엑셀 점검은 그대로 두고, 이 화면의 결과와 맞춰 보며 점차 옮겨 가면 됩니다.