솔루션 홈
FBL5N · FBL1N · 자금

SAP 통화별 순노출액 — 환율이 움직이면 얼마가 흔들리나

통화별로 미결 매출채권과 매입채무를 상계해 헤지되지 않은 순노출액과 Long·Short 포지션을 보는 화면입니다.

달러로 받을 돈 100만과 줄 돈 80만이 있다면 실제 환위험은 20만에만 걸립니다. 나머지는 서로 상쇄되기 때문입니다.

그런데 채권과 채무는 다른 화면에서 관리됩니다. 따로 보면 노출이 실제보다 커 보이고 필요 없는 헤지를 하게 됩니다. 통화별로 상계해 순노출만 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 4종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 미결 채권 — 고객 미결항목(FBL5N)
  • 미결 채무 — 거래처 미결항목(FBL1N)
  • 통화 — 원거래 외화 통화
  • 환율 — 기준일 현재 스팟환율(TCURR)
  • 거래처 — 고객과 공급업체 코드·명칭
항목내용
기반 T-codeFBL5N · FBL1N · TCURR
업무 영역재무회계(FI) · 외환 리스크
Namespacezui5.fxexposure
셸 구조DynamicPage + 조회조건 Panel + 노출 테이블(12열) + 상세 Dialog
데이터OData 미구현 — ModelMock 이 localdata JSON 을 fetch
인접 앱fxrealized 실현손익 · fxval 미실현 평가손익
UI 테마sap_horizon 단일 적용

실제 화면 4종 둘러보기

회사코드·회계연도·기준월로 조회하면 통화별 노출이 나옵니다 → AR 과 AP 를 상계한 순노출액과 포지션을 확인하고 → 행을 눌러 개별 미결 전표로 내려갑니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

FBL5N — Main.view.xml
메인 화면 — 통화별 순노출액
메인 화면 — 통화별 순노출액 — 통화별 AR·AP 미결 건수와 외화금액, 순노출액과 포지션이 표시되고 footer 에 Long·Short 통화수와 순노출 합계가 나옵니다.
FBL5N — 조회조건
기준월과 포지션 필터
기준월과 포지션 필터 — 기준월 말 시점까지 미청산인 건만 집계됩니다. 포지션구분으로 Long 또는 Short 만 볼 수 있습니다.
FBL5N — 포지션 표시
Long · Short · Square
Long · Short · Square — 순매입은 녹색, 순매도는 빨강, 균형은 회색으로 구분됩니다. 노출비중 5% 미만은 Square 로 처리합니다.
FBL5N — 상세 Dialog
미결 전표 내역
미결 전표 내역 — 고객(AR)과 공급업체(AP) 구분과 함께 전표번호·전기일·만기일·외화금액이 표시됩니다.

조작 방법

  1. 회사코드회계연도를 고릅니다.
  2. 기준월을 정합니다. 그 월 말 시점까지 미청산인 건만 집계됩니다.
  3. 통화로 대상을 좁힙니다.
  4. 포지션구분으로 Long 또는 Short 만 볼 수 있습니다.
  5. 최소금액을 넣으면 그 이상인 미결 전표만 집계됩니다.
  6. 순노출액노출비중을 확인합니다. 헤지 판단의 근거입니다.
  7. 행을 누르면 개별 미결 전표가 열립니다.

노출 산식

같은 통화의 채권과 채무를 상계합니다.

순노출액(외화) = AR 미결외화금액 − AP 미결외화금액
순노출액(환산) = 순노출액(외화) × 적용환율(스팟), 반올림

총노출규모 = AR 미결외화금액 + AP 미결외화금액
노출비중  = │순노출액│ ÷ 총노출규모 × 100

포지션 판정
  순노출 > 0  →  Long (순매입, 녹색)
  순노출 < 0  →  Short (순매도, 빨강)
  노출비중 < 5%  →  Square (균형, 회색)

노출비중 5% 미만을 Square 로 두는 이유

채권 100만과 채무 98만이면 순노출은 2만입니다. 부호로는 Long 이지만 사실상 상쇄된 상태라 헤지할 이유가 없습니다. 비중으로 판정하면 실제로 대응이 필요한 통화만 색으로 걸러집니다.

포지션별 의미

포지션상태위험 방향
Long (순매입)받을 외화가 더 많음환율 하락 시 손해
Short (순매도)줄 외화가 더 많음환율 상승 시 손해
Square (균형)노출비중 5% 미만대응 불필요
총노출규모AR + AP 총량거래 규모 참고

조회조건

필드필수설명
회사코드 Bukrs필수1000 한국법인(KRW) · 2000 미국법인(USD)
회계연도 Gjahr필수2026
기준월(누계) MonatTo필수그 월 말 시점 미청산분
통화 Waers선택전체 / USD / EUR / JPY / CNY
포지션구분선택전체 / Long 만 / Short 만
최소금액(외화, 이상)선택개별 미결 전표 외화금액 기준

결과 컬럼

메인 — 통화별 순노출 (12열)

컬럼의미
통화USD / EUR / JPY / CNY
AR 미결건수 · 미결외화금액기준월까지 미청산 매출채권
AP 미결건수 · 미결외화금액기준월까지 미청산 매입채무
순노출액(외화)AR − AP
적용환율(스팟)외화 1단위당 현지통화
순노출액(환산)순노출 × 스팟환율
포지션Long / Short / Square
총노출규모AR + AP
노출비중│순노출│ ÷ 총노출 × 100

상세 Dialog — 미결 전표

컬럼의미
구분고객(AR) / 공급업체(AP)
거래처코드와 명칭
전표번호 · 전기일 · 만기일미결 전표 식별
외화금액원거래 통화 기준

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBL5N고객 미결항목AR 미결 원천
FBL1N거래처 미결항목AP 미결 원천
TCURR환율 마스터스팟환율 환산
BSID · BSIK미결 항목 테이블조회 원천
F.05외화 평가손익 — 별도 앱

도입 시 확인이 필요한 부분

외화 예금이나 차입금도 노출에 포함할지 정해야 합니다. 이 화면은 채권·채무만 다루는데, 외화 통장에 잔고가 있거나 외화 차입이 있으면 실제 노출은 달라집니다. 헤지 판단에 쓰려면 그 항목까지 합쳐 보는 것이 정확합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCFXEXPOSURE'
@EndUserText.label: '통화별 순노출액 (Z)'
define view Z_C_FX_EXPOSURE
  with parameters p_keydate : dats
  as select from bsid as ArItem
{
  key ArItem.bukrs,
  key ArItem.waers as Currency,
      sum( ArItem.wrbtr ) as ArOpenAmount,
      count(*)            as ArOpenCount
      // AP 는 BSIK 를 같은 형태로 집계해 union / join
      // 순노출액 = AR − AP, 환산 = 순노출 × 스팟환율(TCURR)
      // 노출비중 = |순노출| ÷ (AR + AP) × 100, 5% 미만은 Square
}
where ArItem.waers <> 'KRW'
group by ArItem.bukrs, ArItem.waers

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.f.DynamicPage + 조회조건 Panel + 노출 테이블
조회조건sap.m.Select · sap.m.Input · sap.m.CheckBox — 우측 끝에 조회·초기화
이벤트change · submit 핸들러로 조회 이력이 있으면 즉시 재조회
노출 테이블sap.ui.table.Table — 12열
포지션 표시sap.m.ObjectStatus — Long / Short / Square
요약footer 에 Long·Short 통화수와 순노출 합계
상세sap.m.Dialog — AR/AP 미결 전표

총노출규모를 따로 보여 주는 이유

순노출이 작아도 거래 규모 자체가 크면 환율 변동에 따라 결제 시점마다 손익이 크게 오갑니다. 순노출은 헤지 대상 금액이고 총노출은 거래 규모이므로 두 숫자가 함께 있어야 상황이 제대로 읽힙니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.fxexposure) · ko 로케일
view/Main.view.xmlDynamicPage · 조회조건 · 노출 테이블
view/DetailDialog.fragment.xml미결 전표 상세
controller/Main.controller.js조회 · 상계 · 포지션 판정
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js외화 · 환율 · 포지션 색 포맷터
i18n/i18n_ko.properties한국어 텍스트

검증 결과

검증 항목결과
순노출액(외화) = AR − AP (전 통화)통과
순노출액(환산) = 순노출 × 스팟환율통과
총노출규모 = AR + AP통과
노출비중 5% 미만은 Square 로 판정통과
상세 전표 합계 = 집계 외화금액통과
기준월 말 시점 미청산 건만 집계통과
화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처4/4
테마 런타임 확인sap_horizon

자주 묻는 질문

순노출만 헤지하면 되나요?

원칙적으로는 그렇습니다. 다만 결제 시점이 크게 다르면 그사이 환율 변동에 노출되므로 만기 구조도 함께 봐야 합니다.

외화 예금은 왜 빠져 있나요?

이 화면은 채권·채무 기준입니다. 외화 통장 잔고나 외화 차입이 있으면 실제 노출이 달라지므로 별도로 합산해 판단해야 합니다.

Square 인데 금액이 큰 통화는요?

순노출은 작지만 총노출규모가 큰 상태입니다. 결제 시점이 어긋나면 일시적으로 노출이 생길 수 있어 만기 분포를 확인하는 것이 좋습니다.

SAP 표준 기능과 어떻게 이어지나요?

미결 항목은 표준 채권·채무 구조에 있습니다. 이 화면은 두 쪽을 통화 단위로 상계해 순노출과 포지션으로 보여 주는 확장입니다.

환노출 관리, 지금 쓰는 SAP 위에서 확장해 보세요

상계 후 순노출만 보면 헤지 금액이 정확해집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

환노출순노출액Net Open PositionFBL5N헤지Long ShortOpenUI5