수출 솔루션 · 수출 무상 출하 비용

SAP 수출 무상 출하 비용 다차원 분석 — 샘플·판촉물·보증 교체 비용과 회수·순부담, 계획 대비 차이 요인까지 한 화면에서

열 개 차원 피벗 · 칸에서 출하 문서까지의 드릴스루 · 계획 대비 차이와 여섯 요인분해 · 행에 남는 사유 · 숫자를 모델에 맡기지 않는 AI 분석 · 스스로 도는 AI 에이전트 — 소개 영상과 실제 화면 31종, 그리고 CDS 코드까지

소개 영상블로그 목차 순서대로 · 자막 포함

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

수출 담당과 영업 지원이 마감 때마다 받는 질문은 비슷합니다. 샘플과 판촉물, 보증 교체품으로 나간 무상 출하에 비용이 얼마나 들었나, 그 가운데 얼마를 고객이나 해외 법인이 분담했나, 왜 연초 예산과 다른가. 지금 이 세 답은 표준 문서 화면 · 비용 전표 · 입금 내역 · 엑셀로 흩어져 있습니다. 이 앱은 세 답을 한 화면에 붙여 순부담이 어디서 커졌는지 바로 보이게 합니다. 수출 무상 출하 비용 관리 업무의 점검에 쓰는 도구입니다.

무상 출하는 청구서가 없어 매출 화면에서는 보이지 않고, 오더·출고·전표·입금 화면을 오가야 겨우 한 건이 맞춰집니다. 승인 없이 나간 출하나 예산에 없던 출하는 대개 마감 때 처음 발견됩니다. 이 화면은 원천 줄을 한 번 큐브로 모은 뒤 열 개 차원으로 돌려 보게 하고, 계획과의 차이를 여섯 요인으로 가르며, 합계가 원천과 한 푼도 어긋나지 않는지 매번 검산합니다.

한 줄 요약 — 무상 출하 비용 현황 표는 누구나 만듭니다. 이 앱의 값은 그 다음에 있습니다: 차이를 여섯 요인으로 가르고, 사유를 행에 남기고, 사람이 열지 않아도 감시하고, 그 숫자가 원천 줄과 어긋나지 않는지 매번 검산합니다.

핵심 포인트 일곱 가지

핵심 포인트고객이 얻는 것지금 방식이라면
① 축을 바꿔도 숫자가 갈라지지 않는 피벗출하월·분기·출하 목적·제품 그룹·사업부·플랜트·도착 국가·지역·원가 통화·인코텀즈 열 개 차원을 끌어다 놓아 봅니다. 모든 축이 같은 큐브에서 나와 합계가 어긋날 자리가 없습니다.축마다 리포트를 따로 만들고, 합계가 다르면 리포트를 맞추는 회의를 엽니다.
② 칸에서 출하 문서까지 한 번에숫자를 누르면 그 칸을 이룬 무상 출하 문서 줄이 열리고, 줄 합계가 칸 금액과 같은지 그 자리에서 보입니다.리포트를 닫고 표준 화면을 다시 열어 조건을 손으로 맞춥니다.
③ 비용·회수·순부담을 한 줄에제품 원가와 부대비, 사전 승인과 미승인, 회수·분담액, 순부담이 같은 표에 놓여 회사가 최종 얼마를 떠안는지 바로 보입니다.출하 비용과 분담금 입금을 따로 모아 엑셀에서 맞춥니다.
④ 계획 대비 차이를 여섯 요인으로출하 물량, 제품 원가 단가, 부대비 가산율, 환율, 미계획 출하, 계획 미이행으로 차이를 가르고 합계가 총차이와 같은지 매번 검산합니다.총차이만 보고 원인은 담당자 설명에 의존합니다.
⑤ 차이 사유가 행에 남는다사유는 조회 범위와 행 경로에 묶여 저장되어 축을 바꿔도, 새로 고쳐도 그 행에 따라옵니다.같은 질문을 다시 하고 지난 답은 메일에서 찾습니다.
⑥ 열지 않아도 도는 점검다섯 가지 감시 규칙에 임계값과 받을 역할이 붙어 있고, 걸리면 받은 보고로 올라갑니다. 미승인 출하와 회수 기한 경과가 늦게 드러나지 않습니다.누가 열어 봐야만 보이는 금액은 마감 때 처음 발견됩니다.
⑦ 결재용 보고서를 바로보고 있는 범위의 표와 차트를 담은 PowerPoint 보고서가 브라우저에서 바로 만들어집니다.화면을 캡처해 숫자를 옮겨 적습니다.

사례로 보는 효과 — 총차이 49.8억 원 속의 여섯 요인

전체 기간(2026-01~2026-09)을 계획과 견주면 무상 출하 비용 실적은 24,901,777,383 원, 계획은 19,920,535,843 원으로 총차이는 4,981,241,540 원(계획의 25.0%)입니다. 여섯 요인으로 가르면 미계획 출하가 2,941,358,912 원으로 총차이의 59.0% 를 차지하고, 계획 미이행 -739,923,543 원이 반대로 당겨 줍니다. 총차이만 보면 “예산보다 많이 썼다”로 끝나지만, 요인으로 가르면 어느 회의에서 누구에게 물을지가 정해집니다.

요인의미전체 기간 금액(원)총차이 대비
출하 물량출하 수량이 계획과 달라서+1,674,662,76133.6%
제품 원가 단가(외화)제품 한 개당 외화 원가 단가가 달라서+343,462,9036.9%
부대비 가산율운임·보험료·통관비 가산율이 달라서+349,856,3797.0%
환율외화 원가를 원화로 바꾸는 환율이 달라서+411,824,1288.3%
미계획 출하예산에 없던 무상 출하가 생겨서+2,941,358,91259.0%
계획 미이행예산에 잡았던 무상 출하가 나가지 않아서-739,923,543-14.9%
합계(총차이)실적 24,901,777,383 − 계획 19,920,535,843+4,981,241,540100.0%

연쇄 대체 방식이라 여섯 요인의 합은 총차이와 항상 같고, 화면의 검산 줄이 오차를 0으로 보여 줍니다. 이 숫자는 검증용 샘플 데이터의 값이며, 운영 데이터의 효과를 뜻하지 않습니다.

도입하면 달라지는 것

  • 마감·점검 준비 — 비용·회수·순부담 표, 요인분해, 사유, 보고서가 한 화면에서 나옵니다.
  • 회의의 주제 — 어느 숫자가 맞나보다 어느 요인을 누가 확인하나를 이야기합니다.
  • 승인 관리 — 사전 승인이 없는 출하 비용이 국가·목적 단위로 모여 보입니다.
  • 기록 — 사유와 레이아웃이 남아 같은 설명을 다시 하지 않습니다.

이런 회사에 맞습니다

샘플·판촉물·보증 교체품을 해외로 무상 출하하고 그 비용을 사업부·제품 그룹별로 관리하는 제조·수출 기업. 무상 출하 비용을 엑셀로 모으고 분담금 회수를 따로 쫓아 순부담이 어디서 커지는지 보기 어려운 영업 지원·경영지원 조직. 통화와 인코텀즈가 여러 가지라 환율과 부대비 가산율이 비용에 주는 영향을 따로 보고 싶은 재무·물류 조직.

실행 화면

사용 방법

  1. 조회 조건 입력 — 필수는 회사코드와 시작·종료 기간(출하월)입니다. 비교 기준은 연초 확정 무상 출하 예산 하나로 고정되어 있고, 시작 기간이 종료 기간보다 늦으면 안내가 뜹니다.
  2. 조회 실행 — 조건 영역 오른쪽 끝의 조회 버튼을 누르거나 조건 입력 칸에서 Enter 키를 누릅니다. 레이아웃에서 “열 때 자동 조회”를 켜 두었다면 화면이 열릴 때 그 배치로 곧바로 조회합니다.
  3. 요약 확인 — 조회 직후 역할별 요약(CEO · CFO · 영업 책임자 · 물류 책임자)과 표 위 요약에서 비용, 회수·분담액, 순부담, 순부담률을 먼저 봅니다. 역할을 바꿔도 서버를 다시 부르지 않습니다.
  4. 축 바꾸기 — 차원 칩을 끌어 행·열·사용 안 함 칸으로 옮깁니다. 칩을 눌러 메뉴로 옮기거나 값을 고르고 순서를 바꿀 수도 있습니다. 열 조합은 최대 36개입니다.
  5. 항목과 보기 방식 — 분석 항목과 계산 항목을 고르고 차원 보기와 단계 보기를 바꿉니다. 기준 대비를 켜면 각 칸에 기준 값과 차이가 붙습니다.
  6. 행·칸 클릭 — 행을 누르면 오른쪽에 항목 비교와 차이 분해 차트가, 숫자 칸을 누르면 그 칸의 무상 출하 문서 줄이 열립니다. 줄이 많으면 더 보기로 이어 읽습니다.
  7. 사유와 레이아웃 — 차이가 큰 행에 사유를 남기고, 마음에 드는 배치는 이름을 붙여 저장합니다.
  8. 내보내기 — CSV 로 현재 표를 내려받고, 보고서(PPTX)로 AI 분석 결과를 PowerPoint 로 받습니다.

무엇으로 만들었나

자리무엇왜 그렇게 두었나
화면OpenUI5 sap_horizon 테마, 조건 영역 · 역할별 요약 · 피벗 표 · SVG 차트 · 상세 창표준 컨트롤 위주로 짜서 테마와 접근성을 그대로 이어받고, 차트는 브라우저에서 직접 그려 외부 차트 도구 없이 같은 숫자를 보여 줍니다.
집계·판정 로직서버와 브라우저가 같은 집계 엔진 파일을 함께 씁니다서버에서 계산한 값과 브라우저에서 다시 집계한 값이 갈라지지 않게 하려는 구조입니다. 축을 옮길 때 서버를 다시 부르지 않는 근거이기도 합니다.
데이터 서비스OData V2 읽기 서비스 한 개 — 큐브 · 계획 · 차원 · 항목 · 원천 줄 · 사유 · 레이아웃 · 에이전트 규칙조회 때 큐브를 한 번 읽고, 이후 축 바꾸기와 값 선택은 브라우저에서 합니다. 사유·레이아웃·규칙만 쓰기 요청이 나갑니다.
분석 부가 기능규칙 기반 AI 해설 · 감시 규칙 에이전트 · 브라우저 안 PPTX 생성금액과 비율은 서비스가 먼저 계산하고 해설은 읽어서 풀 뿐입니다. 파일은 서버에 남지 않습니다.
테마sap_horizonSAP Fiori 화면과 나란히 놓아도 이질감이 없도록 같은 테마를 씁니다.

앱 정보

항목내용
솔루션수출
업무 영역수출 무상 출하 비용 · 다차원 분석
관련 기준서·대상 영역수출 무상 출하(샘플·판촉물·보증 교체품) 비용 관리 — 회계 처리 기준과 법령 원문은 이 글에 싣지 않았고 확인 필요
표준 T-codeVA03 · VL03N · VF03 · FB03 · FBL5N · KE30
화면 성격다차원 분석 리포트 — 조회 전용에 사유·레이아웃 저장
데이터가상의 검증용 샘플 데이터(출하월 2026-01~2026-09, 무상 출하 문서 4,975건)
테마sap_horizon
SAP 표준 기능을 그대로 이어받은 부분 — 원천은 SAP 표준 데이터 구조(판매오더 · 출고 · 전표 · 고객 계정 항목)를 그대로 이어받고, 표준 T-code 로 줄 단위 원천을 확인합니다. 이 화면은 거기에 모아 보기와 검증 관점을 더해 확장합니다.

처음 열었을 때 — 조건 하나로 시작

조회조건부터 표까지가 한 화면에 쌓입니다. 필수는 회사코드와 출하월 범위뿐이고, 조회는 버튼이나 Enter 키로 실행합니다.

처음 화면
처음 화면 — 조회 조건만 보이는 첫 화면입니다. 회사코드와 출하월 범위를 정하고 조회를 누릅니다.

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

조회 결과
조회 결과 — 행에 제품 그룹과 출하 목적, 열에 출하월 등을 놓고 무상 출하 비용과 순부담을 한 표로 본 모습입니다.

조회를 누르면 요약과 표가 함께 뜹니다. 기본 배치는 행이 제품 그룹과 출하 목적, 열이 출하월이고 항목은 무상 출하 비용, 회수·분담액, 순부담입니다. 합계 줄의 비용은 24,901,777,383 원, 순부담은 21,998,850,948 원(비용의 88.3%)으로 나오며, 모든 칸이 같은 큐브에서 나오므로 합계가 어긋나지 않습니다.

축 끌어 놓기
축 끌어 놓기 — 차원 칩을 끌어 행·열·사용 안 함 칸으로 옮기면 서버를 다시 부르지 않고 표가 바로 다시 짜입니다.

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

조건 영역 접기
조건 영역 접기 — 조건 영역을 접으면 현재 배치가 한 줄 요약으로 남고, 표가 화면을 넓게 씁니다.

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

경영 요약 — 역할마다 먼저 볼 숫자

같은 큐브를 CEO · CFO · 영업 책임자 · 물류 책임자가 각자 먼저 읽는 순서로 요약합니다. 역할을 바꿔도 서버 요청은 늘지 않습니다.

역할별 요약 · CEO
역할별 요약 · CEO — 제품 그룹·출하 목적별 무상 출하 비용과 회수·분담, 순부담 규모로 손익에 주는 영향을 봅니다.

CEO 요약은 제품 그룹과 출하 목적별로 비용 규모를 앞에 세우고, 회수·분담을 뺀 순부담이 손익에 주는 몫을 짧은 문장으로 알려 줍니다. 위쪽 숫자 몇 개만 읽어도 어디가 큰지 알 수 있게 짰습니다.

역할별 요약 · CFO
역할별 요약 · CFO — 출하월별 비용과 미승인 출하 비용, 회수율을 계획과 견줍니다.

CFO 요약은 출하월별 비용 흐름과 미승인 출하 비용, 회수율을 계획과 나란히 놓습니다. 월 단위로 계획을 얼마나 넘겼는지, 분담금 입금이 따라오는지를 읽는 자리입니다.

역할별 요약 · 영업 책임자
역할별 요약 · 영업 책임자 — 미승인 출하 비용과 미계획 출하 요인을 국가·목적 단위로 봅니다.

영업 책임자 요약은 사전 승인 없이 나간 출하 비용과 예산에 없던 미계획 출하 요인을 국가·목적 단위로 보여 줍니다. 승인 절차를 점검할 곳이 어디인지 가리키는 용도이고, 개별 출하의 적정성은 사람이 판단합니다.

역할별 요약 · 물류 책임자
역할별 요약 · 물류 책임자 — 부대비(운임·보험·통관)와 부대비 가산율, 출하 단위당 비용을 인코텀즈별로 봅니다.

물류 책임자 요약은 운임·보험·통관 부대비와 부대비 가산율, 출하 단위당 비용을 인코텀즈별로 보여 줍니다. 가산율은 샘플의 가정값이라 운영에서는 회사 기준으로 바꿔야 합니다.

축 전환과 범위 — 끌고, 고르고, 맞춘다

열 개 차원을 행·열로 옮기고, 값을 골라 범위를 좁히고, 화면 너비를 맞춥니다. 총합은 어떤 배치에서도 같습니다.

열 두 단계
열 두 단계 — 열에 차원을 둘 쌓으면 열 조합이 늘어납니다. 조합 수는 상한을 넘기지 않게 막아 둡니다.

열에 차원을 둘 쌓은 모습입니다. 열 조합이 늘어나는 만큼 표가 넓어지므로 열 조합은 최대 36개까지만 그립니다. 행은 단계가 깊어져도 표시 행 수 상한 안에서 그립니다.

값 선택
값 선택 — 차원 버튼의 값 선택 창에서 보고 싶은 값만 고릅니다.

차원 버튼을 누르면 값 선택 창이 열립니다. 보고 싶은 목적이나 국가만 체크하면 되고, 값 이름으로 찾는 입력 칸도 있습니다. 이 단계에서도 서버를 다시 부르지 않습니다.

값 필터 적용
값 필터 적용 — 선택한 값만 남긴 표입니다. 합계는 선택값의 큐브 합과 일치합니다.

선택한 값만 남긴 표입니다. 합계는 선택값의 큐브 합과 일치하며, 이 일치를 자동 시험으로 확인합니다. 필터가 걸린 차원은 칩에 표시가 남아 지금 일부만 보고 있다는 사실을 잊지 않게 합니다.

손잡이로 너비 조절
손잡이로 너비 조절 — 표와 차트 사이 손잡이를 끌어 너비를 바꿉니다.

표와 차트 사이의 손잡이를 끌어 너비를 바꿉니다. 표를 넓게 보다가 차트를 키우는 식으로 쓰고, 손잡이는 가로 배치에서만 나타납니다.

칸에서 출하 문서까지

의심스러운 숫자는 칸을 눌러 원천 줄까지 내려가 확인합니다. 칸 금액과 줄 합계가 같다는 표시가 위에 함께 뜹니다.

칸 선택
칸 선택 — 표의 숫자 칸을 누르면 그 칸을 이루는 원천 줄로 내려갑니다.

숫자 칸을 누르면 그 칸의 조건(출하월·목적·제품 그룹 등)을 그대로 들고 원천 줄 창이 열립니다. 선택한 칸은 표에서 강조되어 지금 어느 칸을 보고 있는지 잊지 않습니다.

원천 줄
원천 줄 — 무상 출하 문서·출하일·승인일·회수 기한·진행 상태와 금액을 줄 단위로 확인합니다. 칸 금액과 원천 합계가 같다는 표시가 위에 뜹니다.

무상 출하 문서, 출하일, 승인일, 회수 기한, 진행 상태와 금액이 줄 단위로 나옵니다. 창 위에는 칸 금액과 줄 합계가 같다는 표시가 뜨고, 줄이 많으면 더 보기로 이어 읽습니다. 표준 화면에서 같은 문서를 확인할 때의 출발점입니다.

기간별 요약
기간별 요약 — 출하월별로 줄 수와 비용·회수·순부담을 계획과 함께 한 번에 봅니다.

출하월별로 줄 수와 비용·회수·순부담을 계획과 함께 한 번에 봅니다. 월 단위 흐름을 먼저 훑고 이상한 달만 표로 들어가는 식으로 씁니다.

계산 항목 — 비율을 표에 얹는다

금액 항목 위에 순부담률 · 미승인 출하율 · 회수율 같은 비율을 얹어 읽습니다.

계산 항목
계산 항목 — 순부담률, 미승인 출하율, 회수율 같은 계산 항목을 표에 얹습니다.

순부담률, 미승인 출하율, 회수율처럼 비율은 금액 항목 위에 계산 항목으로 얹습니다. 비율은 합계 줄에서도 금액 합계를 다시 나누어 계산하므로 칸마다 비율을 평균내서 생기는 오차가 없습니다.

기준 대비 차이와 요인분해 — 같은 표가 점검 자료가 된다

연초에 확정한 무상 출하 예산과 견주고, 차이가 큰 행에는 사유를 남기며, 차이를 여섯 요인으로 가릅니다.

기준 대비 켜기
기준 대비 켜기 — 연초 확정 무상 출하 예산과 견주면 각 칸에 기준 값과 차이가 함께 나옵니다.

연초 확정 무상 출하 예산과 견주면 각 칸에 기준 값과 차이가 함께 나옵니다. 금액과 비율 두 임계를 모두 넘는 칸에만 색이 입혀져, 작은 칸의 큰 비율에 눈이 팔리지 않습니다.

차이 사유 입력
차이 사유 입력 — 차이가 큰 행에 사유 구분과 내용을 남기면 새로 고침 후에도 유지됩니다.

차이가 큰 행의 사유 칸에 사유 구분과 내용을 남깁니다. 사유는 조회 범위와 행 경로를 키로 저장되어 새로 고침 뒤에도 같은 행에 남고, AI 분석 근거와 CSV 에도 함께 실립니다.

차이 분해 워터폴
차이 분해 워터폴 — 계획에서 실적까지 여섯 요인이 얼마씩 보탰는지 계단식으로 보여 줍니다.

행을 누르면 오른쪽에 계획에서 실적까지 여섯 요인이 얼마씩 보탰는지 계단식으로 나옵니다. 총차이 4,981,241,540 원 가운데 미계획 출하가 +2,941,358,912 원으로 가장 크고, 계획 미이행이 -739,923,543 원으로 반대로 당깁니다.

요인별 금액
요인별 금액 — 요인 합계와 총차이가 같은지 검산 줄로 보여 줍니다.

요인별 금액을 표로 놓고 합계가 총차이와 같은지 검산 줄로 보여 줍니다. 오차는 0 이어야 하며 화면이 매번 그 등식을 확인합니다. 요인을 바꿔 가는 순서에 따라 요인별 금액은 달라질 수 있지만 합은 변하지 않습니다.

AI 분석과 보고서

현재 보고 있는 범위만 읽어 문장으로 풀고, 근거 숫자를 펼쳐 대조하고, 결과를 PowerPoint 보고서로 받습니다.

AI 분석
AI 분석 — 현재 화면 범위의 요약과 주요 발견을 규칙 기반 문장으로 정리합니다.

AI 분석은 현재 보고 있는 범위의 금액을 서비스가 먼저 계산한 뒤 그 숫자로 문장을 만듭니다. 모델을 쓰지 않는 규칙 기반 해설이 기본이라 같은 범위에서는 늘 같은 문장이 나옵니다.

AI 분석 근거 수치
AI 분석 근거 수치 — 문장마다 어떤 숫자에서 나왔는지 근거 표로 펼쳐 봅니다.

문장마다 어떤 숫자에서 나왔는지 근거 표로 펼쳐 볼 수 있습니다. 해설을 그대로 믿지 말고 근거 숫자와 대조하라는 취지의 화면이고, 사유를 남긴 행은 근거에도 함께 나옵니다.

보고서(PPTX)
보고서(PPTX) — 분석 결과를 PowerPoint 보고서로 내려받습니다.

보고 있는 범위의 표와 차트가 브라우저 안에서 PowerPoint 로 만들어져 바로 내려받아집니다. 서버에는 파일이 남지 않고, 장 수와 숫자는 화면과 같습니다.

AI 에이전트 — 열지 않아도 도는 점검

다섯 감시 규칙에 기준값과 받는 역할을 붙여 두면, 걸린 항목이 역할별 받은 보고로 올라옵니다.

AI 에이전트 · 감시 규칙
AI 에이전트 · 감시 규칙 — 다섯 가지 감시 규칙과 기준값, 받는 역할을 정합니다.

다섯 감시 규칙(계획 대비 비용 차이, 미승인 출하 비용, 순부담률 상한, 회수 기한 경과 미회수, 부대비 가산율 상한)에 기준값과 받는 역할을 붙입니다. 규칙은 켜고 끌 수 있고 기준값은 직접 고칩니다.

AI 에이전트 · 받은 보고
AI 에이전트 · 받은 보고 — 규칙에 걸린 항목이 역할별 받은 보고로 쌓입니다.

규칙에 걸린 항목이 역할별 받은 보고로 올라옵니다. 받는 사람의 눈으로 다시 적은 제목과 본문, 금액, 행 경로가 붙어 있어 눌러서 해당 자리로 갈 수 있습니다.

AI 에이전트 · 실행 기록
AI 에이전트 · 실행 기록 — 지금 실행과 하루 1회 점검의 결과가 기록으로 남습니다. 같은 날 두 번째 실행은 건너뜁니다.

지금 실행과 하루 한 번 점검의 결과가 실행 기록으로 남습니다. 같은 날 두 번째 실행은 건너뛰어 같은 보고가 쌓이지 않습니다. 샘플에서는 화면이 열려 있는 동안 도는 타이머이고, 운영에서는 배치로 옮깁니다.

레이아웃 저장과 복원

자주 쓰는 배치를 이름 붙여 저장하고, 기본 지정과 열 때 자동 조회까지 한 창에서 관리합니다.

레이아웃 저장
레이아웃 저장 — 자주 쓰는 배치를 이름을 붙여 저장합니다.

자주 쓰는 배치에 이름을 붙여 저장합니다. 행·열·항목·기준 대비 여부·필터가 한꺼번에 담기므로 월 보고용, 국가별 점검용처럼 용도별로 둘 수 있습니다.

레이아웃 관리
레이아웃 관리 — 기본 지정, 열 때 자동 조회, 이름 변경, 삭제를 한 창에서 합니다.

기본 지정, 열 때 자동 조회, 이름 변경, 삭제를 한 창에서 합니다. 기본으로 지정한 배치는 화면을 열 때 가장 먼저 적용됩니다.

레이아웃 불러오기
레이아웃 불러오기 — 저장한 배치를 고르면 축과 항목이 그대로 복원됩니다.

저장한 배치를 고르면 축과 항목이 그대로 복원됩니다. 같은 배치에서 같은 범위를 조회하면 같은 숫자가 나오므로 월마다 같은 틀로 비교하기 좋습니다.

좁은 화면과 한계

폭 390px 에서는 위아래로 쌓이고, 열 조합이 상한을 넘으면 표 대신 줄이는 방법을 안내합니다.

좁은 화면
좁은 화면 — 폭 390px에서는 차트가 표 아래로 내려옵니다.

폭 390px 에서는 차트가 표 아래로 내려가고 표는 가로로 밀어 봅니다. 큰 표를 편하게 보려면 태블릿 이상을 권합니다.

상한 안내
상한 안내 — 열 조합이 36개를 넘으면 표를 그리지 않고 줄이는 방법을 안내합니다.

열 조합이 36개를 넘으면 표를 그리지 않고 열 차원이나 선택값을 줄이라는 안내를 보여 줍니다. 화면이 멈추거나 느려지는 대신 한계를 알려 주는 방식입니다.

화면 뒤에서 일어나는 일

조회를 누르면 서비스가 원천 줄에서 무상 출하 비용을 계산해 큐브와 계획, 차원·항목 정의를 돌려줍니다. 화면은 그 큐브를 브라우저 메모리에 두고 축 배치, 값 선택, 계산 항목, 기준 대비를 모두 다시 집계해서 보여 줍니다. 서버를 다시 부르는 것은 조회, 칸 드릴스루, 사유·레이아웃·규칙 저장뿐입니다. 서버와 브라우저가 같은 집계 엔진을 쓰기 때문에 같은 범위에서는 같은 숫자가 나옵니다.

판정 로직 — 줄의 회수 상태와 해야 할 일

원천 줄마다 무상 출하 비용(원화)을 구하고, 회수·분담 진행에 따라 아래 상태로 나눕니다. 판정은 점검용 분류이며 확정이 아닙니다. 회수 기한은 출하 후 60일을 가정값으로 두었습니다.

판정 조건결과 상태사용자 조치
회수·분담 대상이며 입금(회수일)이 확인됨RECV 회수 완료조치 없음
회수·분담 대상이나 기한 이내이고 아직 입금 전PEND 회수 대기기한 전에 청구·분담 요청을 준비
회수·분담 대상이나 회수 기한이 지났고 입금 없음LATE 회수 기한 경과순부담으로 잡히고 AI 에이전트가 국가별로 알립니다. 회수 가능 여부는 영업·채권 담당이 확인
회수·분담 대상이 아닌 무상 출하(자체 부담)NONE 회수 대상 아님순부담에 그대로 남음 — 승인 여부(사전 승인 / 미승인)를 따로 봄

승인 여부는 별도 축입니다. 출하 전에 사전 승인이 있으면 사전 승인 비용, 없으면 미승인 출하 비용으로 나뉘며 두 값의 합이 비용입니다. 상태별 줄 수는 회수 대상 아님 2,550 · 회수 완료 1,583 · 회수 기한 경과 494 · 회수 대기 348 입니다.

산출·대사식

구분식설명
제품 원가수량 × 외화 단가 × 환율외화 원가를 원화로 환산합니다. 통화별 합계는 외화 값도 따로 보관
부대비제품 원가 × 부대비 가산율운임·보험료·통관비(인코텀즈에 따라 다름)
무상 출하 비용제품 원가 + 부대비화면의 기본 분석 항목
순부담비용 − 회수·분담액회사가 최종 부담하는 몫
순부담률순부담 ÷ 비용 × 100비용 대비 %
승인 대사사전 승인 비용 + 미승인 출하 비용 = 비용대사 검사 항목에 포함
큐브 대사집계 큐브 합계 = 원천 줄 합계금액 항목별로 합계 차이 0 확인
요인 대사요인 합 = 실적 − 계획검산 줄에 오차를 표시

조회조건

조건필수기본값처리
회사코드필수샘플 회사코드서버 조회 조건 — 회사코드 일치
시작·종료 기간(출하월)필수2026-01 ~ 2026-09서버 조회 조건 — 기간 이상·이하. 시작이 종료보다 늦으면 안내
비교 기준선택연초 확정 예산계획을 같은 조건으로 함께 읽음
차원 값 선택선택전체이미 읽은 큐브에서 브라우저가 걸러냄(서버 재호출 없음)
행·열 배치, 항목, 계산 항목선택저장한 기본 레이아웃 또는 기본 배치브라우저 재집계(서버 재호출 없음)
칸 드릴스루선택—해당 칸 조건으로 원천 줄을 쪽 단위로 읽음

결과 컬럼

컬럼의미산출식
무상 출하 비용제품 원가와 부대비를 더한 출하 비용(원화)제품 원가 + 부대비
제품 원가출하 수량의 원가를 원화로 바꾼 금액수량 × 외화 단가 × 환율
부대비운임·보험·통관 비용제품 원가 × 부대비 가산율
사전 승인 / 미승인 출하 비용출하 전에 승인이 있었는지에 따라 나눈 비용두 값의 합 = 비용
회수·분담액고객·해외 법인에서 입금된 분담금입금 전표 합계
순부담회사가 최종 떠안는 비용비용 − 회수·분담액
순부담률 · 회수율 · 미승인 출하율비용 대비 비율합계 금액으로 다시 나눠 계산
기준 값 · 차이 · 차이율연초 확정 예산과 견준 값실적 − 기준, 차이 ÷ 기준

좁은 화면에서 달라지는 것

  • 표와 차트가 위아래로 쌓이고 표는 가로로 밀어 봅니다.
  • 표 위 요약과 조건 영역은 접은 한 줄을 기본으로 보여 줍니다.
  • 표와 차트 사이 손잡이는 가로 배치에서만 씁니다. 좁은 화면에서는 나타나지 않습니다.
  • 값 선택·사유·레이아웃 창은 화면 가득 열리고 닫기 버튼이 위쪽에 고정됩니다.

파일 구성

앱 폴더
├─ index.html · Component.js · manifest.json
├─ controller/    조건·요약·표·차트·분석·에이전트·레이아웃 동작
├─ view/          화면 정의(XML)
├─ model/         집계 결과를 담는 모델과 서식 함수
├─ i18n/          화면 문구
├─ odata/         서비스 정의와 집계 엔진(서버·브라우저 공용)
├─ media/         소개 영상과 대표 화면
└─ readme.html    앱 설명서

SAP 표준 기능 확장 포인트 — 표준 T-code 와 어떻게 연계되는지

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다. 표준이 잘하는 확인과 대응은 표준에 두고, 끊기는 자리만 이어 붙입니다.

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

하고 싶은 일SAP 표준표준에서 걸리는 자리이 앱이 하는 일
무상 출하 오더와 출고 확인VA03 · VL03N문서를 한 건씩 열어야 하고 월·목적 단위로 모아 볼 수 없음원천 줄에서 같은 조건으로 확인, 칸 합계와 대사
비용 전표 확인FB03전표 한 건 단위 조회출하 줄의 비용을 월·제품 그룹으로 모아 보기
분담금 입금 확인FBL5N고객 계정 항목을 따로 조회회수·분담액과 회수일을 출하 줄마다 나란히
제품 그룹 수익성 관점KE30무상 출하 비용 흐름과 승인 여부를 모름제품 그룹 축으로 비용·회수·순부담을 함께
계획 대비 차이의 원인없음표준에 차이를 요인으로 가르는 자리가 없음여섯 요인으로 가르고 합계를 검산

T-code 별 연계 지점

맞닿은 표준 T-code 마다 같은 테이블·필드를 이어받습니다. 이 앱 결과에서 표준 화면으로 내려가 원천을 확인하고, 표준 화면 값은 이 앱의 해당 월·목적에서 다시 보는 식으로 오갑니다. 기존 표준 화면과 리포트를 없앨 필요는 없습니다. 법정·감사 대응은 표준에 남겨 둡니다.

T-code이름연계
VA03판매오더 조회이 앱의 원천 줄에 있는 오더 번호로 같은 오더를 열어 오더 유형·품목 범주를 확인합니다. 무상 출하로 보는 조건은 회사 구성에 따라 달라 확인 필요이며, 두 화면의 건수를 월 단위로 맞춰 봅니다.
VL03N출고 납품 조회출하일과 수량의 원천입니다. 이 앱의 출하일·수량이 납품 문서와 같은지 줄 단위로 대사하고, 어긋나는 줄만 표준 화면에서 원인을 봅니다.
VF03송장 조회무상 출하는 청구가 없는 것이 일반적이어서 유상 출하와 구분하는 데 씁니다. 청구 여부는 회사 구성에 따라 달라 확인 필요입니다.
FB03전표 조회비용 처리된 전표를 확인합니다. 어느 계정에 비용이 잡히는지는 회사 계정 설계에 달려 있어 확인 필요이며, 전표 합계와 이 앱의 비용 합계를 기간 단위로 맞춰 봅니다.
FBL5N고객 계정 항목 조회분담금 입금의 원천입니다. 이 앱의 회수·분담액과 회수일을 고객 계정 항목과 대조해 회수 완료·대기·기한 경과 판정을 확인합니다.
KE30수익성 분석 보고제품 그룹 단위 수익성 보고와 나란히 놓고 무상 출하 비용이 손익에 주는 몫을 확인합니다. 보고서 정의는 회사 설정에 따라 다르므로 확인 필요입니다.

S/4HANA 분석 스택과의 자리

S/4HANA 의 표준 CDS 분석 쿼리와 Fiori 분석 앱, Analysis for Office 는 표준 데이터를 정해진 관점으로 보는 데 강합니다. 이 앱은 무상 출하라는 특정 주제에서 열 개 차원 피벗, 요인분해, 사유, 에이전트까지 한 흐름으로 묶는 자리를 맡습니다. 표준 앱 가운데 무상 출하 비용에 그대로 맞는 것이 있는지는 설치 환경에서 확인해야 하므로 이 글에서는 앱 이름을 특정하지 않습니다(확인 필요).

확장 포인트 — 운영에서 실제로 손대는 자리

자리무엇을 손대나누가
무상 출하 식별 조건오더 유형·품목 범주를 목적 코드로 묶는 기준 테이블 값영업 지원 · 구매
제품 원가 단가외화 단가의 원천(자재 원가 등)과 기준 시점원가 · 재무
부대비 가산율인코텀즈별 운임·보험·통관 가산 정책물류 · 재무
사전 승인 원천승인 문서나 워크플로우와의 연결영업 지원 · IT
확장 필드목적·승인 번호를 오더에 싣는 사용자 정의 필드 또는 BAdIIT
권한사업부·플랜트 단위 읽기 권한보안 · 권한

분석 지표 정의표

지표산식·판정 기준대응 기능원천 데이터비고
제품 원가수량 × 외화 단가 × 환율분석 항목 · 표출고 수량 · 자재 원가 단가(확인 필요)값은 참고용
부대비제품 원가 × 부대비 가산율분석 항목 · 에이전트부대비 정책(확인 필요)가정값
무상 출하 비용제품 원가 + 부대비분석 항목산출값
미승인 출하 비용사전 승인이 없는 출하의 비용분석 항목 · 에이전트승인 원천(확인 필요)
회수·분담액입금된 회수·분담금분석 항목FBL5N 계정 항목(확인 필요)
순부담 · 순부담률비용 − 회수 · 순부담 ÷ 비용분석·계산 항목 · 에이전트산출값기본 임계 96%
계획 대비 차이 6요인연쇄 대체 방식 분해기준 대비 · 워터폴연초 확정 예산과 비교합계 대사
이 앱은 점검 도구입니다. 비용 처리와 금액의 최종 판단은 회사와 감사인이 합니다. 법령 조문과 요건, 회계 기준 문단은 이 글에 적지 않았고 확인이 필요한 값은 “확인 필요”로 표시했습니다.

CDS 구성 — 최대한 자세히

뷰 레이어 구성

기준 테이블에서 시작해 차원 · 원천 줄 · 계산 · 큐브 · 쿼리 · 권한 · 서비스 순으로 쌓습니다. 레이어를 나눈 이유는 정책이 바뀌는 자리(식별 조건, 단가, 가산율)를 한 곳씩만 고치게 하려는 것입니다.

레이어뷰하는 일왜 나누나
기준ZFOC_MAP오더 유형·품목 범주를 목적과 제품 그룹으로 매핑무상 출하의 정의는 회사마다 달라 값을 뷰에 박지 않고 표로 뺍니다
차원ZI_FocPurpose목적 코드의 이름·정렬큐브에서 이름을 조인하면 집계가 느려져 차원을 따로 둡니다
원천 줄ZI_FocShipItem출고 문서 줄에 오더와 거래 조건을 붙여 무상 출하 한 줄을 만듦드릴스루가 읽는 가장 작은 단위를 한곳에 둡니다
계산ZI_FocCost단가·환율·부대비율을 곱해 원가와 비용 계산정책이 바뀌어도 이 뷰만 고치면 되게 합니다
큐브ZC_FocCube출하월·목적·제품 그룹·국가·인코텀즈 키로 합산화면이 한 번에 읽는 집계 단위이며 합계 대사의 기준입니다
쿼리ZQ_FocCostAnalysis필터와 기본 축을 얹은 소비 뷰서비스는 이 뷰만 게시하면 되도록 합니다
권한ZC_FocCube (DCL)사업부·플랜트 범위로 읽기 제한집계 단계에서 걸어야 합계의 뺄셈으로 다른 범위가 드러나지 않습니다
서비스서비스 정의 · 바인딩쿼리를 OData V2 로 게시화면은 서비스 주소만 알면 됩니다

아래 코드는 구현 참고용 스케치이며 그대로 활성화되는 코드가 아닙니다. 단가와 부대비 정책을 담는 객체는 회사 정책에 따라 별도로 정의해야 하며 확인 필요입니다.

① 목적·제품 그룹 매핑 테이블 ZFOC_MAP

무상 출하를 식별하고 목적(샘플·판촉물·보증 교체·마케팅)으로 묶는 기준 테이블입니다. 오더 유형·품목 범주는 회사 구성에 따라 달라 이 표에서 정합니다.

" ─────────────────────────────────────────────────────────────
" ZFOC_MAP — 무상 출하 목적 매핑
" 역할 : 무상 출하로 보는 오더 유형·품목 범주와 목적 코드(SMP/PRM/WRT/MKT)를 잇는다.
" 나눈 이유 : 어떤 오더가 무상 출하인지는 회사 구성(오더 유형·품목 범주)에 따라
"            달라지므로 뷰에 값을 박지 않고 기준 테이블로 뺀다. 값은 확인 필요.
" ─────────────────────────────────────────────────────────────
@EndUserText.label : '무상 출하 목적 매핑'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table zfoc_map {
  key mandt    : mandt not null;
  key auart    : auart not null;        " 판매오더 유형 (확인 필요)
  key pstyv    : pstyv not null;        " 품목 범주 (확인 필요)
  purpose      : abap.char(3);          " SMP 샘플 · PRM 판촉물 · WRT 보증 교체 · MKT 마케팅
  prod_group   : abap.char(3);          " 제품 그룹 (자재 그룹 매핑)
  valid_from   : abap.dats;
  valid_to     : abap.dats;
}

② 차원 뷰 ZI_FocPurpose

목적 코드의 이름과 정렬 순서를 한곳에서 제공합니다. 화면의 차원 값 선택 창이 이 뷰를 읽습니다.

" ───────────────────────────────────────────────────────────
" ZI_FocPurpose — 출하 목적 차원
" 역할 : 목적 코드 → 이름·정렬. DimValueSet 의 원천.
" 나눈 이유 : 큐브에서 이름을 조인하면 집계가 느려지므로 차원은 따로 둔다.
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #NOT_REQUIRED
@EndUserText.label : '출하 목적 차원'
@ObjectModel.dataCategory : #TEXT
@Analytics.dataCategory : #DIMENSION
define view entity ZI_FocPurpose
  as select distinct from zfoc_map
{
  key purpose                        as Purpose,
      @Semantics.text : true
      case purpose
        when 'SMP' then '샘플'
        when 'PRM' then '판촉물'
        when 'WRT' then '보증 교체'
        when 'MKT' then '마케팅'
        else '기타' end              as PurposeText
}

③ 원천 줄 뷰 ZI_FocShipItem

출고 문서 줄에 판매오더와 거래 조건을 붙여 무상 출하 한 줄을 만듭니다. 제품 원가 단가와 부대비율의 원천은 회사 정책에 따라 확인 필요입니다.

" ───────────────────────────────────────────────────────────
" ZI_FocShipItem — 무상 출하 원천 줄
" 역할 : 출고(LIKP/LIPS) + 판매오더(VBAK/VBAP) + 거래 조건(VBKD)
" 나눈 이유 : 줄 단위 원천을 한 번 정의해 큐브·드릴스루가 같이 쓰게 한다.
" 확인 필요 : 제품 원가 단가(UnitFc)와 부대비율(LoadRate)의 원천
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '무상 출하 원천 줄'
define view entity ZI_FocShipItem
  as select from likp
    inner join lips on lips.vbeln = likp.vbeln
    inner join vbap on vbap.vbeln = lips.vgbel and vbap.posnr = lips.vgpos
    inner join vbak on vbak.vbeln = vbap.vbeln
    inner join zfoc_map as m on m.auart = vbak.auart and m.pstyv = vbap.pstyv
    left outer join vbkd on vbkd.vbeln = vbap.vbeln and vbkd.posnr = '000000'
{
  key likp.vbeln                      as DlvDoc,
  key lips.posnr                      as DlvItem,
      vbak.vbeln                      as SoDoc,
      likp.wadat_ist                  as ShipDate,
      lips.matnr                      as Material,
      lips.werks                      as Plant,
      m.purpose                       as Purpose,
      m.prod_group                    as ProdGroup,
      vbkd.inco1                      as Incoterms,
      @Semantics.quantity.unitOfMeasure : 'Unit'
      lips.lfimg                      as Qty,
      lips.vrkme                      as Unit
}
where likp.wadat_ist is not initial

④ 비용 계산 뷰 ZI_FocCost

출하 줄에 외화 단가·환율·부대비율을 곱해 제품 원가와 부대비, 비용을 계산합니다. 환율과 부대비율은 샘플의 가정값이며 운영에서는 회사 기준으로 바꿉니다.

" ───────────────────────────────────────────────────────────
" ZI_FocCost — 줄 단위 비용 계산
" 역할 : 비용 = 제품 원가 + 부대비,  제품 원가 = 수량 × 외화 단가 × 환율
"        부대비 = 제품 원가 × 부대비 가산율
" 나눈 이유 : 계산식을 한곳에 두어 화면·보고서·감시 규칙이 같은 값을 읽는다.
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '무상 출하 비용 계산'
define view entity ZI_FocCost
  as select from ZI_FocShipItem as s
    association [0..1] to ZFOC_UnitFc  as _Price on _Price.Material = s.Material
    association [0..1] to ZFOC_LoadPol as _Load  on _Load.Incoterms = s.Incoterms
{
  key s.DlvDoc, key s.DlvItem,
      s.Purpose, s.ProdGroup, s.Plant, s.Incoterms,
      @Semantics.amount.currencyCode : 'Currency'
      cast( s.Qty * _Price.UnitFc * _Price.FxRate as abap.curr(17,0) )              as Goods,
      @Semantics.amount.currencyCode : 'Currency'
      cast( s.Qty * _Price.UnitFc * _Price.FxRate * _Load.LoadRate / 100
            as abap.curr(17,0) )                                                      as Load,
      cast( 'KRW' as abap.cuky )                                                      as Currency
}

⑤ 실적 큐브 ZC_FocCube

원천 줄을 출하월·목적·제품 그룹·국가·인코텀즈 키로 합산합니다. 화면의 CubeSet 이 이 뷰를 읽습니다.

" ───────────────────────────────────────────────────────────
" ZC_FocCube — 실적 큐브
" 역할 : 원천 줄을 6개 키로 합산. 비용 = 제품 원가 + 부대비
" 나눈 이유 : 화면이 줄 단위를 읽으면 느리므로 합산은 서버에서 한다.
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '무상 출하 비용 큐브'
@Analytics.dataCategory : #CUBE
@ObjectModel.usageType : { serviceQuality : #D, sizeCategory : #XL, dataClass : #TRANSACTIONAL }
define view entity ZC_FocCube
  as select from ZI_FocCost as c
    inner join ZI_FocShipItem as s on s.DlvDoc = c.DlvDoc and s.DlvItem = c.DlvItem
{
  key cast( left( cast( s.ShipDate as abap.char(8) ), 6 ) as abap.char(6) )  as Period,
  key c.Purpose, key c.ProdGroup, key c.Plant, key c.Incoterms,
      @Semantics.amount.currencyCode : 'Currency'
      @Aggregation.default : #SUM  sum( c.Goods )                            as Goods,
      @Semantics.amount.currencyCode : 'Currency'
      @Aggregation.default : #SUM  sum( c.Load )                             as Load,
      @Semantics.amount.currencyCode : 'Currency'
      @Aggregation.default : #SUM  sum( c.Goods + c.Load )                   as Cost,
      c.Currency
}
group by left( cast( s.ShipDate as abap.char(8) ), 6 ),
         c.Purpose, c.ProdGroup, c.Plant, c.Incoterms, c.Currency

⑥ 분석 쿼리 ZQ_FocCostAnalysis

큐브 위에 필터와 기본 축을 얹은 소비 뷰입니다. OData 서비스는 이 뷰를 게시합니다.

" ───────────────────────────────────────────────────────────
" ZQ_FocCostAnalysis — 분석 쿼리 (소비 뷰)
" 역할 : 필수 필터(회사코드·기간)와 기본 행·열 축 정의
" 나눈 이유 : 큐브는 재사용하고 화면별 정의는 쿼리에 둔다.
" ───────────────────────────────────────────────────────────
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '무상 출하 비용 분석'
@Analytics.query : true
@OData.publish : true
define view entity ZQ_FocCostAnalysis
  as select from ZC_FocCube
{
  @AnalyticsDetails.query.axis : #ROWS
  @Consumption.filter : { selectionType : #INTERVAL, mandatory : true }
  key Period,
  @AnalyticsDetails.query.axis : #ROWS
  key ProdGroup,
  @AnalyticsDetails.query.axis : #COLUMNS
  key Purpose,
  key Plant,
  key Incoterms,
  @AnalyticsDetails.query.axis : #COLUMNS  Cost,
  @AnalyticsDetails.query.axis : #COLUMNS  Goods,
  @AnalyticsDetails.query.axis : #COLUMNS  Load
}

⑦ 권한 DCL ZC_FocCube

사업부·플랜트 범위로 읽기 권한을 제한합니다. 권한 객체와 필드 매핑은 회사의 권한 설계에 맞춰 확인 필요입니다.

" ───────────────────────────────────────────────────────────
" ZC_FocCube — 접근 제어(DCL)
" 역할 : 플랜트 권한 객체로 읽을 수 있는 큐브 행을 제한한다.
" 확인 필요 : 사용할 권한 객체와 필드 매핑(회사 권한 설계)
" ───────────────────────────────────────────────────────────
@EndUserText.label : '무상 출하 큐브 접근 제어'
@MappingRole : true
define role ZC_FocCube {
  grant select on ZC_FocCube
    where ( Plant ) = aspect pfcg_auth( M_MSEG_WMB, WERKS, ACTVT = '03' );
}

운영 시점에 해야 할 일

개발보다 정하는 일이 많습니다. 아래를 먼저 합의하면 기술 작업은 CDS 뷰와 권한, 서비스를 만드는 일로 줄어듭니다.

해야 할 일무엇을 정하나정하지 않으면누가
무상 출하 식별 조건어떤 오더 유형·품목 범주를 무상 출하로 볼지유상 출하가 섞이거나 무상 출하가 빠집니다영업 지원 · 구매
목적 분류샘플·판촉물·보증 교체·마케팅을 어떤 기준으로 가르는지출하 목적 축이 의미를 잃습니다영업 지원 · 마케팅
제품 원가 단가 원천어느 원가를 어느 시점에 쓰는지비용이 실제와 다르게 나옵니다원가 · 재무
환율 유형과 기준일출하일 환율인지 월말 환율인지환율 요인이 어긋납니다재무
부대비 가산 정책인코텀즈별 운임·보험·통관 가산율부대비 가산율 규칙이 기준을 잃습니다물류 · 재무
사전 승인 원천승인 문서·워크플로우와의 연결미승인 출하 비용을 믿을 수 없습니다영업 지원 · IT
회수·분담 대응 조건분담금 입금과 출하 줄을 짝짓는 키회수 상태 판정이 흔들립니다채권 · 재무
회수 기한 규칙출하 후 며칠을 기한으로 볼지(샘플은 60일 가정값)회수 기한 경과 금액이 달라집니다영업 · 채권
계획 원천과 버전연초 확정 예산을 어디서 어떤 버전으로 가져오는지기준 대비 차이를 믿을 수 없습니다기획
권한 설계사업부·플랜트 단위 권한 객체와 필드 매핑집계로 다른 범위 숫자가 드러납니다보안 · 권한
표준 대사 체계FB03 · FBL5N 과 맞출 항목과 주기숫자가 틀려도 알아챌 자리가 없습니다재무 · 감사 대응
전송과 서비스 게시전송(TR) 순서, 서비스 활성화, 화면의 서비스 주소 교체운영에서 화면이 샘플을 읽거나 열리지 않습니다IT

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

리포트에서 가장 비싼 질문은 “이 숫자 맞아?” 입니다. 먼저 대사식을 세워 전수로 돌린 결과이며, 위 사례의 숫자도 이 검증을 거친 값입니다. 브라우저 자동 시험은 29항목이 모두 통과했고 콘솔 오류는 0건이었습니다.

대사검사 건수차이 건수의도적 예외
큐브 합계 = 원천 줄 합계(금액·수량·줄 수 9개 항목)900
항등식(사전 승인 + 미승인 = 비용 · 비용 − 회수 = 순부담 · 제품 원가 + 부대비 = 비용)300
요인 합 = 총차이100
통화별 외화 값 합계(USD · EUR · JPY · CNY)400
드릴스루 4칸 합계 일치400
축 이동 중 서버 요청100
회수 기한 경과 미입금(LATE)494줄-494줄 (일부러 넣은 예외 목록)

대사 항목은 전부 차이 0입니다. 회수 기한 경과 494줄은 일부러 넣은 예외 목록이며, 예산에는 있었으나 나가지 않은 36개 조합과 예산에 없던 115개 조합도 일부러 넣었습니다.

샘플 데이터 규모값
원천 줄4,975줄 (무상 출하 문서 4,975건)
집계 큐브864행(실적) · 749행(계획)
무상 출하 비용(실적)24,901,777,383원
무상 출하 비용(계획)19,920,535,843원
회수·분담액2,902,926,435원
순부담21,998,850,948원 (비용 대비 88.3%)
미승인 출하 비용2,845,963,822원

운영 데이터로 갈 때

이 샘플의 원천은 4,975줄이라 큐브 전체를 읽어도 부담이 없습니다. 수천만 건 규모에서는 큐브 집계를 데이터베이스에서 하고, 회사코드와 기간을 필수 조건으로 두며, 인덱스와 응답 시간 기준을 정해야 합니다. 응답 시간은 운영 데이터 기준으로 다시 측정해야 합니다.

자주 묻는 질문

도입을 검토할 때 자주 나오는 질문을 네 묶음으로 정리했습니다.

숫자와 산식

이 앱의 숫자로 비용 처리를 확정할 수 있습니까?

아닙니다. 이 화면은 점검 도구이며 최종 판단은 회사와 감사인이 합니다. 이 글에는 법령의 조문이나 회계 기준 문단을 적지 않았고, 확인하지 못한 값은 “확인 필요”로 표시했습니다. 화면의 숫자는 점검과 대사를 돕는 참고 값이며, 확정은 표준 문서와 맞춘 뒤에 하십시오.

무상 출하 비용은 어떻게 계산합니까?

출하 수량에 외화 단가를 곱하고 환율을 곱해 제품 원가를 원화로 만든 뒤, 인코텀즈별 부대비 가산율을 곱한 부대비를 더합니다. 이 앱의 단가·환율·가산율은 검증용 샘플의 가정값이고, 운영에서는 자재 원가와 회사 정책에서 가져옵니다. 원천이 정해지기 전에는 “확인 필요”입니다.

순부담은 무엇입니까?

무상 출하 비용에서 회수·분담액을 뺀 금액으로 회사가 최종 떠안는 몫입니다. 샘플에서는 비용 24,901,777,383 원 가운데 2,902,926,435 원이 회수·분담되어 순부담이 21,998,850,948 원, 비용의 88.3% 입니다. 순부담률은 합계 금액으로 다시 나눠 계산하므로 칸마다 비율을 평균내는 오차가 없습니다.

회수 기한 경과(LATE)는 어떻게 판정합니까?

회수·분담 대상인데 기한이 지났고 입금이 없는 줄입니다. 샘플은 출하 후 60일을 가정값으로 두었으며, 기한 계산 규칙은 회사마다 정해야 하므로 운영 값은 확인 필요입니다. 회수가 실제로 가능한지는 영업과 채권 담당이 확인합니다.

샘플 데이터의 LATE 494줄은 왜 있습니까?

점검 화면이 회수 기한 경과 금액을 어떻게 보여 주는지 확인하려고 검증용 샘플에 일부러 넣은 예외 목록입니다. 순부담 가운데 약 2,591,498,905 원이 여기에 해당합니다. 운영 데이터의 비율을 뜻하지 않습니다.

차이 요인분해는 어떤 방식입니까?

요인을 계획 값에서 실적 값으로 한 번에 하나씩 바꿔 가며 변화분을 구하는 연쇄 대체 방식입니다. 그래서 여섯 요인의 합이 실적과 계획의 차이와 항상 같고, 화면의 검산 줄이 오차를 0으로 보여 줍니다. 요인의 순서를 바꾸면 요인별 금액은 달라질 수 있지만 합은 변하지 않습니다.

외화와 환율은 어떻게 처리합니까?

원가 단가는 통화별 외화 값으로 두고 환율을 곱해 원화로 환산하며, 통화별 외화 합계도 따로 보관해 대사합니다. 환율이 달라서 생긴 몫은 요인분해의 환율 요인으로 따로 잡힙니다. 환율 유형과 기준일은 회사가 정할 일이라 “확인 필요”입니다.

화면과 조작

조회는 어떻게 실행합니까?

조건 영역 오른쪽 끝의 조회 버튼을 누르거나 조건 입력 칸에서 Enter 키를 누릅니다. 필수 조건은 회사코드와 시작·종료 기간입니다. 시작 기간이 종료 기간보다 늦으면 안내가 뜹니다.

축을 바꾸면 서버를 다시 부릅니까?

아닙니다. 조회 때 읽은 큐브를 브라우저에서 다시 집계하므로 행·열을 옮기고 값을 고르는 동안 요청이 늘지 않습니다. 축을 옮기는 동안 서버 요청이 0건이고 총합이 바뀌지 않는지를 자동 시험으로 확인합니다.

열은 몇 단계까지 쌓을 수 있습니까?

열 조합이 최대 36개까지 가능합니다. 넘으면 표를 그리지 않고 열 차원이나 선택값을 줄이라는 안내가 나옵니다. 행은 단계가 깊어져도 표시 행 수 상한 안에서 그립니다.

칸을 눌렀을 때 보이는 줄은 칸 금액과 같습니까?

같아야 하며, 자동 시험이 네 개 칸의 합계를 비교해 모두 일치함을 확인했습니다. 창 위에는 칸 조건과 합계가 나오고 줄이 많으면 더 보기로 이어 읽습니다.

차이 사유는 어디에 저장됩니까?

서비스의 사유 집합에 조회 범위와 행 경로를 키로 저장됩니다. 새로 고쳐도 같은 행에 남고, AI 분석 근거와 CSV 에도 함께 실립니다. 검증용 환경에서는 샘플 파일에 기록됩니다.

모바일에서도 쓸 수 있습니까?

폭 390px 기준으로 표와 차트가 위아래로 쌓이고 표는 가로로 밀어 봅니다. 손잡이는 가로 배치에서만 씁니다. 큰 표를 편하게 보려면 태블릿 이상을 권합니다.

분석 기능

AI 분석은 숫자를 직접 만듭니까?

아닙니다. 금액과 비율은 서비스가 먼저 계산하고, 해설은 그 숫자를 읽어 문장으로 풀 뿐입니다. 근거 수치 표를 펼쳐 문장과 대조할 수 있고, 규칙 기반 해설이 기본이라 같은 범위에서는 같은 문장이 나옵니다.

AI 에이전트는 무엇을 점검합니까?

다섯 규칙입니다. 계획 대비 무상 출하 비용 차이 금액, 미승인 출하 비용 금액, 순부담률 상한, 회수 기한 경과 미회수 금액, 부대비 가산율 상한입니다. 규칙마다 기준값과 받는 역할을 고칠 수 있습니다.

에이전트는 사람이 화면을 닫아도 돕니까?

이 샘플에서는 화면이 열려 있는 동안 하루 한 번 점검하는 타이머와 지금 실행 버튼으로 돕니다. 같은 날 두 번째 실행은 건너뜁니다. 운영에서는 배치 잡으로 옮겨 화면과 무관하게 돌리는 것이 맞고, 그 구성은 도입 때 정합니다.

보고서(PPTX)는 서버에 남습니까?

남지 않습니다. 보고 있는 범위의 표와 차트가 브라우저 안에서 만들어져 바로 내려받아집니다. 만든 파일의 장 수와 숫자는 화면과 같습니다.

도입과 운영

표준 T-code 를 없애야 합니까?

아닙니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다. VA03 · VL03N · VF03 · FB03 · FBL5N · KE30 은 원천 확인과 대사에 그대로 씁니다. 법정·감사 대응도 표준에 남겨 둡니다.

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

원천 뷰와 매핑 테이블을 만들고 쿼리·권한·서비스를 게시한 뒤 화면의 서비스 주소를 바꿉니다. 정할 일이 개발보다 많아서, 이 글 CDS 절의 운영 시점 표를 먼저 합의하는 것을 권합니다. 소요 기간은 원천 정리 정도에 달려 있어 확정해 말씀드리기 어렵습니다.

권한은 어떻게 겁니까?

사업부·플랜트 단위의 표준 권한을 쿼리의 접근 제어로 겁니다. 드릴스루에만 걸면 집계 합계의 뺄셈으로 다른 범위의 숫자가 드러날 수 있으므로 집계 단계에서 걸어야 합니다.

데이터가 아주 많아지면 어떻게 됩니까?

이 샘플의 원천은 4,975줄이라 큐브 전체를 읽어도 부담이 없습니다. 수천만 건 규모에서는 큐브 집계를 데이터베이스에서 하고, 기간과 회사코드를 필수 조건으로 두고, 인덱스와 응답 시간 기준을 정해야 합니다. 이 부분은 운영 데이터 기준으로 다시 측정해야 합니다.

목적 분류나 매핑이 바뀌면 어떻게 합니까?

오더 유형·품목 범주와 목적을 잇는 매핑은 테이블이므로 현업이 직접 고치면 됩니다. 매핑이 바뀐 기간의 비교는 요인분해의 미계획 출하 또는 계획 미이행으로 드러납니다. 기준 변경 이력은 변경자와 변경일로 남기는 것을 권합니다.

적용 시기와 범위는 어떻게 됩니까?

확인된 사실만 말씀드리면, 이 글의 화면은 검증용 샘플 데이터(출하월 2026-01~2026-09, 무상 출하 문서 4,975건)로 시연한 것입니다. 실제 회사에 적용할 시기와 범위는 원천 정리와 합의가 끝나야 정해지며 지금은 확인 필요입니다.

도입하면 누가 가장 먼저 효과를 봅니까?

무상 출하 비용을 마감 때마다 모아 맞추는 영업 지원과 경영지원 담당이 먼저 체감합니다. 같은 큐브에서 역할별 요약이 나오므로 CEO · CFO · 영업 · 물류가 같은 숫자를 각자의 순서로 읽게 됩니다. 효과의 크기는 현재의 수작업 정도에 달려 있어 수치로 단정하지 않습니다.

이 숫자가 틀리면 책임은 누구에게 있습니까?

점검 도구이며 최종 판단은 회사와 감사인이 합니다. 이 화면은 숫자가 어디서 났는지 줄까지 내려가 확인하게 도울 뿐입니다. 비용 처리와 금액은 반드시 표준 문서와 대사해서 확정하십시오.