SAP 수출 환헤지 커버율 다차원 분석 — 결제 예정 외화 대금의 헤지 비율을 여러 축으로 돌려 보고 계획 대비 차이 요인까지 한 화면에서
열 개 차원 피벗 · 칸에서 원천 줄까지의 드릴스루 · 계획 대비 차이와 여섯 요인분해 · 행에 남는 사유 · 숫자를 모델에 맡기지 않는 AI 분석 · 스스로 도는 AI 에이전트 — 소개 영상과 실제 화면 29종, 그리고 CDS 코드까지
소개 영상블로그 목차 순서대로 · 자막 포함
도입 포인트 — 이 앱을 사용해야 하는 이유
수출 기업의 자금·재무 담당이 정기적으로 받는 질문은 비슷합니다. 앞으로 들어올 외화 대금 가운데 얼마가 이미 헤지되어 있나, 헤지가 안 된 금액은 어느 통화·국가·결제월에 몰려 있나, 왜 연초 헤지 정책 예산과 수취 예상액이 다른가. 지금 이 세 답은 판매·청구 화면, 고객 미결 항목, 헤지 계약 내역, 엑셀에 흩어져 있습니다. 이 앱은 세 답을 한 화면에 붙여 어디가 열려 있는지 바로 보이게 합니다. 수출 외화 대금의 환위험 헤지 관리 업무를 점검하는 도구입니다.
외화 매출채권의 노출은 청구 문서에 있고, 헤지는 별도 계약에 있고, 환율은 환율표에 있어서 한 건의 커버율을 알려면 세 곳을 오가야 합니다. 이 화면은 원천 줄을 한 번 큐브로 모은 뒤 열 개 차원으로 돌려 보게 하고, 계획과의 차이를 여섯 요인으로 가르며, 합계가 원천과 한 푼도 어긋나지 않는지 매번 검산합니다.
핵심 포인트 일곱 가지
| 핵심 포인트 | 고객이 얻는 것 | 지금 방식이라면 |
|---|---|---|
| ① 축을 바꿔도 숫자가 갈라지지 않는 피벗 | 결제 예정월·분기·헤지 수단·제품 그룹·사업부·플랜트·수출 국가·지역·결제 통화·헤지 거래 은행 열 개 차원을 끌어다 놓아 봅니다. 모든 축이 같은 큐브에서 나와 합계가 어긋날 자리가 없습니다. | 축마다 리포트를 따로 만들고, 합계가 다르면 리포트를 맞추는 회의를 엽니다. |
| ② 칸에서 원천 줄까지 한 번에 | 숫자를 누르면 그 칸을 이룬 외화 노출 문서 줄이 열리고, 줄 합계가 칸 금액과 같은지 그 자리에서 보입니다. | 리포트를 닫고 표준 화면을 다시 열어 조건을 손으로 맞춥니다. |
| ③ 노출·헤지·미헤지를 한 줄에 | 노출 금액, 헤지 금액, 미헤지 금액, 약정 환율 확정액, 헤지 효과, 커버율이 같은 표에 놓여 얼마가 묶여 있고 얼마가 열려 있는지 바로 보입니다. | 채권 미결 항목과 헤지 계약 내역을 따로 모아 엑셀에서 맞춥니다. |
| ④ 계획 대비 차이를 여섯 요인으로 | 노출 물량, 외화 단가, 헤지 약정 환율, 미헤지 현물 환율, 미계획 노출, 계획 미이행으로 차이를 가르고 합계가 총차이와 같은지 매번 검산합니다. | 총차이만 보고 원인은 담당자 설명에 의존합니다. |
| ⑤ 차이 사유가 행에 남는다 | 사유는 조회 범위와 행 경로에 묶여 저장되어 축을 바꿔도, 새로 고쳐도 그 행에 따라옵니다. | 같은 질문을 다시 하고 지난 답은 메일에서 찾습니다. |
| ⑥ 열지 않아도 도는 점검 | 다섯 가지 감시 규칙에 기준값과 받을 역할이 붙어 있고, 걸리면 받은 보고로 올라갑니다. 30일 안에 만기가 오는 미헤지 금액이 늦게 드러나지 않습니다. | 누가 열어 봐야만 보이는 금액은 결제일이 임박해서야 발견됩니다. |
| ⑦ 검토용 보고서를 바로 | 보고 있는 범위의 표와 차트를 담은 PowerPoint 보고서가 브라우저에서 바로 만들어집니다. | 화면을 캡처해 숫자를 옮겨 적습니다. |
사례로 보는 효과 — 총차이 11억 원 속의 여섯 요인
전체 기간(2026-10~2027-06)을 계획과 견주면 원화 수취 예상액 실적은 33,511,239,813 원, 계획은 32,413,569,528 원으로 총차이는 +1,097,670,285 원(계획의 3.4%)입니다. 총차이만 보면 작아 보이지만 여섯 요인으로 가르면 미계획 노출 +2,398,258,477 원과 계획 미이행 −1,992,170,334 원이 크게 맞서고, 헤지 약정 환율(+459,319,245 원)과 미헤지 현물 환율(+330,036,009 원)이 그 위에 얹혀 있습니다. 총차이만 보면 "거의 계획대로"로 끝나지만, 요인으로 가르면 어느 회의에서 누구에게 물을지가 정해집니다.
| 요인 | 의미 | 전체 기간 금액(원) | 총차이 대비 |
|---|---|---|---|
| 노출 물량 | 외화 노출 수량이 계획과 달라서 | −99,951,700 | −9.1% |
| 외화 단가 | 외화 판매 단가가 달라서 | +2,178,588 | 0.2% |
| 헤지 약정 환율 | 헤지한 부분의 약정 환율이 계획 환율과 달라서 | +459,319,245 | 41.8% |
| 미헤지 현물 환율 | 헤지하지 않은 부분에 적용되는 현물 환율이 달라서 | +330,036,009 | 30.1% |
| 미계획 노출 | 계획에 없던 노출이 생겨서 | +2,398,258,477 | 218.5% |
| 계획 미이행 | 계획에 잡았던 노출이 실제로는 생기지 않아서 | −1,992,170,334 | −181.5% |
| 합계(총차이) | 실적 33,511,239,813 − 계획 32,413,569,528 | +1,097,670,285 | 100.0% |
연쇄 대체 방식이라 여섯 요인의 합은 총차이와 항상 같고, 화면의 검산 줄이 오차를 0으로 보여 줍니다. 이 숫자는 검증용 샘플 데이터의 값이며, 운영 데이터의 효과를 뜻하지 않습니다.
도입하면 달라지는 것
- 점검 준비 — 노출·헤지·미헤지 표, 요인분해, 사유, 보고서가 한 화면에서 나옵니다.
- 회의의 주제 — 어느 숫자가 맞나보다 어느 요인을 누가 확인하나를 이야기합니다.
- 만기 관리 — 30일 안에 결제일이 오는데 아직 헤지되지 않은 금액이 통화 단위로 모여 보입니다.
- 기록 — 사유와 레이아웃이 남아 같은 설명을 다시 하지 않습니다.
이런 회사에 맞습니다
여러 통화로 수출 대금을 받고 선물환·NDF·옵션 같은 수단으로 환위험을 관리하는 제조·수출 기업. 노출은 판매 쪽에, 헤지는 자금 쪽에 있어 커버율을 한눈에 보기 어려운 재무·자금 조직. 통화·국가·은행이 여러 가지라 어느 조합에 미헤지가 쌓이는지 따로 보고 싶은 경영지원 조직.
실행 화면
사용 방법
- 조회 조건 입력 — 필수는 회사코드와 시작·종료 기간(결제 예정월)입니다. 비교 기준은 연초 확정 헤지 정책 예산 하나로 고정되어 있고, 시작 기간이 종료 기간보다 늦으면 안내가 뜹니다.
- 조회 실행 — 조건 영역 오른쪽 끝의 조회 버튼을 누릅니다. 레이아웃에서 "열 때 자동 조회"를 켜 두었다면 화면이 열릴 때 그 배치로 곧바로 조회합니다.
- 요약 확인 — 조회 직후 역할별 요약(CEO · CFO · 영업 책임자 · 자금 책임자)과 KPI 줄에서 원화 수취 예상액, 노출 금액, 헤지 효과, 커버율을 먼저 봅니다. 역할을 바꿔도 서버를 다시 부르지 않습니다.
- 축 바꾸기 — 차원 칩을 끌어 행·열·사용 안 함 칸으로 옮깁니다. 칩을 눌러 메뉴로 옮기고 순서를 바꿀 수도 있습니다. 행 축은 세 단계, 열 축은 두 단계, 열 조합은 최대 36개입니다.
- 항목과 보기 방식 — 분석 항목과 계산 항목을 고르고 차원 보기와 단계 보기를 바꿉니다. 기준 대비를 켜면 각 칸에 기준 값과 차이가 붙습니다.
- 행·칸 클릭 — 행을 누르면 오른쪽에 항목 비교와 차이 분해 차트가, 숫자 칸을 누르면 그 칸의 원천 줄이 열립니다. 줄이 많으면 더 보기로 이어 읽습니다.
- 사유와 레이아웃 — 차이가 큰 행에 사유를 남기고, 마음에 드는 배치는 이름을 붙여 저장합니다.
- 내보내기 — CSV 로 현재 표를 내려받고, AI 분석 창의 보고서 버튼으로 분석 결과를 PowerPoint 로 받습니다.
무엇으로 만들었나
| 자리 | 무엇 | 왜 그렇게 두었나 |
|---|---|---|
| 화면 | OpenUI5 sap_horizon 테마, 조건 영역 · 역할별 요약 · 피벗 표 · SVG 차트 · 상세 창 | 표준 컨트롤 위주로 짜서 테마와 접근성을 그대로 이어받고, 차트는 브라우저에서 직접 그려 외부 차트 도구 없이 같은 숫자를 보여 줍니다. |
| 집계·판정 로직 | 서버와 브라우저가 같은 집계 엔진 파일을 함께 씁니다 | 서버에서 계산한 값과 브라우저에서 다시 집계한 값이 갈라지지 않게 하려는 구조입니다. 축을 옮길 때 서버를 다시 부르지 않는 근거이기도 합니다. |
| 데이터 서비스 | OData V2 서비스 한 개(exhedge_srv) — 엔티티셋 15개와 펑션 3개 | 조회 때 큐브를 한 번 읽고, 이후 축 바꾸기와 값 선택은 브라우저에서 합니다. 사유·레이아웃·규칙만 쓰기 요청이 나갑니다. |
| 분석 부가 기능 | 규칙 기반 AI 해설 · 감시 규칙 에이전트 · 브라우저 안 PPTX 생성 | 금액과 비율은 서비스가 먼저 계산하고 해설은 읽어서 풀 뿐입니다. 파일은 서버에 남지 않습니다. |
| 테마 | sap_horizon | SAP Fiori 화면과 나란히 놓아도 이질감이 없도록 같은 테마를 씁니다. |
앱 정보
| 항목 | 내용 |
|---|---|
| 솔루션 | 수출 |
| 업무 영역 | 수출 환헤지 커버율 · 다차원 분석 |
| 관련 기준서·대상 영역 | 수출 외화 매출채권의 환위험 헤지 관리 — 회계 처리 기준과 법령 원문은 이 글에 싣지 않았고 확인 필요 |
| 표준 T-code | VA03 · VL03N · VF03 · FB03 · FBL5N · FAGL_FCV |
| 화면 성격 | 다차원 분석 리포트 — 조회 전용에 사유·레이아웃 저장 |
| 데이터 | 가상의 검증용 샘플 데이터(결제 예정월 2026-10~2027-06, 외화 노출 원천 줄 4,823건) |
| 테마 | sap_horizon |
처음 열었을 때 — 조건 하나로 시작
조회 조건부터 표까지가 한 화면에 쌓입니다. 필수는 회사코드와 결제 예정월 범위뿐이고, 조회는 조회 버튼으로 실행합니다.

조회 전에도 빈 화면을 주지 않습니다. 회사코드와 시작·종료 기간(결제 예정월)이 기본값으로 채워져 있고, 조회 버튼은 조건 영역 오른쪽 끝에 있습니다. 비교 기준은 연초에 확정한 헤지 정책 예산 하나뿐이라 따로 고를 것이 없습니다.

조회를 누르면 역할별 요약과 표, 차트가 함께 뜹니다. 기본 배치는 행이 제품 그룹 › 헤지 수단이고 항목은 원화 수취 예상액, 노출 금액, 헤지 효과, 커버율입니다. 전체 기간의 합계 줄은 원화 수취 예상액 33,511백만원, 노출 금액 33,394백만원, 커버율 50.2%(계획 51.3%)로 나옵니다. 모든 칸이 같은 큐브에서 나오므로 합계가 어긋나지 않습니다.
축 바꾸기 — 서버를 다시 부르지 않는다
차원 칩을 끌어 행·열·사용 안 함 칸으로 옮기면 표가 다시 짜입니다. 값 선택과 상한 안내까지 이어서 봅니다.

수출 국가를 열 쪽으로 옮긴 모습입니다. 이미 읽어 온 큐브를 브라우저에서 다시 집계하므로 서버를 부르지 않고 총합도 그대로입니다. 칩을 눌러 메뉴로 같은 일을 할 수도 있습니다.

행 축은 여러 단계를 쌓을 수 있고 순서는 칩 메뉴의 앞으로·뒤로로 바꿉니다. 행이 늘수록 표가 깊어지므로 표시 행 수를 정해 표를 보호합니다.

상한을 넘기는 이동은 배치를 바꾸지 않고 막습니다. 표가 너무 깊어져 읽기 어려워지는 것을 막으려는 제한이며, 값은 화면 코드의 상수 하나입니다.

차원 이름 버튼을 누르면 그 차원의 값 목록이 줄 수와 함께 뜹니다. 검색 칸으로 좁히고 여러 값을 체크해 적용합니다.

값 선택은 여러 차원에 동시에 걸 수 있고 차원 안에서는 "또는", 차원 사이에서는 "그리고"로 묶입니다. 서버를 다시 부르지 않고 받아 둔 큐브에서 걸러냅니다.

접은 한 줄에는 회사·기간·행·열·항목·기준 대비 여부·필터 수가 담깁니다. 축을 짜는 동안에는 펼쳐 두고, 숫자를 들여다볼 때는 접어 표를 넓게 쓰는 식으로 씁니다.

열에 차원을 둘 쌓으면 열 조합이 곱으로 늘어납니다. 36개를 넘기려 하면 이동을 막고 몇 개가 되는지 알려 줍니다.
역할별 요약 — 같은 숫자를 각자의 순서로
CEO · CFO · 영업 책임자 · 자금 책임자가 같은 큐브를 각자의 순서로 읽습니다. 역할을 바꿔도 서버를 다시 부르지 않습니다.

CFO 요약은 통화·월 단위 커버율과 헤지 효과를 계획과 견주어 보여 줍니다. 전체 기간 커버율 50.2%는 계획(51.3%)보다 1.2%p 낮습니다. 이 숫자는 샘플의 가정 데이터입니다.

영업 책임자 요약은 수출 국가별 원화 수취 예상액과 계획 차이를 앞에 둡니다. 물량·단가처럼 영업이 설명할 수 있는 요인이 어느 국가에서 컸는지 보는 용도입니다.

자금 책임자 요약은 통화·거래 은행별 미헤지 금액과 미헤지율, 헤지 약정 환율·미헤지 현물 환율 요인을 보여 줍니다. 전체 기간 미헤지 금액은 16,641백만원, 미헤지율은 49.8%입니다.
표와 차트 — 항목과 계산 항목
행 노드를 펼치고, 선택한 행을 SVG 차트로 견주고, 계산 항목을 얹습니다.

합계 줄에서 제품 그룹, 헤지 수단 순으로 펼칩니다. 행을 누르면 오른쪽 차트가 그 행의 값으로 바뀝니다.

외부 차트 도구 없이 브라우저가 SVG 로 직접 그립니다. 같은 숫자를 표와 차트에서 보므로 두 값이 갈라지지 않습니다.

계산 항목은 산식을 서비스(CalcSet)에서 받아 합계 금액으로 다시 계산합니다. 칸마다 비율을 평균내지 않아 합계 줄의 커버율이 정확합니다.
칸에서 원천 줄까지 — 드릴스루와 기간별 요약
숫자 칸을 누르면 그 칸을 이루는 원천 줄이 열리고, 기간별 요약은 결제 예정월별 모양을 한 번에 보여 줍니다.

창 위쪽에 "셀 값 33,511 = 원천 합계 33,511 (원천 4,823줄) 일치"처럼 칸 금액과 줄 합계의 대사 결과가 뜹니다. 줄이 많으면 500줄씩 더 보기로 이어 읽습니다.

월별로 커버율이 2026-10의 73.0%에서 2027-06의 23.8%로 내려갑니다. 먼 결제월일수록 헤지가 덜 되어 있다는 샘플 데이터의 모양이며, 정책상 적정한지는 회사 기준 확인이 필요합니다.
기준 대비와 요인분해 — 차이를 여섯 요인으로
연초 확정 헤지 정책 예산과 견주고, 차이를 여섯 요인으로 가르며, 행에 사유를 남깁니다.

기준 대비를 켜면 칸마다 기준 값·차이·차이율이 붙고, 금액과 비율 두 임계를 모두 넘는 칸에만 색이 입혀집니다.

총차이 1,097,670,285원 가운데 미계획 노출이 +2,398,258,477원으로 가장 크고 계획 미이행이 −1,992,170,334원으로 반대로 당깁니다. 두 요인이 크게 맞서므로 순효과만 보지 말고 각각의 원인을 확인해야 합니다.

사유는 조회 범위와 행 경로에 묶여 저장되어, 축을 바꿔도 같은 행에 따라옵니다. 사유 구분은 물량·단가·헤지·환율·미계획·기타입니다.
AI 분석과 보고서
금액은 서비스가 계산하고 문장은 그 숫자를 풀어 쓰며, 근거 수치를 함께 펼칩니다.

금액과 비율은 서비스가 먼저 계산하고 문장은 그 숫자를 풀어 쓸 뿐입니다. 모델을 쓰지 않는 규칙 기반 해설이 기본이라 같은 범위에서는 늘 같은 문장이 나옵니다.

주요 발견마다 근거 수치(실적·계획·차이·커버율 등)가 표로 붙고, 분석 창의 보고서 버튼으로 같은 내용을 PowerPoint 로 내려받습니다.
AI 에이전트 — 열지 않아도 도는 점검
다섯 가지 감시 규칙과 받은 보고, 실행 기록입니다.

커버율 하한 미달, 미헤지 금액 임계, 계획 대비 수취액 차이, 30일 이내 만기 도래 미헤지, 헤지 효과 손실 — 다섯 규칙에 기준값과 받는 역할이 붙어 있고 기본값은 가정값입니다.

규칙에 걸린 항목이 받는 역할의 눈으로 적힌 제목과 본문, 금액, 행 경로와 함께 올라옵니다. 문장은 "점검 필요"·"확인 필요"로 끝나며 판단을 대신하지 않습니다.

실행 기록에는 실행 시각, 실행 방식, 발견 건수가 남습니다. 하루 한도가 있어 같은 날 다시 실행하면 건너뛴 기록이 남습니다.
레이아웃과 좁은 화면
자주 쓰는 배치를 저장해 두고, 좁은 화면에서도 쓸 수 있게 했습니다.

저장 창에는 현재 배치의 요약이 함께 보이고 기본 지정과 열 때 자동 조회를 정할 수 있습니다. 같은 이름은 거절합니다.

기본 레이아웃으로 지정하면 화면이 열릴 때 그 배치가 적용되고, 자동 조회를 켜면 조회까지 이어집니다.

조건 영역의 저장된 레이아웃 칸이나 상단 레이아웃 메뉴에서 불러옵니다. 행·열·항목·보기 방식·기준 대비·역할·값 필터가 복원됩니다.

폭 390px 화면에서도 가로로 넘치지 않고 조건과 축 영역이 세로로 쌓입니다. 표는 표 안에서 가로로 스크롤합니다.
조회 조건
| 조건 | 설명 | 비고 |
|---|---|---|
| 회사코드 | 조회 대상 회사코드(샘플 1000) | 필수 |
| 시작 기간 · 종료 기간 | 결제 예정월 범위(샘플 2026-10 ~ 2027-06) | 필수, 시작 ≤ 종료 |
| 비교 기준 | 연초 확정 헤지 정책 예산 | 고정 |
| 저장된 레이아웃 | 저장한 행·열·항목 배치 | 선택 |
| 차원별 값 선택 | 헤지 수단·제품 그룹·사업부·플랜트·수출 국가·지역·결제 통화·헤지 거래 은행 | 브라우저에서 필터링 |
| 표시 행 수 | 표에 그리는 행 수 상한 | 성능 보호 |
결과 컬럼(분석 항목과 계산 항목)
| 구분 | 항목 | 설명 |
|---|---|---|
| 금액 | 원화 수취 예상액 | 노출 금액 + 헤지 효과 |
| 금액 | 노출 금액(현물환 환산) | 외화 노출 × 기준일 현물환(가정값) |
| 금액 | 헤지 금액 · 미헤지 금액 | 헤지 배정 외화와 나머지를 현물환으로 환산 |
| 금액 | 약정 환율 확정액 · 헤지 효과 | 헤지 외화 × 약정 환율, 그리고 현물환 환산과의 차이 |
| 수량 | 수출 수량 | EA |
| 요인 | 노출 물량 · 외화 단가 · 헤지 약정 환율 · 미헤지 현물 환율 · 미계획 노출 · 계획 미이행 | 기준 대비 차이를 가른 여섯 요인(합 = 총차이) |
| 계산 | 커버율 · 미헤지율 · 헤지 효과율 · 확정율 · 수취율 · 수출 단위당 수취액 · 요인 합계 | 서비스(CalcSet)가 주는 산식으로 합계 금액에서 다시 계산 |
검증 결과 — 대사식 전수 검증
리포트에서 가장 비싼 질문은 "이 숫자 맞아?"입니다. 그래서 대사식을 먼저 세우고 서비스(CubeCheckSet)가 요청 시점에 큐브와 원천 줄을 다시 합산해 비교합니다.
| 대사 | 검사 건수 | 차이 건수 |
|---|---|---|
| 큐브 합계 = 원천 줄 합계(금액·수량·줄 수 항목) | 21 | 0 |
| 요인 합 = 총차이(전체 기간) | 1 | 0 |
| 드릴스루 칸 값 = 원천 줄 합계 | 1 | 0 |
| 축 이동 중 서버 요청 | 1 | 0 |
| 미헤지 만기 도래(DUE) 줄 | 270줄 | - (일부러 넣은 예외 목록) |
대사 항목 전부 차이 0입니다. 만기 도래 270줄은 점검 화면이 어떻게 보여 주는지 확인하려고 샘플에 일부러 넣은 예외입니다.
SAP 표준 기능 확장 포인트 — 표준 T-code 와 어떻게 연계되는지
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다. 표준이 잘하는 확인과 대응은 표준에 두고, 끊기는 자리만 이어 붙입니다.
표준으로 되는 것과 안 되는 것
| 하고 싶은 일 | SAP 표준 | 표준에서 걸리는 자리 | 이 앱이 하는 일 |
|---|---|---|---|
| 외화 판매오더와 납품 확인 | VA03 · VL03N | 문서를 한 건씩 열어야 하고 결제월·통화 단위로 모아 볼 수 없음 | 원천 줄에서 같은 조건으로 확인, 칸 합계와 대사 |
| 청구와 결제 조건 확인 | VF03 | 송장 한 건 단위 조회 | 결제 예정월·통화로 모아 노출 보기 |
| 고객 미결 항목과 만기 확인 | FBL5N | 고객 계정 항목을 따로 조회 | 만기와 외화 금액을 노출 줄마다 나란히 |
| 전표 확인 | FB03 | 전표 한 건 단위 조회 | 전표 합계와 노출 합계를 기간 단위로 맞춰 보기 |
| 외화 평가 실행 | FAGL_FCV | 평가 결과를 헤지 커버율 관점으로 보지 않음 | 평가 대상 노출과 이 앱의 노출 금액을 견주어 보기 |
| 계획 대비 차이의 원인 | 없음 | 표준에 차이를 요인으로 가르는 자리가 없음 | 여섯 요인으로 가르고 합계를 검산 |
T-code 별 연계 지점
맞닿은 표준 T-code 마다 같은 테이블·필드를 이어받습니다. 이 앱 결과에서 표준 화면으로 내려가 원천을 확인하고, 표준 화면 값은 이 앱의 해당 결제월·통화에서 다시 보는 식으로 오갑니다. 기존 표준 화면과 리포트를 없앨 필요는 없습니다. 법정·감사 대응은 표준에 남겨 둡니다.
| T-code | 이름 | 연계 |
|---|---|---|
| VA03 | 판매오더 조회 | 이 앱의 원천 줄에 있는 판매 오더 번호로 같은 오더를 열어 수량·통화·결제 조건을 확인합니다. 수출 오더를 가르는 조건은 회사 구성에 따라 달라 확인 필요이며, 두 화면의 건수를 결제월 단위로 맞춰 봅니다. |
| VL03N | 출고 납품 조회 | 출고 수량과 일자의 원천입니다. 이 앱의 수량이 납품 문서와 같은지 줄 단위로 대사하고, 어긋나는 줄만 표준 화면에서 원인을 봅니다. |
| VF03 | 송장 조회 | 외화 청구 금액과 청구일의 원천입니다. 결제 예정일을 청구일에 결제 조건을 더해 구하는 방식은 회사 구성에 따라 달라 확인 필요입니다. |
| FB03 | 전표 조회 | 채권 전표를 확인합니다. 전표 합계와 이 앱의 노출 합계를 기간 단위로 맞춰 보되 계정 설계는 회사마다 달라 확인 필요입니다. |
| FBL5N | 고객 계정 항목 조회 | 미결 외화 금액과 만기일의 원천입니다. 이 앱의 결제 예정일과 미결 외화 금액을 고객 계정 항목과 대조합니다. |
| FAGL_FCV | 외화 평가 | 외화 채권 평가의 실행 화면입니다. 평가 대상 금액과 이 앱의 노출 금액을 나란히 보는 용도이며, 평가 방식과 계정은 회사 설정에 달려 확인 필요입니다. |
S/4HANA 분석 스택과의 자리
S/4HANA 의 표준 CDS 분석 쿼리와 Fiori 분석 앱, Analysis for Office 는 표준 데이터를 정해진 관점으로 보는 데 강합니다. 이 앱은 환헤지 커버율이라는 특정 주제에서 열 개 차원 피벗, 요인분해, 사유, 에이전트까지 한 흐름으로 묶는 자리를 맡습니다. 표준 앱 가운데 환헤지 커버율에 그대로 맞는 것이 있는지는 설치 환경에서 확인해야 하므로 이 글에서는 앱 이름을 특정하지 않습니다(확인 필요).
확장 포인트 — 운영에서 실제로 손대는 자리
| 자리 | 무엇을 손대나 | 누가 |
|---|---|---|
| 결제 예정일 산출 규칙 | 청구일 + 결제 조건, 또는 고객 미결 항목의 만기일 중 무엇을 쓸지 정합니다 | 재무 · 영업 지원 |
| 환율 유형과 기준일 | 현물환 환산에 쓸 환율 유형, 조회 시점 기준일을 정합니다(샘플은 가정값) | 재무 |
| 헤지 배정 원천 | 어느 헤지 계약이 어느 노출에 배정되는지 — 재무 거래 관리를 쓰는지 별도 대장을 쓰는지에 따라 달라 확인 필요 | 자금 · IT |
| 목표·하한 커버율 | 통화별 정책 값을 정책 테이블로 빼고 에이전트 규칙의 기준값과 연결합니다 | 자금 · 재무 |
| 계획 원천과 버전 | 연초 확정 헤지 정책 예산을 어디서 받을지 정합니다 | 기획 |
| 권한 설계 | 회사코드·사업부·플랜트 범위를 집계 단계에서 제한합니다 | 보안 · 권한 |
위 여섯 가지는 코딩이 아니라 합의입니다. 합의가 끝나면 기술 작업은 CDS 뷰와 권한, 서비스를 만드는 일입니다.
CDS 구성 — 최대한 자세히
뷰 레이어 구성
기준 테이블에서 시작해 원천 줄 · 환율 · 큐브 · 계획 · 차원 · 소비 · 서비스 순으로 쌓습니다. 레이어를 나눈 이유는 정책이 바뀌는 자리(결제 예정일 규칙, 환율 유형, 헤지 배정)를 한 곳씩만 고치게 하려는 것입니다.
| 레이어 | 뷰 | 하는 일 | 왜 나누나 |
|---|---|---|---|
| 기준 | ZEXH_POLICY | 통화별 목표·하한 커버율, 헤지 시작 시점 | 정책 값은 회사마다 달라 뷰에 박지 않고 표로 뺍니다 |
| 원천 줄 | ZI_ExhItem | 송장 줄에 헤지 배정을 붙여 외화 노출 한 줄을 만듦 | 드릴스루가 읽는 가장 작은 단위를 한곳에 둡니다 |
| 환율 | ZI_ExhSpot | 기준일 현물환 | 환율 유형과 기준일이 바뀌어도 이 뷰만 고치면 됩니다 |
| 큐브 | ZI_ExhCube | 결제 예정월·통화·헤지 수단 키로 합산 | 화면이 한 번에 읽는 집계 단위이며 합계 대사의 기준입니다 |
| 계획 | ZI_ExhPlan | 연초 확정 헤지 정책 예산 | 비교 기준을 실적과 분리해 버전별로 둡니다 |
| 차원 | ZI_ExhDim | 이름·정렬 전용 | 큐브에서 이름을 조인하면 집계가 느려져 차원을 따로 둡니다 |
| 소비·서비스 | ZC_ExhCube · 서비스 정의 | 쿼리 뷰를 OData V2 로 게시 | 화면은 서비스 주소만 알면 됩니다 |
아래 코드는 구현 참고용 스케치이며 그대로 활성화되는 코드가 아닙니다. 헤지 배정과 계획을 담는 객체는 회사 구성에 따라 별도로 정의해야 하며 확인 필요입니다.
① 헤지 정책 기준 테이블 ZEXH_POLICY
정책 값을 담는 기준 테이블입니다. 통화별 목표·하한 커버율은 회사 정책이므로 값은 확인 필요이며, 에이전트 규칙의 기준값과 이어 쓸 수 있습니다.
@EndUserText.label : '헤지 정책 기준'
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table zexh_policy {
key mandt : mandt not null;
key waers : waers not null; " 결제 통화
key valid_to : abap.dats not null;
target_cover : abap.dec(5,2); " 목표 커버율(%) — 회사 정책, 확인 필요
floor_cover : abap.dec(5,2); " 하한 커버율(%) — 에이전트 규칙의 기준값
hedge_start : abap.int2; " 결제 예정일 몇 일 전부터 헤지하는가
}
② 원천 줄 뷰 ZI_ExhItem — 외화 노출 문서와 헤지 배정
송장 헤더·품목에 헤지 배정을 붙여 외화 노출 한 줄을 만듭니다. 헤지 배정 객체(ZEXH_HEDGE_ALLOC)는 재무 거래 관리 사용 여부에 따라 달라 확인 필요입니다.
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '외화 노출 원천 줄'
define view entity ZI_ExhItem
as select from vbrk as h
inner join vbrp as i on i.vbeln = h.vbeln
left outer join zexh_hedge_alloc as a -- 헤지 배정(확인 필요)
on a.vbeln = i.vbeln and a.posnr = i.posnr
{
key h.bukrs as Bukrs,
key h.gjahr as Gjahr,
key h.vbeln as ExpDoc,
key i.posnr as Item,
h.fkdat as BillDate,
h.zfbdt as DueDate, -- 기준일 + 결제 조건(확인 필요)
h.waerk as Currency,
i.fkimg as Qty,
@Semantics.amount.currencyCode : 'Currency'
i.netwr as FcValue, -- 외화 노출
@Semantics.amount.currencyCode : 'Currency'
coalesce( a.hedged_fc, 0 ) as FcHedged, -- 헤지 배정 외화
a.contract_rate as ContractRate, -- 약정 환율
a.deal_no as HedgeNo,
a.instrument as Instrument,
a.bank as Bank
}
③ 환율 기준 뷰 ZI_ExhSpot — 기준일 현물환(TCURR)
기준일 현물환을 환율표(TCURR)에서 가져옵니다. 환율 유형은 회사가 정하며 샘플 화면은 가정값을 씁니다.
define view entity ZI_ExhSpot
as select from tcurr
{
key kurst as RateType,
key fcurr as FromCurrency,
key tcurr as ToCurrency,
key gdatu as ValidFromInv,
ukurs as Rate -- 기준일 현물환. 샘플 화면은 가정값을 씁니다
}
where kurst = 'M'
④ 큐브 뷰 ZI_ExhCube — 결제 예정월 기준 집계
결제 예정월 기준으로 노출·헤지·미헤지·약정 환율 확정액을 합산하는 큐브입니다. 화면의 CubeSet 이 이 뷰에 대응합니다.
@Analytics.dataCategory : #CUBE
@EndUserText.label : '환헤지 커버율 큐브'
define view entity ZI_ExhCube
as select from ZI_ExhItem as it
inner join ZI_ExhSpot as sp
on sp.FromCurrency = it.Currency and sp.ToCurrency = 'KRW'
{
key it.Bukrs,
key left( it.DueDate, 6 ) as Period, -- 결제 예정월
key it.Currency,
key it.Instrument,
@DefaultAggregation : #SUM
cast( it.FcValue * sp.Rate as abap.curr(23,0) ) as Exp, -- 노출 금액(현물환 환산)
@DefaultAggregation : #SUM
cast( it.FcHedged * sp.Rate as abap.curr(23,0) ) as Hedged, -- 헤지 금액
@DefaultAggregation : #SUM
cast( (it.FcValue - it.FcHedged) * sp.Rate as abap.curr(23,0) ) as Open,
@DefaultAggregation : #SUM
cast( it.FcHedged * it.ContractRate as abap.curr(23,0) ) as Locked,
count( * ) as Lines
}
group by it.Bukrs, left( it.DueDate, 6 ), it.Currency, it.Instrument
⑤ 계획 뷰 ZI_ExhPlan — 연초 확정 헤지 정책 예산
연초에 확정한 헤지 정책 예산을 담습니다. 자체 계획 테이블이므로 원천은 확인 필요입니다.
@AbapCatalog.viewEnhancementCategory : [#NONE]
@EndUserText.label : '헤지 정책 예산(비교 기준)'
define view entity ZI_ExhPlan
as select from zexh_plan -- 자체 계획 테이블(확인 필요)
{
key bukrs as Bukrs,
key version as Version, -- 예) 연초 확정 버전
key period as Period,
key waers as Currency,
key prodgrp as ProdGroup,
exp_amt as Exp,
hedge_amt as Hedged,
budget_rate as BudgetRate -- 예산 환율(가정값)
}
⑥ 차원 뷰 ZI_ExhDim — 이름·정렬 전용
차원 값의 이름을 담당합니다. 화면의 값 선택 창(DimValueSet)이 읽습니다.
@ObjectModel.dataCategory : #TEXT
@Analytics.dataCategory : #DIMENSION
define view entity ZI_ExhDim
as select distinct from zexh_policy
{
key waers as Currency,
@Semantics.text : true
concat( waers, ' 결제' ) as Text -- DimValueSet 의 원천
}
⑦ 소비 뷰와 서비스 정의 — OData 노출
소비 뷰를 만들고 서비스 정의로 게시합니다. 서비스 이름은 소문자 exhedge_srv 입니다.
@EndUserText.label : '환헤지 커버율 소비 뷰'
@OData.publish : false
define view entity ZC_ExhCube
as projection on ZI_ExhCube
{
key Bukrs, key Period, key Currency, key Instrument,
Exp, Hedged, Open, Locked, Lines
}
define service exhedge_srv {
expose ZC_ExhCube as CubeSet;
expose ZI_ExhItem as ItemSet;
expose ZI_ExhPlan as PlanSet;
expose ZI_ExhDim as DimValueSet;
}
운영 시점에 해야 할 일
- 원천 합의 — 결제 예정일 규칙, 환율 유형·기준일, 헤지 배정 원천, 계획 원천을 확정합니다.
- 대사 절차 — 표준 화면(송장·고객 계정 항목·평가 결과)과 이 앱의 합계를 결제월 단위로 맞춰 보는 운영 대사 절차를 정합니다.
- 권한 — 회사코드·사업부·플랜트 범위를 집계 단계에서 제한합니다. 드릴스루에만 걸면 집계 합계의 뺄셈으로 다른 범위의 숫자가 드러날 수 있습니다.
- 성능 — 이 샘플의 원천은 4,823줄이라 큐브 전체를 읽어도 부담이 없습니다. 운영 규모에서는 큐브 집계를 데이터베이스에서 하고 회사코드와 기간을 필수 조건으로 두며 응답 시간 기준을 운영 데이터로 다시 측정합니다.
샘플 데이터 요약 (가상)
| 항목 | 값 |
|---|---|
| 원천 줄 · 집계 큐브 · 계획 | 4,823줄 · 947건 · 884건 |
| 결제 예정월 | 2026-10 ~ 2027-06 |
| 통화 · 수출 국가 · 제품 그룹 | 4개 · 10개 · 8개 |
| 전체 기간 노출 금액 · 헤지 금액 · 미헤지 금액 | 33,393,809,493원 · 16,752,593,242원 · 16,641,216,251원 |
| 커버율 | 실적 50.2% · 계획 51.3% |
| 상태 분포 | HEDGED 2,310줄 · OPEN 2,243줄 · DUE 270줄 |
자주 묻는 질문
도입을 검토할 때 자주 나오는 질문을 4개 묶음으로 정리했습니다.
숫자와 산식
이 앱의 숫자로 환평가손익이나 헤지 효과를 확정할 수 있습니까?
아닙니다. 이 화면은 점검 도구이며 최종 판단은 회사와 감사인이 합니다. 이 글에는 법령의 조문이나 회계 기준 문단을 적지 않았고, 확인하지 못한 값은 “확인 필요”로 표시했습니다. 화면의 숫자는 점검과 대사를 돕는 참고 값이며, 확정은 표준 문서와 맞춘 뒤에 하십시오.
노출 금액과 커버율은 어떻게 계산합니까?
노출 금액은 외화 노출에 기준일 현물환을 곱한 원화 환산액이고, 커버율은 헤지 금액을 노출 금액으로 나누어 100을 곱한 값입니다. 커버율은 합계 금액으로 다시 나눠 계산하므로 칸마다 비율을 평균내는 오차가 없습니다. 환위험 관리 정책의 정의와 같은지는 회사 기준 확인이 필요합니다.
환율과 정책값은 실제 값입니까?
아닙니다. 기준일 현물환(USD 1,395.40 · EUR 1,512.70 · JPY 9.31 · CNY 193.60)과 예산 환율은 검증용 샘플의 가정값이며, 운영에서는 회사 환율표와 정책으로 바꿔야 합니다. 데이터는 모두 가상입니다.
헤지 효과는 무엇입니까?
약정 환율 확정액에서 같은 외화를 기준일 현물환으로 바꾼 금액을 뺀 값입니다. 양수면 약정 환율이 현물환보다 유리한 쪽이며, 평가손익과 같은 값이라고 단정할 수 없습니다. 회계 처리와의 관계는 확인 필요입니다.
원화 수취 예상액은 무엇입니까?
노출 금액에 헤지 효과를 더한 값으로, 약정 환율 확정액에 미헤지 금액을 더한 것과 같습니다. 헤지된 부분은 약정 환율로, 헤지되지 않은 부분은 기준일 현물환으로 받는다고 가정한 금액입니다.
차이 요인분해는 어떤 방식입니까?
요인을 계획 값에서 실적 값으로 한 번에 하나씩 바꿔 가며 변화분을 구하는 연쇄 대체 방식입니다. 그래서 여섯 요인의 합이 실적과 계획의 차이와 항상 같고, 화면의 검산 줄이 오차를 0으로 보여 줍니다. 요인의 순서를 바꾸면 요인별 금액은 달라질 수 있지만 합은 변하지 않습니다.
만기 도래 미헤지(DUE)는 어떻게 판정합니까?
결제 예정일이 기준일(샘플 가정 2026-09-30)로부터 30일 이내이고 헤지가 배정되지 않은 줄입니다. 운영에서는 조회 시점 기준일을 쓰도록 바꿔야 하며 기준일 규칙은 확인 필요입니다.
샘플 데이터의 DUE 270줄은 왜 있습니까?
점검 화면이 만기 임박 미헤지를 어떻게 보여 주는지 확인하려고 검증용 샘플에 일부러 넣은 예외 목록입니다. 운영 데이터의 비율을 뜻하지 않습니다.
화면과 조작
축을 바꾸면 서버를 다시 부릅니까?
부르지 않습니다. 조회 때 큐브(947건)와 계획(884건)을 한 번 받아 두고, 행·열 배치와 값 필터는 브라우저에서 다시 집계합니다. 자동 시험에서 축 이동 중 서버 요청 0건을 확인했습니다.
열은 몇 개까지 놓을 수 있습니까?
행 축은 세 단계, 열 축은 두 단계까지이고 열 조합은 36개를 넘을 수 없습니다. 넘기려 하면 배치를 되돌리고 열 차원을 줄이라고 안내합니다.
칸 값과 원천 줄 합계가 다르면 어떻게 봅니까?
원천 줄 창 위쪽의 표시가 “일치”가 아니면 큐브와 원천 사이에 차이가 있다는 뜻입니다. 샘플에서는 대사 항목이 모두 차이 0이며, 운영 데이터에서는 원인을 따로 확인해야 합니다.
저장 레이아웃에는 무엇이 들어갑니까?
행·열 축, 분석 항목, 보기 방식, 기준 대비, 역할, 값 필터가 들어갑니다. 기본 레이아웃과 “열 때 자동 조회”를 정할 수 있고 같은 이름은 거절합니다.
차이 사유는 어디에 저장됩니까?
ReasonSet 에 저장되며 조회 범위(버전·기간)와 행 경로가 키입니다. 같은 행의 사유를 다시 열면 수정과 삭제를 할 수 있습니다.
CSV 는 어떻게 내려받습니까?
상단 CSV 버튼이 현재 표(행·열 배치와 항목 그대로)를 파일로 내려 줍니다. 한글이 깨지지 않도록 BOM 을 붙여 둡니다.
좁은 화면에서도 쓸 수 있습니까?
폭 390px 정도의 화면까지 확인했습니다. 조건과 축 영역이 세로로 쌓이고 차트는 표 아래로 내려옵니다. 표는 가로 스크롤로 봅니다.
분석 기능
AI 분석은 생성형 모델이 씁니까?
이 샘플에서는 규칙 기반 문장입니다. 금액과 비율은 서비스가 먼저 계산하고 문장은 그 숫자를 풀어 쓸 뿐이며, 모델을 연결하는 경우에도 같은 근거 수치 표를 함께 보여 주도록 구성했습니다. 모델 연결 여부는 응답의 Mode 값으로 구분합니다.
보고서(PPTX)는 어떻게 만들어집니까?
AI 분석 창의 보고서 버튼이 요약, 주요 발견, 요인 워터폴, 근거 수치를 담은 PowerPoint 파일을 브라우저 안에서 직접 조립합니다. 별도 서버가 필요하지 않고 파일은 서버에 남지 않습니다.
AI 에이전트는 몇 번 실행됩니까?
화면이 열려 있는 동안 하루 1회만 자동 점검하고, 같은 날 두 번째 실행은 건너뜁니다. “지금 실행”도 같은 하루 한도를 씁니다.
감시 규칙의 기준값은 바꿀 수 있습니까?
네. 규칙 탭에서 기준값과 받는 역할, 사용 여부를 바꿀 수 있고 AgentRuleSet 에 저장됩니다. 기본값은 가정값입니다.
검토용 자료 다운로드는 무엇입니까?
이 글의 핵심 내용과 화면을 PowerPoint 파일로 묶어 내려받는 기능입니다. 글 안에서 브라우저가 직접 만들며 내용은 이 글을 줄여 담은 것입니다.
도입과 운영
실제 SAP 시스템과 어떻게 연결합니까?
서비스 경로는 manifest 에 상대 경로로 선언되어 있어, 같은 이름의 OData V2 서비스를 게이트웨이에 구현하면 화면 코드는 바꾸지 않습니다. 원천 테이블 매핑은 CDS 절을 보십시오. 헤지 배정 원천은 확인 필요입니다.
데이터가 아주 많아지면 어떻게 됩니까?
이 샘플의 원천은 4,823줄이라 큐브 전체를 읽어도 부담이 없습니다. 수천만 건 규모에서는 큐브 집계를 데이터베이스에서 하고, 기간과 회사코드를 필수 조건으로 두고, 인덱스와 응답 시간 기준을 정해야 합니다. 이 부분은 운영 데이터 기준으로 다시 측정해야 합니다.
권한은 어떻게 겁니까?
사업부·플랜트 같은 범위 제한은 집계 단계에서 걸어야 합니다. 드릴스루에만 걸면 집계 합계의 뺄셈으로 다른 범위의 숫자가 드러날 수 있습니다.
적용 시기와 범위는 어떻게 됩니까?
확인된 사실만 말씀드리면, 이 글의 화면은 검증용 샘플 데이터(결제 예정월 2026-10~2027-06, 원천 4,823줄)로 시연한 것입니다. 실제 회사에 적용할 시기와 범위는 원천 정리와 합의가 끝나야 정해지며 지금은 확인 필요입니다.
이 숫자가 틀리면 책임은 누구에게 있습니까?
점검 도구이며 최종 판단은 회사와 감사인이 합니다. 이 화면은 숫자가 어디서 났는지 줄까지 내려가 확인하게 도울 뿐입니다. 평가와 회계 처리는 반드시 표준 문서와 대사해서 확정하십시오.