재무회계

SAP Level 3 공정가치 투입변수·민감도 점검 — K-IFRS 제1113호, 관측 불가능 투입변수의 범위·가중평균과 민감도 영향을 공시 초안·장부와 맞춰본다

투입변수 범위·가중평균 재계산 · 상승·하락 민감도와 유의성 판정 · 공시 초안·장부 대조 · 대사식 12종 — 소개 영상과 실제 화면 6종, 그리고 CDS 코드까지

소개 영상남성 음성 안내 · 자막 포함9개 장면조회 → 투입변수 → 민감도 → 점검 필요 → 범주 → 상세 → 대사

도입 포인트 — 이 앱을 사용해야 하는 이유

Level 3 로 측정하는 금융상품은 관측할 수 없는 투입변수에 기대어 가격이 정해집니다. 그래서 공시에는 투입변수의 범위와 가중평균, 그리고 투입변수를 합리적으로 달리 가정했을 때 공정가치가 얼마나 달라지는지가 따라붙습니다. 이 숫자들은 평가 파일, 공시 초안, 원장에 나뉘어 있어 결산 막바지에 서로 맞는지 확인하는 일이 가장 고됩니다. 이 앱은 그 세 자료를 같은 화면에서 다시 계산해 맞춰 보는 조회·점검 화면입니다.

한 줄 요약 — 단순 조회를 넘어, Level 3 투입변수의 범위·가중평균과 민감도 영향을 평가 결과·공시 초안·장부에 맞춰 다시 계산하고 합계를 대사식으로 검산하는 점검 도구입니다. 결과는 단정이 아니라 "점검 필요"·"확인 필요"로 표시합니다.

핵심 포인트 여섯 가지

핵심 포인트고객이 얻는 것지금 방식이라면
① 투입변수 범위·가중평균 재계산평가기법·투입변수 묶음마다 종목의 기준값에서 최소~최대 범위와 공정가치 가중평균을 다시 구해 공시 초안 값과 나란히 보여 줍니다.공시 초안의 범위와 가중평균을 평가 파일에서 손으로 다시 계산해 맞춰 봅니다.
② 상승·하락 민감도 한 줄 정리종목마다 투입변수를 위아래로 바꾼 공정가치와 영향 금액을 자산(+)·부채(−) 부호까지 반영해 한 줄로 보여 줍니다.시나리오별 평가 결과가 파일 여러 장에 흩어져 있어 영향 금액을 따로 계산해야 합니다.
③ 유의성 판정과 공시 표시 대조영향이 회사 기준액 이상인 종목을 가려내고 민감도 공시 초안에 표시되어 있는지 대조해 빠진 종목을 점검 필요로 올립니다.유의한 종목이 공시 초안에 빠졌는지는 사람이 목록을 겹쳐 보며 찾습니다.
④ 방향·비대칭 점검투입변수를 올렸는데 공정가치가 기대와 반대로 움직이거나 상·하 변동 폭 비율이 2.00 을 넘는 종목을 코드로 구분합니다.평가 모델 입력 오류는 결과 숫자만 보아서는 눈에 띄지 않습니다.
⑤ 장부 공정가치와의 대사평가 공정가치와 원장 잔액의 차이를 종목별로 계산해 차이가 있는 종목만 남기고, 표준 원장 조회로 이어 가도록 안내합니다.평가 결과와 원장 잔액의 일치 여부를 결산 막바지에 한꺼번에 확인합니다.
⑥ 범주별 영향과 대사 12종당기손익·기타포괄손익 범주별 영향과 불리 영향 비율을 보여 주고, 합계가 서로 맞는지 대사식 12종으로 매번 다시 잽니다.합계 검산이 사람마다 다른 엑셀 수식에 의존합니다.

사례로 보는 효과

이 앱은 검증용 샘플 3개 기준 연월에서 579건의 검사를 돌려 서비스 계산과의 차이 0건을 확인했습니다. 샘플에는 평가-장부 차이 3건, 공시 가중평균 불일치 2건, 공시 범위 불일치 1건을 의도적으로 넣었고, 앱이 이를 대사 차이와 분리해 점검 필요로 가려냈습니다.

도입하면 달라지는 것

  • 평가 결과·공시 초안·장부 세 자료를 같은 형식으로 대조
  • 범위·가중평균 재계산 근거를 화면에서 바로 제시
  • 유의 종목의 공시 표시 누락을 결산 앞 단계에서 발견
  • 합계 검산을 사람 손이 아닌 대사식으로 반복

이런 회사에 맞습니다

공정가치 서열체계 Level 3 로 측정하는 금융상품이 있고, 관측 불가능 투입변수 정량정보와 민감도 공시를 준비하는 재무회계팀·평가 담당자·내부 검토자에게 맞습니다. 점검 도구이며 최종 판단은 회사와 감사인이 합니다.

사용 방법

  1. 조회조건 입력 — 기준 연월(필수, 예: 202609)을 넣습니다. 종목명 일부, 범주, 평가기법, 점검 코드, 점검 결과는 선택이며 "전체"는 조건을 걸지 않습니다.
  2. 조회 — 조회조건 오른쪽 끝의 조회 버튼을 누르거나 기준 연월·종목명 칸에서 Enter 를 누릅니다. 화면을 열면 기본 조건으로 한 번 자동 조회됩니다.
  3. 요약 지표 확인 — 종목 수, 자산·부채 공정가치 합계, 불리 시나리오 영향 합계, 유의 종목, 점검 필요 종목, 대사 차이 건수가 한 줄에 나옵니다.
  4. 탭 이동 — 투입변수 정량정보 → 민감도 명세 → 범주별 영향 → 대사 결과 순서로 봅니다.
  5. 상세 확인 — 민감도 명세에서 종목 행을 누르면 상승·하락 시나리오의 공정가치와 영향, 방향 확인이 열립니다.
  6. CSV 내려받기 — 지금 보는 탭을 조회조건 그대로 UTF-8 파일로 받습니다.

숫자를 믿을 수 있는가 — 검증 결과

화면의 숫자는 서비스가 계산하고, 그 계산을 서비스와 무관한 코드로 한 번 더 계산해 비교했습니다. 검사는 579건이고 차이는 0건입니다. 의도적으로 넣은 점검 대상 6건(평가-장부 차이 3 · 공시 가중평균 2 · 공시 범위 1)은 대사 차이와 섞이지 않게 따로 세었습니다.

대사식검사 건수차이 건수의도적 예외
종목: 상승 FV − 기준 FV = 상승 변동6000
종목: 하락 FV − 기준 FV = 하락 변동6000
종목: 영향 = 변동 × (자산 +1 · 부채 −1)6000
종목: 비대칭비 = 큰 변동 ÷ 작은 변동6000
종목: 유의 판정 = 영향 ≥ 기준액6000
종목: 평가 FV = 장부 FV6003
종목: 입력 상승값 = 기준 + 변동폭6000
묶음: 종목 수 · 공정가치 합계2400
묶음: 재계산 최소·최대 = 종목 최소·최대2400
묶음: 재계산 가중평균 = Σ(투입×FV)÷ΣFV2400
묶음: 공시 가중평균 = 재계산2402
묶음: 공시 범위 = 재계산 범위2401
범주: 공정가치 · 영향 합계900
범주: 유리 + 불리 = 상승 + 하락 영향900
시나리오: 영향 합계 = 종목 영향 합계300
대사 6종(자산·부채·상승·하락·묶음·명세 합계)1800
합계57906

무엇으로 만들었는가

화면은 OpenUI5 표준 컨트롤(sap_horizon 테마)로 만들었고 OData V2 서비스를 바라봅니다. 샘플 서비스는 엔티티셋 다섯 개(종목 · 시나리오 · 묶음 · 범주 · 대사)로 구성되며, 운영에서는 같은 계약의 CDS 서비스로 바꿔 끼웁니다.

앱 구성
├─ 시작 파일 · 앱 설정 · 컴포넌트
├─ 화면 정의(메인 화면 · 상세 창)
├─ 컨트롤러(조회 · 정렬 · 상세 · 내보내기)
├─ 모델 보조(표시 형식 · 오류 처리)
├─ 문구 · 스타일
└─ 서비스 구현(종목 판정 · 묶음 재계산 · 범주 집계 · 대사)

실행 화면

아래 화면은 모두 검증용 샘플 데이터(가상 종목, 단위 억 원)로 실제 렌더링한 것입니다. 종목명과 금액은 모두 가상입니다.

조회와 점검 필요 좁히기

처음 열었을 때 — 요약 지표와 투입변수 정량정보
처음 열었을 때 — 요약 지표와 투입변수 정량정보 — 기준 연월 202609 로 조회한 첫 화면입니다. 요약 지표와 평가기법·투입변수 묶음별 범위·가중평균이 한 화면에 나옵니다.

기준 연월은 필수이고 기본값은 202609 입니다. 화면을 열면 자동으로 한 번 조회하므로 아무것도 누르지 않아도 스무 종목의 합계가 보입니다. 요약 지표 중 "점검 필요" 종목 수와 "불리 시나리오 영향 합계"를 먼저 보면 됩니다. 묶음 표에서는 재계산한 범위·가중평균과 공시 초안 값이 나란히 있어 어느 묶음이 다른지 곧바로 읽힙니다.

점검 필요 종목만 보기
점검 필요 종목만 보기 — 점검 결과를 "점검 필요"로 고르면 다시 확인할 종목만 남습니다.

샘플에서는 202609 기준 다섯 종목이 남습니다. 행마다 점검 코드가 붙어 평가-장부 차이, 방향 상이, 공시 미표시, 범위 이탈, 비대칭 중 무엇이 걸렸는지 구분됩니다. "점검 필요"는 원인이나 위반을 단정하는 표시가 아니라 다시 확인하라는 신호이며, 기준액과 비대칭 한도는 회사가 정하는 가상의 샘플 값입니다.

민감도와 범주별 영향

민감도 명세 — 상승·하락 공정가치와 영향
민감도 명세 — 상승·하락 공정가치와 영향 — 종목마다 투입변수를 위아래로 바꾼 공정가치, 영향 금액, 비대칭비, 유의 판정을 보여 줍니다.

자산은 공정가치 변동이 그대로 영향이 되고 부채는 부호가 반대입니다. 부채는 공정가치가 늘면 손실이기 때문입니다. 상승과 하락의 변동 폭이 2배를 넘게 다르면 옵션성이나 볼록성 같은 근거를 확인하라는 뜻으로 비대칭 점검을 표시합니다.

범주별 영향 — 당기손익과 기타포괄손익
범주별 영향 — 당기손익과 기타포괄손익 — 당기손익·기타포괄손익으로 나누어 영향을 합산하고 불리 영향이 기준 총계에서 차지하는 비율을 보여 줍니다.

유리 영향은 종목별로 더 좋은 쪽 시나리오를, 불리 영향은 더 나쁜 쪽 시나리오를 합한 값입니다. 종목 간 상관을 보지 않는 단순 합산이므로 공시의 합계와 같은 개념인지는 회사 정책으로 확인해야 합니다.

대사와 상세

대사 결과 — 열두 개 식의 좌변과 우변
대사 결과 — 열두 개 식의 좌변과 우변 — 정합성 대사 6종과 장부 점검 대사 6종의 좌변·우변, 검사 건수, 차이 건수를 보여 줍니다.

정합성 대사는 화면이 스스로 합계를 다시 재는 식이라 차이 건수가 0 이어야 정상입니다. 장부 점검 대사는 평가와 장부, 공시 초안과 재계산을 맞추는 식이라 점검 필요 종목이 있으면 차이가 나올 수 있고, 이 차이는 계산 오류와 분리해 읽습니다.

종목 상세 — 시나리오별 공정가치와 영향
종목 상세 — 시나리오별 공정가치와 영향 — 행을 누르면 열리는 창에서 상승·하락 시나리오의 투입변수, 공정가치, 영향 금액과 방향 확인을 봅니다.

목록에서 본 숫자를 창 안에서 풀어 보여 주는 화면입니다. 방향 확인 칸에서 기대와 다른 시나리오가 바로 드러나고, 창을 닫으면 조회조건과 스크롤 위치가 그대로 남아 다음 종목으로 이어 갈 수 있습니다.

판정 규칙 — 점검 코드

종목은 아래 순서로 먼저 걸리는 코드 하나를 표시합니다. 기준값은 샘플이며 회사 정책과 감사인의 해석으로 정합니다.

코드판정 조건결과다음에 할 일
R06평가 공정가치 ≠ 장부 공정가치점검 필요평가 입력과 원장 잔액을 표준 원장 조회로 맞춰 봅니다
R02투입변수를 올리거나 내렸을 때 공정가치 방향이 기대와 다름점검 필요투입변수 값과 민감도 방향을 다시 확인합니다
R03유의 판정이 "예"인데 민감도 공시 여부가 표시되지 않음점검 필요공시 초안에 정량 민감도를 반영할지 확인합니다
R01종목의 투입변수 값이 묶음의 공시 범위 밖점검 필요공시 범위를 재계산 범위에 맞출지 확인합니다
R05상·하 비대칭비 > 2.00점검 필요변동 폭이 다른 이유의 근거를 확인합니다
R04(묶음)공시 가중평균 ≠ 재계산 가중평균점검 필요가중평균의 계산 대상과 가중치를 확인합니다
R01(묶음)공시 범위 ≠ 재계산 범위확인 필요공시 범위에 빠졌거나 과한 종목이 있는지 확인합니다
I00위 조건에 걸리지 않음정상조치 없음

산출 순서

단계산식설명
1변동 = 상승(하락) 시 공정가치 − 기준 공정가치시나리오 단위 변동
2영향 = 변동 × (자산 +1 · 부채 −1)부채는 공정가치가 늘면 손실
3비대칭비 = |큰 쪽 변동| ÷ |작은 쪽 변동|2.00 초과 시 설명 근거 확인 필요
4유의 판정 = max(|상승 영향|, |하락 영향|) ≥ 기준액당기손익 1.5억 원 · 기타포괄손익 3.0억 원(가상 값)
5가중평균 = Σ(투입변수 기준값 × 기준 공정가치) ÷ Σ 기준 공정가치묶음 단위, 소수 둘째 자리 반올림
6범위 = 묶음 내 투입변수 기준값의 최소 ~ 최대공시 초안 범위와 비교
7유리 영향 = Σ max(상승 영향, 하락 영향) · 불리 영향 = Σ min(상승 영향, 하락 영향)종목 간 상관을 보지 않는 단순 합산

조회조건과 결과 컬럼

조건필수기본값서비스 필터
기준 연월필수202609Period eq
종목명선택(빈 값)InstName 포함
범주선택전체Category eq
평가기법선택전체Technique eq
점검 코드선택전체CheckCode eq
점검 결과선택전체CheckStatus eq
컬럼위치의미
종목 · 범주 · 평가기법 · 투입변수민감도 명세종목 식별과 평가 방식
기준값 · 변동폭민감도 명세투입변수 기준값과 합리적으로 가능한 대체 가정의 폭
기준/상승/하락 공정가치(억)민감도 명세투입변수 변동에 따른 공정가치
상승/하락 시 영향(억)민감도 명세변동 × 부호
상·하 비대칭비 · 유의 판정민감도 명세큰 변동 ÷ 작은 변동, 유의·공시 / 유의·미표시 / 비유의
장부 공정가치 · 평가-장부 차이민감도 명세대사 R06 의 근거
재계산 범위 · 공시 범위 · 가중평균투입변수 정량정보묶음 단위 재계산 대 공시
유리·불리 영향 합계 · 불리 영향 ÷ 기준 총계범주별 영향범주별 영향 요약

SAP 표준 기능 확장 포인트

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·점검 관점을 더해 확장합니다. 아래 표는 표준 화면으로 충분한 일과 이 앱이 더하는 관점을 나란히 놓은 것입니다.

표준으로 되는 것과 안 되는 것

하고 싶은 일SAP 표준표준에서 걸리는 자리이 앱이 하는 일
종목 장부 공정가치 확인FAGLB03계정 잔액은 보이지만 평가 결과와 나란히 놓고 차이를 보는 기능은 없음평가 공정가치와 장부 공정가치의 차이를 종목별로 계산
차이 종목의 전표 원천 확인FAGLL03개별 항목은 보이지만 어느 종목의 차이인지 연결은 따로 해야 함차이 종목을 R06 으로 먼저 가려 줌
전표 문서 확인FB03전표를 한 건씩 열어야 함차이 종목 확인 뒤 전표 조회로 이어 가도록 안내
투입변수 범위·가중평균 재계산없음표준 거래에 이 계산이 없습니다묶음마다 재계산해 공시 초안과 비교
투입변수 변동의 영향 정리없음시나리오 평가 결과를 한 줄로 모으는 표준 화면이 없습니다상승·하락 영향을 부호까지 반영해 정리

T-code 별 연계 지점

T-code이름이 화면과의 관계
FAGLB03G/L 계정 잔액 조회장부 공정가치를 원장 잔액과 맞춰 볼 때 사용
FAGLL03G/L 계정 개별 항목 조회평가-장부 차이 종목의 전표 원천 확인
FB03전표 조회차이를 만든 전표를 열어 확인

요구사항 매핑표

기준서 요구의 세부 범위는 회사의 자산·부채 구성에 따라 달라지므로 이 글에서는 확인 필요로 남겨 둡니다.

기준서요구사항대응 기능원천 데이터
공정가치 측정(K-IFRS 제1113호)Level 3 반복 측정의 유의적인 관측 불가능 투입변수 정량정보(범위·가중평균)투입변수 정량정보 탭평가 입력 자료
공정가치 측정(K-IFRS 제1113호)투입변수를 합리적으로 가능한 대체 가정으로 바꿀 때의 공정가치 영향민감도 명세 탭 · 종목 상세종목별 시나리오 공정가치
공정가치 측정(K-IFRS 제1113호)금융상품 민감도의 손익·기타포괄손익 영향과 유의성 판단범주별 영향 탭 · 유의 판정범주 · 반영 항목(유의성 기준은 회사가 정함)
공정가치 측정(K-IFRS 제1113호)공시 초안과 장부 공정가치의 일치대사 결과 탭원장 잔액(확인 필요)

도입 전에 검토할 항목

검토 항목질문답
숫자 신뢰화면 숫자가 평가 파일·공시 초안·원장과 맞는가579건 검사에서 차이 0건. 표준 조회와 맞추는 절차를 운영 대사로 둡니다.
권한다른 회사의 평가 결과가 보이지 않는가회사코드 단위 권한을 기준 뷰 아래에서 한 번 겁니다.
책임 소재공시 적정성을 이 앱이 확정하는가아닙니다. 점검 도구이며 최종 판단은 회사와 감사인이 합니다.
업무 변화현업이 새로 배울 것이 많은가조회 → 점검 필요 좁히기 → 상세 확인 세 가지입니다.
유지보수분기마다 손이 가는 곳은 어디인가유의성 기준값과 평가 입력 자료의 적재 두 가지입니다.
의존성외부 연결이나 전송이 있는가화면은 OpenUI5 표준 컨트롤만 쓰고 외부 전송은 없습니다.

CDS 구성

아래는 같은 점검을 S/4HANA 의 CDS 로 옮길 때의 구성안입니다. 샘플 앱의 서비스 로직과 같은 규칙을 뷰 단계로 나눈 스케치이며, 객체 이름은 설명을 위한 가상의 이름입니다(운영에서는 회사 고객 네임스페이스 접두를 붙입니다). 표준 CDS 뷰의 이름과 필드는 릴리스별 확인 필요이고, 여기서는 원천 테이블을 직접 읽는 형태로 적었습니다.

뷰 레이어 구성

레이어객체하는 일왜 나누나
기준(테이블)평가 입력 자료 · 기준값 · 공시 초안종목별 투입변수·시나리오 공정가치, 유의성 기준, 공시된 범위·가중평균 보관평가·공시는 회사 자료이므로 코드에 묻지 않고 테이블로 둠
기준 뷰원장 공정가치 뷰ACDOCA 잔액을 종목·기준 연월 단위로 집계판정과 대사가 같은 원천을 읽게
큐브종목 민감도 큐브변동·영향·비대칭비·유의 판정·점검 코드 계산판정을 뷰에 두어 모든 소비자가 같은 결론을 내게
큐브묶음 정량정보 큐브범위·가중평균 재계산과 공시 비교묶음 단위 계산을 종목과 분리
쿼리종목 점검 쿼리조회조건 노출과 정렬계산과 노출을 나눠 변경 범위를 줄이려고
권한(DCL)접근 제어회사코드 단위 조회 범위 제한아래에서 한 번만 걸어 모든 탭에 적용
서비스서비스 정의 · 바인딩쿼리를 OData 로 노출화면은 바인딩 주소만 알면 되도록

① 평가 입력 자료 — 종목별 투입변수와 시나리오 공정가치를 담는 자리

표준에는 Level 3 평가 모델의 투입변수와 시나리오 결과를 담는 테이블이 없습니다. 평가는 보통 별도 모델이나 파일에서 이루어지므로 결과를 적재할 테이블을 두는 것이 출발점이며, 적재 방식은 고객사 환경에 따라 달라 확인 필요입니다.

" ─────────────────────────────────────────────────────────────
"  l3in_valinput — Level 3 종목 평가 입력 자료
"  역할 : 종목별 평가기법, 투입변수 기준값·변동폭, 기준/상승/하락 공정가치를 보관
"  이렇게 나눈 이유 : 평가 결과는 SAP 밖의 모델에서 나오므로 적재 대상 테이블이 필요하다
"         적재 주기와 책임 부서는 운영 전에 합의한다
" ─────────────────────────────────────────────────────────────
@EndUserText.label : 'Level 3 평가 입력 자료'
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table l3in_valinput {
  key client    : abap.clnt not null;
  key bukrs     : bukrs not null;
  key period    : abap.numc(6) not null;     " 기준 연월 6자리
  key inst_no   : abap.char(10) not null;    " 종목 번호
  category      : abap.char(2) not null;     " 손익 · 기타포괄손익 구분
  kind          : abap.char(1) not null;     " A 자산 / L 부채
  technique     : abap.char(4) not null;     " 평가기법
  input_name    : abap.char(20) not null;    " 관측 불가능 투입변수
  input_base    : abap.dec(10,2);            " 투입변수 기준값
  shock         : abap.dec(10,2);            " 합리적으로 가능한 변동폭
  fv_base       : abap.curr(18,0);           " 기준 공정가치
  fv_up         : abap.curr(18,0);           " 투입변수 상승 시
  fv_down       : abap.curr(18,0);           " 투입변수 하락 시
  currency      : abap.cuky(5) not null;
}

② 유의성 기준값 — 1.5억·3.0억을 데이터로 두는 자리

유의성 기준액과 비대칭 한도는 회사 정책과 감사인의 해석에 따라 달라질 수 있습니다. 샘플의 값을 뷰에 박아 두면 정책이 바뀔 때마다 이송이 필요하므로 회사코드 단위로 읽는 테이블로 분리합니다.

" ─────────────────────────────────────────────────────────────
"  l3in_param — 유의성·비대칭 기준값
"  역할 : 범주별 유의성 기준액과 상·하 비대칭 한도를 회사 정책으로 보관
"  이렇게 나눈 이유 : 샘플 값(1.5억 · 3.0억 · 2.00)은 설명을 위한 값일 뿐이다
" ─────────────────────────────────────────────────────────────
@EndUserText.label : 'Level 3 점검 기준값'
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table l3in_param {
  key client    : abap.clnt not null;
  key bukrs     : bukrs not null;
  key category  : abap.char(2) not null;
  signif_amt    : abap.curr(18,0);           " 유의성 기준액
  asym_limit    : abap.dec(5,2);             " 비대칭 한도
  currency      : abap.cuky(5) not null;
}

③ 공시 초안 — 이미 공시하기로 한 범위와 가중평균을 담는 자리

공시 초안과의 대조가 이 앱의 핵심이므로 묶음 단위의 공시 값을 별도 테이블로 둡니다. 초안이 확정되면 같은 구조로 다시 적재해 확정본과 비교할 수 있습니다.

" ─────────────────────────────────────────────────────────────
"  l3in_disc — 공시 초안 값(묶음 단위)
"  역할 : 평가기법·투입변수 묶음별로 공시하기로 한 최소·최대·가중평균과 민감도 표시 여부
" ─────────────────────────────────────────────────────────────
@EndUserText.label : 'Level 3 공시 초안'
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table l3in_disc {
  key client    : abap.clnt not null;
  key bukrs     : bukrs not null;
  key period    : abap.numc(6) not null;
  key technique : abap.char(4) not null;
  key input_name: abap.char(20) not null;
  disc_min      : abap.dec(10,2);
  disc_max      : abap.dec(10,2);
  disc_wtd      : abap.dec(10,2);            " 공시 가중평균
  sens_shown    : abap_boolean;              " 민감도 공시 표시 여부
}

④ 원장 공정가치 뷰 — 장부 잔액을 종목 단위로 모으는 기준 뷰

장부 공정가치는 총계정원장 잔액에서 가져옵니다. 종목과 계정의 연결 방식(계정 하나가 한 종목인지, 속성으로 구분하는지)은 회사마다 달라 확인 필요이며, 아래는 종목 번호를 배정 필드에서 읽는다고 가정한 스케치입니다.

@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '원장 공정가치 (스케치)'
define view entity l3in_i_ledgerfv
  as select from acdoca
{
  key rbukrs                          as CompanyCode,
  key cast( fiscyearper as abap.numc(6) ) as Period,   " 연월 변환은 확인 필요
  key zuonr                           as InstNo,       " 종목 연결 필드는 회사별 확인 필요
      rhcur                           as Currency,
      @Semantics.amount.currencyCode: 'Currency'
      sum( hsl )                      as LedgFv
}
where rldnr = '0L'
group by rbukrs, fiscyearper, zuonr, rhcur

⑤ 종목 민감도 큐브 — 변동·영향·점검 코드를 한 곳에서 계산

판정을 뷰에 두는 이유는 어떤 화면이나 배치가 읽어도 같은 결론이 나오게 하기 위해서입니다. 점검 코드는 먼저 걸리는 하나만 표시하도록 case 문의 순서로 우선순위를 표현합니다.

@AbapCatalog.viewEnhancementCategory: [#NONE]
@Analytics.dataCategory: #CUBE
@EndUserText.label: '종목 민감도 큐브 (스케치)'
define view entity l3in_i_instcube
  as select from l3in_valinput as V
  association [0..1] to l3in_i_ledgerfv as _Ledger
    on  _Ledger.CompanyCode = $projection.CompanyCode
    and _Ledger.Period      = $projection.Period
    and _Ledger.InstNo      = $projection.InstNo
  association [0..1] to l3in_param as _Param
    on  _Param.bukrs    = $projection.CompanyCode
    and _Param.category = $projection.Category
{
  key V.bukrs    as CompanyCode,
  key V.period   as Period,
  key V.inst_no  as InstNo,
      V.category as Category,
      V.kind     as Kind,
      V.fv_base  as BaseFv,
      V.fv_up - V.fv_base   as DeltaUp,
      V.fv_down - V.fv_base as DeltaDn,
      case V.kind when 'L' then -1 else 1 end as Sign,
      ( V.fv_up - V.fv_base ) *
        case V.kind when 'L' then -1 else 1 end as EffUp,
      ( V.fv_down - V.fv_base ) *
        case V.kind when 'L' then -1 else 1 end as EffDn,
      cast( _Ledger.LedgFv as abap.curr(18,0) ) as LedgFv,
      case
        when _Ledger.LedgFv <> V.fv_base then 'R06'     " 평가-장부 차이
        else 'I00'                                      " 나머지 코드는 같은 방식으로 이어 붙임
      end as CheckCode,
      _Ledger, _Param
}

⑥ 조회 쿼리 — 화면에 노출할 조건과 정렬

계산은 큐브가 하고, 쿼리는 조회조건으로 노출할 필드와 기본 정렬만 정합니다. 이렇게 나누면 화면 변경이 계산 뷰를 건드리지 않습니다.

@EndUserText.label: '종목 점검 쿼리 (스케치)'
@AccessControl.authorizationCheck: #CHECK
@Metadata.allowExtensions: true
define view entity l3in_c_inst
  as projection on l3in_i_instcube
{
  key CompanyCode,
  @Consumption.filter: { mandatory: true, selectionType: #SINGLE }
  key Period,
  key InstNo,
  @Consumption.filter.selectionType: #SINGLE
  Category,
  Kind,
  BaseFv, DeltaUp, DeltaDn, EffUp, EffDn, LedgFv,
  @Consumption.filter.selectionType: #SINGLE
  CheckCode
}

⑦ 접근 제어 — 회사코드 권한을 아래에서 한 번만

권한을 기준 뷰 가까이에서 걸면 모든 탭과 합계가 같은 범위를 봅니다. 권한 객체와 범위는 보안 담당과 함께 정해야 하므로 확인 필요입니다.

@EndUserText.label: '종목 민감도 접근 제어 (스케치)'
@MappingRole: true
define role l3in_i_instcube_dcl {
  grant select on l3in_i_instcube
    where ( CompanyCode ) = aspect pfcg_auth( f_bkpf_buk, bukrs, actvt = '03' );
}

⑧ 서비스 정의와 바인딩 — 화면이 바라보는 주소

샘플 앱이 쓰는 서비스 계약(서비스 이름, 엔티티셋, 키, $filter)을 그대로 지키면 화면 코드는 바꾸지 않고 서비스 경로만 운영 서비스로 바꾸면 됩니다.

@EndUserText.label: 'Level 3 투입변수·민감도 점검 서비스 (스케치)'
define service l3input_srv {
  expose l3in_c_inst  as InstSet;
  expose l3in_c_group as GroupSet;      " 묶음 정량정보 쿼리(위와 같은 방식)
  expose l3in_c_cat   as CategorySet;   " 범주별 영향 쿼리
  expose l3in_c_recon as ReconSet;      " 대사 쿼리
}

운영 시점에 해야 할 일

개발보다 정하는 일이 많습니다. 아래 표의 일은 모두 코드가 아니라 합의에서 시작합니다.

정할 일정하지 않으면함께 정할 사람
평가 입력 자료의 원천적재 대상이 없으면 앱이 읽을 데이터가 없습니다평가 담당 · IT
유의성 기준액유의 판정과 점검 필요 건수가 의미를 잃습니다회계팀 · 감사인
가중치 정의재계산 가중평균이 공시 초안과 달라집니다회계팀 · 평가 담당
비대칭 한도비대칭 점검 건수가 과하거나 부족해집니다평가 담당
권한 설계다른 회사의 평가 결과가 보일 수 있습니다보안 · 권한
성능 기준종목이 많을 때 첫 조회가 느려집니다IT

위 여섯 가지가 정해지면 기술 작업은 CDS 뷰(기준 뷰 · 큐브 · 쿼리 · 권한)를 만들고 서비스를 게시하는 일입니다.

자주 묻는 질문

도입을 검토하는 분들이 자주 묻는 내용을 네 묶음 27문항으로 정리했습니다. 이 앱은 점검 도구이며 최종 판단은 회사와 감사인이 합니다.

숫자와 판정

어떤 기준서의 어떤 요구사항을 점검합니까?

공정가치 측정 기준서(K-IFRS 제1113호)에서 공정가치 서열체계 Level 3 로 반복 측정하는 금융상품의 유의적인 관측 불가능 투입변수 정량정보와, 투입변수를 달리 가정했을 때의 민감도 공시를 준비하는 과정을 점검합니다. 세부 요구 범위는 회사의 자산·부채 구성에 따라 달라 확인 필요입니다.

이 화면이 공시 적정성을 확정해 줍니까?

아닙니다. 분류·집계·대사를 돕는 점검 도구이며 최종 판단은 회사와 감사인이 합니다. "점검 필요"는 평가 입력, 공시 초안, 장부 사이에 다시 확인할 차이가 있다는 뜻일 뿐 원인이나 위반을 단정하지 않습니다.

유의성 기준액 1.5억·3.0억은 어디서 나온 숫자입니까?

화면 동작을 설명하기 위한 가상의 샘플 값입니다. 기준서나 회사 정책의 구체 수치와 같은지는 이 글에서 확인하지 않았고 확인 필요로 남겨 둡니다. 운영에서는 회사 정책과 감사인의 해석을 반영해 기준값 테이블에서 바꾸며 화면 코드를 고칠 필요는 없습니다.

비대칭비 2.00 은 기준서가 정한 한도입니까?

아닙니다. 상승과 하락의 변동 폭이 크게 다른 종목을 눈에 띄게 하려고 둔 샘플 한도입니다. 옵션성이나 볼록성처럼 비대칭이 자연스러운 평가도 있어 한도를 넘었다는 사실만으로 오류라고 보지 않으며, 근거를 확인하라는 신호로만 씁니다.

부채의 영향 부호는 왜 반대입니까?

부채는 공정가치가 늘어나면 손실이 되므로 영향을 변동 × (−1)로 계산합니다. 자산은 변동이 그대로 영향입니다. 유리·불리 영향 합계도 이 부호를 반영한 값으로 합산합니다.

가중평균은 어떤 가중치로 계산합니까?

묶음 안 종목의 기준 공정가치를 가중치로 하는 공정가치 가중평균입니다. 회사가 노출 금액 같은 다른 가중치를 쓰기로 했다면 공시 초안과 재계산 값이 달라질 수 있으므로 가중치 정의를 먼저 정해야 합니다.

숫자가 틀리지 않는다는 것은 어떻게 확인했습니까?

서비스의 계산과 별도의 코드로 같은 계산을 다시 해서 비교했습니다. 세 기준 연월에서 579건을 검사해 차이가 0건이었습니다. 샘플 데이터 기준의 결과이므로 운영 데이터에서는 같은 방식으로 다시 확인해야 합니다.

의도적 예외 6건은 무엇입니까?

판정 로직이 제대로 걸러내는지 보여 주려고 일부러 넣은 값입니다. 평가-장부 차이 3건, 공시 가중평균 불일치 2건, 공시 범위 불일치 1건이며 계산 오류와 섞이지 않게 대사 차이와 분리해 적었습니다.

대사식에서 차이가 나오면 어디부터 봅니까?

대사 결과 탭에서 차이 건수가 0 이 아닌 줄의 좌변·우변을 확인합니다. 정합성 대사의 차이는 계산이나 적재 문제를 먼저 의심하고, 장부 점검 대사의 차이는 평가 입력·공시 초안·원장 중 어느 자료가 다른지를 따져 봅니다.

화면과 사용

조회 버튼은 어디에 있습니까?

조회조건 영역의 맨 오른쪽, 초기화 버튼과 같은 줄에 있습니다. 기준 연월이나 종목명 칸에서 Enter 를 눌러도 같은 조회가 됩니다. 처음 열 때는 기본 조건으로 자동 조회됩니다.

점검 필요 종목만 보려면 어떻게 합니까?

점검 결과 조건을 "점검 필요"로 두고 조회합니다. 행마다 점검 코드가 붙어 어떤 이유로 걸렸는지 구분되며, 행을 누르면 시나리오별 공정가치와 영향이 열립니다.

종목 상세 창에서는 무엇을 볼 수 있습니까?

상승·하락 시나리오의 투입변수, 공정가치, 영향 금액과 방향 확인을 함께 봅니다. 창을 닫으면 조회조건과 스크롤 위치가 그대로 남습니다.

CSV 내려받기는 어떻게 동작합니까?

지금 보는 탭의 조회 결과를 조회조건 그대로 UTF-8 파일로 받습니다. 컬럼 제목은 한글 기능명입니다. 화면에 보이지 않는 조건의 데이터는 포함되지 않습니다.

투입변수 정량정보 탭은 무엇을 보여 줍니까?

평가기법과 투입변수로 종목을 묶어 재계산한 범위와 가중평균을 공시 초안 값과 나란히 보여 줍니다. 값이 다른 묶음은 점검 필요 또는 확인 필요로 표시됩니다.

범주별 영향 탭의 불리 영향 비율은 무엇입니까?

불리 영향 합계를 해당 범주의 기준 공정가치 총계로 나눈 비율입니다. 종목 간 상관을 보지 않는 단순 합산이므로 공시의 합계와 같은 개념인지는 회사 정책으로 확인해야 합니다.

SAP 연계와 데이터

표준 화면 FAGLB03 · FAGLL03 · FB03 와는 어떻게 함께 씁니까?

표준 화면은 기록과 문서 확인을 맡고, 이 앱은 평가 결과와 장부를 맞춰 보는 점검을 맡습니다. 평가-장부 차이 종목은 이 앱에서 먼저 가려낸 뒤 표준 화면으로 이어 확인하는 흐름을 권합니다.

샘플 데이터는 실제 자료입니까?

아닙니다. 종목과 금액이 모두 가상이며 단위는 억 원입니다. 종목 20개를 3개 기준 연월로 만들어 종목 60행, 시나리오 120행, 묶음 24행, 범주 9행, 대사 36행이 되며 점검 필요 건은 의도적으로 넣은 값입니다.

운영 데이터에 연결하려면 무엇이 필요합니까?

평가 입력 자료와 기준값·공시 초안 테이블을 채우고, CDS 뷰를 만들어 같은 이름의 서비스로 게시한 뒤 화면 설정의 서비스 경로를 운영 서비스로 바꿉니다. 일정은 개발보다 평가 자료 적재 방식과 기준값 합의가 좌우합니다.

평가 모델은 SAP 안에 있어야 합니까?

그렇지 않습니다. 평가는 SAP 밖의 모델에서 이루어져도 되고, 결과를 적재하는 방식만 정하면 됩니다. 구체 적재 방식은 환경에 따라 다르므로 확인 필요입니다.

S/4HANA 가 아닌 ECC 에서도 쓸 수 있습니까?

화면은 OData 서비스만 바라보므로 서비스를 만들 수 있다면 화면은 같습니다. 다만 이 글의 CDS 구성안은 S/4HANA 를 전제로 하며 ECC 에서는 다른 방식으로 서비스를 구현해야 합니다. 구체 방식은 환경 확인 후 정해야 하므로 확인 필요입니다.

표준 CDS 뷰를 쓰면 안 됩니까?

쓸 수 있습니다. 표준 뷰의 이름과 필드는 릴리스마다 달라질 수 있어 이 글은 원천 테이블 기준으로 적었습니다. 운영에서는 해당 릴리스의 표준 뷰를 확인한 뒤 기준 뷰의 읽기 원천만 바꾸는 방법이 있으며 가능 여부는 확인 필요입니다.

도입과 운영

누가 쓰는 화면입니까?

결산 시 Level 3 공시를 준비하는 재무회계팀, 평가 결과를 제공하는 평가 담당자, 내부 검토자가 주 사용자입니다. 조회·점검 화면이라 전표를 만들거나 수정하지 않습니다.

권한과 보안은 어떻게 설계합니까?

회사코드 단위 권한을 기준 뷰 아래에서 한 번만 걸어 모든 탭에 같은 범위가 적용되게 합니다. 권한 객체와 범위는 보안 담당과 함께 정해야 합니다.

종목이 아주 많으면 성능은 어떻습니까?

샘플은 20종목이라 성능을 대표하지 않습니다. 운영에서는 기준 연월을 필수 조건으로 두고 집계를 큐브에서 처리하며 화면은 필요한 행만 받게 합니다. 시나리오 명세는 종목을 고른 뒤에만 읽습니다.

기준서 개정이 있으면 어떻게 반영합니까?

점검 규칙은 기준값 테이블과 판정식에 모여 있어 해당 부분만 고치면 됩니다. 다만 개정 내용이 판정에 어떻게 반영되어야 하는지는 이 글에서 확인하지 않았으며 개정 시점의 기준서 원문과 회사 정책으로 정해야 하므로 확인 필요입니다.

도입하면 어떤 효과가 기대됩니까?

평가 결과·공시 초안·장부를 맞춰 보는 시간이 줄고 같은 질문에 같은 형식으로 답할 수 있게 됩니다. 점검 필요 종목이 결산 앞 단계에서 드러나 검토 일정에 여유가 생깁니다. 효과의 크기는 회사의 종목 수와 현재 업무 방식에 따라 다르며 이 글에서 수치로 단언하지 않습니다.

이 앱을 쓰면 감사 대응이 끝납니까?

그렇지 않습니다. 이 앱은 점검과 대사를 돕는 도구이고 공시의 최종 판단과 감사 대응은 회사와 감사인이 합니다. 화면의 숫자는 판단에 필요한 재료이며 평가 근거 자료와 함께 보관하기를 권합니다.