제조원가

준비(셋업) 원가 점검 — 제조원가, 로트마다 든 준비시간과 소모자재를 원가로 바꿔 표준과 견주는 월마감 화면

로트별 준비시간 · 준비원가 · 표준 대비 차이 · 로트 크기와 준비원가 비중 · 작업장 원가풀 · 아홉 가지 대사식 — 소개 영상과 실제 화면 8종, 그리고 CDS 코드까지

소개 영상1분 48초10개 장면음성 안내·자막장면 흐름 요약

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

매월 제조원가를 점검할 때, 로트별 준비시간과 소모자재의 원가 기여, 그리고 표준 대비 초과 원인 파악에 어려움을 겪으십니까? 이 앱은 생산오더별 실적 준비원가를 계산하고 표준과 비교하며, 로트 크기, 작업장 원가풀 배부액까지 통합 점검하여 원가 관리의 투명성을 확보합니다.

한 줄 요약 — SAP 표준 원가 집계 데이터를 기반으로 준비원가를 재계산하고 표준과 대사하여 비효율 로트/품목/월을 식별하며, 9가지 대사식으로 원가 정합성을 검증합니다.

핵심 포인트 여섯 가지

핵심 포인트고객이 얻는 것지금 방식이라면
① 로트 단위 초과 원가 점검실적 준비시간이 표준의 120%를 초과했거나 준비원가 비중이 15%를 넘는 로트(샘플 47건/206건)를 판정하여, 즉각적인 원인 확인이 필요한 대상을 명확히 제시합니다.월별 총액만으로 로트 단위의 비효율을 파악하기 어려워 개선 기회를 놓칠 수 있습니다.
② 로트 크기에 따른 비용 부담로트 크기가 작아 개당 준비원가 비중이 품목별 한도를 초과하는 품목·월을 식별하여, 생산 로트 통합 및 최적화 검토의 근거를 제공합니다.로트 크기가 작은 품목의 높은 단위 준비원가 비중이 전체 합계에 가려져 관리되지 않습니다.
③ 작업장 원가풀 정합성 검증작업장 활동 원가풀 대비 미배부 차이 절대값이 3%를 초과하는 작업장·월을 점검 대상으로 알려 드려, 원가 배부의 정확성과 신뢰도를 확보합니다.확정 지연이나 단가 변경 시 발생하는 미배부 차이를 월 마감 시점에 수동으로 대사해야 합니다.
④ 월별 원가 비중 이상 추이월별 준비원가 비중이 7%를 초과하는 달과 해당 월의 점검 필요 로트 수를 함께 보여 줘, 집중 관리할 시점과 그 내부 요인을 빠르게 인지하도록 돕습니다.월별 준비원가 추이만으로는 어떤 달에 비효율이 집중되었는지, 그 원인이 무엇인지 즉시 알기 어렵습니다.
⑤ 제조원가 정합성 자동 검증준비원가 계산식, 활동원가 배부식 등 9가지 핵심 대사식을 모든 데이터에 전수 검산하여, SAP 원장 데이터의 정합성과 보고서 신뢰도를 자동 확인합니다.수작업으로 여러 리포트를 대조하며 원가 집계 및 배부의 정합성을 검증하는 데 많은 시간이 소요됩니다.
⑥ SAP 표준 기능 연계 및 확장SAP 표준 작업장/라우팅 마스터 및 생산오더 실적을 활용해 원가 점검 로직을 구현하여, 기존 SAP 시스템과의 정합성을 유지하며 분석 관점을 확장합니다.현장의 준비 기록과 SAP 시스템의 분산된 데이터를 수동으로 통합해야 제조원가 분석이 가능합니다.

사례로 보는 효과

6개월간 준비원가는 로트원가의 6.99%(6,326만 원)로 보이나, 모터 하우징 같은 소형 로트 품목은 여섯 달 모두 품목별 한도를 초과했습니다. 또한, 전체 206개 로트 중 47건은 점검 필요 대상으로, 이 로트들의 준비원가 비중은 11.84%로 전체 평균의 약 2배에 달하는 비효율을 보여줍니다.

도입하면 달라지는 것

  • 월마감 전 제조원가 점검 시간이 단축됩니다.
  • 로트 단위 비효율을 조기에 발견하고 개선합니다.
  • 원가 데이터의 정합성과 신뢰성이 향상됩니다.
  • 분산된 원가 데이터를 통합하여 신속하게 분석합니다.

이런 회사에 맞습니다

제조원가(준비·셋업 원가)를 월마감 전에 점검하고, 로트 단위 비효율 개선 및 원가 데이터 신뢰도 향상을 목표로 하는 제조 기업의 재무, 관리회계, 생산 관리 팀에 적합합니다.

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

점검 도구에서 가장 비싼 질문은 “이 숫자 맞아?”입니다. 그래서 화면을 만들기 전에 대사식 아홉 개를 먼저 세우고 자료 전수에 돌렸습니다.

대사대사식검사 건수차이 건수최대 차이
R01준비원가 = 준비 활동원가 + 준비 소모자재비20600
R02준비 활동원가 = 실적 준비시간 × 활동단가20600
R03표준 준비원가 + 차이 = 실적 준비원가20600
R04로트원가 = 준비원가 + 가공원가20600
R05실적 준비시간 = 표준 준비시간 + 준비시간 차이20600
R06단위 준비원가 = 준비원가 ÷ 로트수량(반올림 ±0.005 허용)20600.005
R07로트 합계 = 품목 합계 = 작업장 합계 = 월 합계(준비원가)600
R08활동 원가풀 = 로트 배부액 + 미배부 차이3600
R09작업장 배부액 = 해당 작업장 로트의 준비 활동원가 합계3600

아홉 대사식 모두 차이 건수 0건입니다(검사 1,314건). R06 의 최대 차이 0.005 는 반올림 허용 범위입니다. 이와 별도로 판정 기준에 걸리는 건을 일부러 넣었습니다. 점검 필요 로트 47건(시간 초과 20건 · 비중 초과 24건 · 둘 다 3건), 점검 필요 품목·월 18행(한도 초과 11행 · 차이율 초과 6행 · 둘 다 1행), 점검 필요 작업장·월 2행, 점검 필요 월 3행이며, 이 건들은 대사 차이가 아니라 점검 대상이라 차이 건수에 넣지 않았습니다.

실행 화면

아래 화면은 가상의 작업장 6곳(CNC 선반 · 머시닝센터 · 프레스 라인 · 조립 라인 · 사출 성형기 · 도장 라인)과 가상의 품목 8종, 가상의 단가로 만든 검증용 샘플 데이터(2026년 1~6월)를 실제로 조회한 모습입니다. 로트 206건, 품목·월 48행, 작업장·월 36행이며, 실제 고객사 값이 아닙니다.

처음 열었을 때

열면 자동으로 한 번 조회해, 조회조건 아래에 요약 지표 일곱 개와 품목별 집계 표가 한꺼번에 나옵니다.

처음 열었을 때
처음 열었을 때 — 조회조건 · 요약 지표 · 품목별 집계 표가 한 화면에 보입니다.

맨 위 조회조건은 회계연도 · 전기 월 시작/종료 · 작업장 · 품목 · 점검 결과 여섯 칸이고 기본값은 2026년 전체입니다. 요약 지표는 준비원가 합계 63.3 · 표준 준비원가 61.4 · 준비원가 차이 +1.8(이상 백만 원) · 준비원가 비중 6.99% · 점검 필요 로트 47 · 점검 필요 품목 18 · 정합성 대사 차이 건수 0 순서입니다. 탭 이름 앞의 숫자는 조회된 건수입니다.

로트별 점검 — 한 줄이 준비 1회

두 번째 탭은 로트를 한 줄씩 보여 줍니다. 준비시간과 준비원가가 로트마다 표준과 얼마나 다른지 보는 자리입니다.

로트별 점검
로트별 점검 — 로트 206건의 표준·실적 준비시간과 준비원가를 한 줄씩 봅니다.

표준 준비시간과 실적 준비시간, 준비시간 차이, 활동단가, 준비 활동원가, 소모자재비, 준비원가, 표준 준비원가, 로트원가, 단위 준비원가와 비중이 한 줄에 나옵니다. 오른쪽 끝에 점검 결과와 점검 코드, 점검 내용이 붙습니다. 컬럼 제목을 눌러 정렬할 수 있고, 행을 누르면 상세 창이 열립니다.

점검 필요 로트만 걸러 보기
점검 필요 로트만 걸러 보기 — 점검 결과를 점검 필요로 고르면 47건만 남습니다.

조회조건의 점검 결과를 점검 필요로 두고 조회하면 로트 47건만 표에 남고, 요약 지표도 같은 조건으로 다시 계산되어 준비원가 비중이 11.84%로 올라갑니다. 준비시간이 표준의 120%를 넘었거나 준비원가 비중이 15%를 넘은 로트이며, 점검 내용 칸에 어느 쪽에 걸렸는지 적힙니다. 조건을 전체로 되돌리고 다시 조회하면 206건으로 돌아옵니다.

품목별 집계 — 로트 크기를 한도와 견준다

품목·월 단위로 모으면 로트가 작아서 생기는 문제가 보입니다. 품목마다 한도가 다르므로 한도와 평균 로트수량을 함께 봅니다.

품목별 점검
품목별 점검 — 품목·월 단위 준비원가 비중과 품목별 한도를 견줍니다.

품목마다 로트 수, 평균 로트수량, 표준 준비원가와 실적 준비원가, 차이율, 단위 준비원가, 준비원가 비중, 비중 한도, 기준 로트수량이 한 줄에 나옵니다. 점검 결과를 점검 필요로 두면 18행이 남고, 모터 하우징과 커넥터 케이스는 여섯 달 모두 한도를 넘었습니다. 평균 로트수량이 기준 로트수량보다 작은지 함께 보면 로트를 합칠 후보가 보입니다.

작업장별 집계와 월별 추이

작업장 탭은 원가풀과 배부액을, 월 탭은 월 단위 비중을 봅니다. 둘 다 점검 판정이 함께 나옵니다.

작업장별 집계
작업장별 집계 — 활동 원가풀과 로트 배부액, 미배부 차이를 작업장·월마다 봅니다.

준비 횟수, 표준·실적 준비시간, 평균 준비시간, 활동단가, 활동 원가풀, 로트 배부액, 미배부 차이, 배부율이 나옵니다. 미배부 차이가 원가풀의 3%를 넘는 조립 라인 2월(-4.28%)과 사출 성형기 4월(+4.94%)이 점검 필요입니다. 작업장 조건을 걸면 한 작업장의 여섯 달만 볼 수 있습니다.

월별 추이
월별 추이 — 월 준비원가 비중과 점검 필요 로트 수를 6개월 나란히 봅니다.

월 준비원가 비중은 1월 7.26%, 2월 6.93%, 3월 6.65%, 4월 7.52%, 5월 7.22%, 6월 6.39%입니다. 7%를 넘는 1월, 4월, 5월이 점검 필요이고 점검 필요 로트 수는 4월과 5월이 10건으로 가장 많습니다. 달이 정상이어도 안에 점검 필요 로트가 있을 수 있어 건수를 함께 봅니다.

대사 결과와 행 클릭 상세

숫자를 믿어도 되는지는 대사 결과 탭에서, 점검 필요의 이유는 상세 창에서 확인합니다.

대사 결과
대사 결과 — 아홉 가지 정합성 식의 검사 건수 · 차이 건수 · 최대 차이를 봅니다.

아홉 대사식마다 좌변 · 우변 · 검사 건수 · 차이 건수 · 최대 차이가 나옵니다. 로트 대사식은 206건씩, 월·작업장 대사식은 6건 또는 36건씩 검사하며 차이는 모두 0건입니다. 차이 건수 칸은 0이면 정상색, 0이 아니면 경고색으로 바뀌어 그 숫자는 원천을 확인하라는 신호가 됩니다.

로트 행 클릭 상세
로트 행 클릭 상세 — 로트 행을 누르면 준비 활동원가와 소모자재비, 표준 대비 차이가 한 창에 열립니다.

상세 창은 위에서부터 로트와 품목, 표준·실적 준비시간, 활동단가, 준비 활동원가와 소모자재비, 표준 대비 차이, 점검 내용 순서입니다. 점검 필요 로트는 어떤 조건(L1~L3)에 걸렸는지와 확인할 일이 함께 적히고, 같은 품목의 다른 로트도 같이 볼 수 있습니다. 품목·작업장·월 행을 눌러도 같은 모양의 창이 열립니다.

화면 뒤에서 일어나는 일

조회 버튼을 누르면 화면은 조회조건을 필터로 바꿔 서비스에 요청하고, 받은 결과를 탭마다 다른 표에 바인딩합니다. 품목 탭 · 로트 탭 · 작업장 탭 · 월 탭 · 대사 탭이 각자 자기 데이터 묶음을 읽고, 행을 누르면 상세 창이 해당 로트나 월의 묶음을 따로 불러옵니다. 계산은 모두 서비스가 하고 화면은 값을 읽어 보여 주기만 합니다.

처리 단계하는 일산출식 또는 기준
① 시간을 원가로실적 준비시간에 활동단가를 곱하고 소모자재비를 더합니다준비 활동원가 = 실적 준비시간 × 활동단가, 준비원가 = 준비 활동원가 + 소모자재비
② 표준과 견주기표준 준비시간으로 표준 준비원가를 만들어 차이를 봅니다준비시간 차이 = 실적 − 표준, 표준 준비원가 + 차이 = 실적 준비원가
③ 로트 크기 보기개당 준비원가와 로트원가 중 비중을 봅니다단위 준비원가 = 준비원가 ÷ 로트수량, 준비원가 비중 = 준비원가 ÷ 로트원가 × 100
④ 원가풀과 맞추기작업장 활동 원가풀과 로트 배부액을 맞춥니다활동 원가풀 = 로트 배부액 + 미배부 차이
⑤ 집계 검산로트 · 품목 · 작업장 · 월 합계가 서로 맞는지 봅니다R07 ~ R09
⑥ 판정아래 표의 조건으로 점검 필요를 가립니다로트 L1~L3, 품목 P1~P3, 작업장 W1, 월 M1
대상판정 조건결과 상태사용자 조치
로트실적 준비시간이 표준의 120% 초과점검 필요 (L1)준비 작업 내역과 설비 상태, 작업 지시 변경 여부 확인
로트로트 준비원가 비중 > 15%점검 필요 (L2)로트 크기가 작지 않은지, 합쳐 생산할 수 있는지 확인
로트L1 과 L2 가 함께 해당점검 필요 (L3)시간 초과와 로트 크기를 함께 확인
품목 · 월준비원가 비중이 품목별 한도 초과점검 필요 (P1)평균 로트수량이 기준 로트수량보다 작은지, 로트 크기 기준 확인
품목 · 월표준 대비 준비원가 차이율 > 12%점검 필요 (P2)준비시간 차이가 큰 로트를 로트별 점검 탭에서 확인
품목 · 월P1 과 P2 가 함께 해당점검 필요 (P3)로트 크기와 준비시간을 함께 확인
작업장 · 월활동 원가풀 대비 미배부 차이 절대값 > 3%점검 필요 (W1)원가풀 전기 내역과 로트 확정 시간 확인
월월 준비원가 비중 > 7%점검 필요 (M1)해당 월의 점검 필요 로트와 품목 확인
전체위 조건에 해당 없음정상—

화면의 요약 지표 준비원가 비중은 로트원가 가중(준비원가 합계 ÷ 로트원가 합계)이고, 월별 비중의 단순 평균은 별도 조회용 함수가 돌려줍니다. 이 자료에서 그 평균은 6.995%이며, 두 값은 용도가 다르므로 화면에서는 가중 값만 지표로 씁니다.

조회조건

조회조건$filter 전송 형태필수 · 기본값적용 탭
회계연도Gjahr eq '2026'필수 · 기본 2026모든 탭
전기 월 시작 · 종료Period ge … and Period le … (둘 다 있으면 범위 한 쌍)선택모든 탭
작업장WorkCtr eq 'C110'선택 · 전체면 조건 생략품목별 · 로트별 · 작업장별
품목ProdCode eq 'FG101'선택 · 전체면 조건 생략품목별 · 로트별
점검 결과CheckStatus eq 'CHECK'선택 · 전체면 조건 생략품목별 · 로트별 · 작업장별 · 월별

결과 컬럼

컬럼의미산출식
준비 활동원가준비시간을 원가로 바꾼 값실적 준비시간 × 활동단가
준비 소모자재비준비에 쓴 소모자재 금액원천 확인 필요
준비원가로트에서 준비에 든 원가준비 활동원가 + 소모자재비
표준 준비원가표준 준비시간으로 본 원가표준 준비시간 × 활동단가 + 소모자재비
단위 준비원가개당 준비원가준비원가 ÷ 로트수량
준비원가 비중로트원가 중 준비원가 비율준비원가 ÷ 로트원가 × 100
미배부 차이원가풀에서 로트로 배부되지 않은 금액활동 원가풀 − 로트 배부액
점검 결과 · 코드 · 내용판정 상태와 걸린 조건위 판정 규칙표

좁은 화면에서 달라지는 것

조회조건은 줄바꿈되어 위아래로 배치되고, 결과 표는 가로로 스크롤됩니다. 상세 창은 화면 폭에 맞춰 줄어듭니다. 요약 지표는 한 줄에 들어가지 않으면 다음 줄로 내려갑니다.

파일 구성

setupcost/
  index.html · Component.js · manifest.json
  controller/ (BaseController · Main)   view/ (Main · DetailDialog)   model/ (formatter · ErrorHandler)
  css/ · i18n/
  odata/ 서비스 선언 · 서비스 로직 · 엔티티셋별 데이터
  media/ 소개 영상

SAP 표준 기능 확장 포인트

원가를 집계하고 전기하는 일은 SAP 표준 T-code가 담당하고, 이 화면은 그 결과를 조회 · 검증하는 관점을 더해 확장합니다. 표준 화면을 없애는 것이 아니라, 표준 화면 사이를 오가며 하던 대조를 한 화면으로 모읍니다.

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

하고 싶은 일표준 화면으로 되는 범위이 앱이 더하는 관점
로트(생산오더)의 공정과 확정 내역 확인CO03에서 생산오더의 공정과 확정 내역을 봅니다확정 준비시간과 표준을 로트 한 줄에 나란히 두고 표준을 넘은 로트를 점검 필요로 올립니다
오더별 원가 구성과 차이 확인KKBC_ORD에서 오더 원가를 선택해 분석합니다준비원가를 따로 떼어 비중과 단위 준비원가로 보여 줍니다
활동 원가풀을 이루는 전표 확인KSB1에서 코스트센터 개별 항목을 봅니다작업장 · 월 단위로 원가풀과 로트 배부액, 미배부 차이를 한 줄에 둡니다
활동유형 단가 확인KP26에서 활동유형 계획 단가를 봅니다로트에 적용된 단가와 준비 활동원가를 같이 보여 줍니다
활동 수량 배부 내역 확인KB21N에서 활동 배부 입력과 내역을 봅니다배부 결과가 로트 합계와 맞는지 대사식으로 확인합니다
작업장 용량과 코스트센터 연결 확인CR03에서 작업장 마스터를 열어 봅니다작업장 차원을 한 번만 읽어 모든 탭에 같은 이름을 씁니다
표준 준비시간 기준 확인CA03에서 라우팅과 공정의 표준 값을 봅니다표준 준비시간으로 표준 준비원가를 만들어 실적과 견줍니다
준비시간을 원가로 바꿔 표준과 견주고 로트 크기 영향 보기없음 — 준비원가를 로트 크기와 한도에 견주는 표준 보고서가 없어 보통 엑셀로 만듭니다준비원가 · 단위 준비원가 · 비중 · 기준 로트수량을 나란히 둡니다

T-code 별 연계 지점

T-code이름연계
CO03생산오더 표시이어받는 것 오더의 공정 · 확정 내역. 대사 지점 실적 준비시간으로 쓴 확정 시간 합계. 오가는 법 시간 초과(L1)가 걸린 로트는 CO03에서 확정 내역을 열어 준비 구분과 입력 시각을 확인합니다. 표준에 남길 일 오더 변경과 확정 정정.
KKBC_ORD오더별 원가 분석이어받는 것 오더 원가 구성. 대사 지점 로트 준비원가와 오더 원가 중 준비 몫. 오가는 법 비중 초과(L2) 로트는 오더 원가 분석에서 전체 구성을 확인합니다. 표준에 남길 일 오더 정산과 차이 처리.
KSB1코스트센터 개별 항목이어받는 것 활동 원가풀을 이루는 전표 라인. 대사 지점 작업장 원가풀 합계와 연결된 코스트센터 개별 항목 합계. 오가는 법 미배부 차이(W1)가 걸린 작업장 · 월은 KSB1에서 해당 코스트센터 전표를 열어 증가 항목을 찾습니다. 표준에 남길 일 전표 상세 조회와 증빙 확인.
KP26활동유형 계획 단가 변경이어받는 것 활동유형별 계획 단가. 대사 지점 로트에 적용된 활동단가. 오가는 법 단가가 달라 보이면 KP26에서 유효 기간과 단가를 확인합니다. 표준에 남길 일 단가 계획과 변경.
KB21N활동 배부 입력이어받는 것 활동 수량 배부 내역. 대사 지점 로트 배부액과 배부된 활동 수량. 오가는 법 배부액이 작업장 원가풀과 다르면 KB21N에서 배부 내역을 확인합니다. 표준에 남길 일 배부 입력과 정정.
CR03작업장 표시이어받는 것 작업장의 용량 · 코스트센터 · 활동유형 할당. 대사 지점 화면의 작업장과 코스트센터가 마스터와 같은지. 오가는 법 활동단가가 이상한 작업장은 CR03에서 활동유형 할당을 확인합니다. 표준에 남길 일 작업장 마스터 유지.
CA03라우팅 표시이어받는 것 공정의 표준 준비시간. 대사 지점 화면의 표준 준비시간이 라우팅 값과 같은지. 오가는 법 표준 대비 차이가 큰 품목은 CA03에서 표준 값이 현실과 맞는지 먼저 봅니다. 표준에 남길 일 라우팅 유지와 표준 값 개정.
기존 보고서를 없애야 하나요? 아닙니다. 표준 보고서는 그대로 두고, 월마감 전에 이 화면으로 준비원가 상태를 점검한 뒤 문제가 있는 로트와 작업장만 표준 화면으로 내려가 원인을 찾는 순서를 권합니다. 점검 화면은 표준 화면의 숫자를 바꾸지 않습니다.

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

S/4HANA에서는 CDS 뷰 위에 분석 쿼리를 만들고, Fiori 분석 앱이나 Analysis for Office로 읽는 구성이 일반적입니다. 이 앱은 그 구성과 경쟁하지 않고 같은 CDS 뷰를 OData 서비스로 노출하는 자리에 놓입니다. 분석 쿼리는 임의로 축을 바꿔 보는 데 좋고, 이 화면은 정해진 판정 기준으로 표준에서 벗어난 로트 · 품목만 골라 보여 주는 데 맞춰 둔 것입니다. 같은 시간 · 원가 뷰를 공유하므로 두 화면의 숫자는 갈라지지 않습니다.

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

자리고객사가 정하는 것손대는 방법
활동단가 기준작업장별 활동유형과 단가, 유효기간기준 테이블 한 곳에 행을 추가합니다. 화면 코드는 바꾸지 않습니다
준비시간 확정 구분확정 단계에서 준비와 가공을 어떻게 나눌지로트 뷰의 준비 시간 산출 자리 한 곳에서 정합니다 (확인 필요)
준비 소모자재 원천준비용 소모자재를 어떤 예약 · 소비로 볼지로트 뷰의 소모자재 산출 자리만 바꿉니다 (확인 필요)
품목별 비중 한도품목 특성별 준비원가 비중 한도기준표 값을 바꿉니다. 코드에 박지 않았습니다
판정 기준 값시간 초과 120%, 비중 15%, 차이율 12%, 미배부 3%, 월 비중 7%기준표 값을 바꿉니다
권한누가 어느 플랜트 · 작업장을 볼 수 있는지CDS 접근 제어(DCL)에서 표준 권한 객체로 겁니다
데이터원천 테이블 (예시, 확인 필요)비고
오더 마스터 · 헤더AUFK · AFKO로트 번호와 품목, 로트수량
오더 확정AFRU준비 구분 확정 시간은 확정 방식에 따라 다름
라우팅 공정PLPO · MAPL표준 준비시간
작업장 헤더 · 코스트센터 할당CRHD · CRCO
활동 원가풀COSS · COSP원가풀 집계 방식은 고객사 확인
준비용 소모자재RESB 등원천 확인 필요

분석 지표 정의표

이 화면은 회계 기준서의 요구사항을 점검하는 도구가 아니라 제조원가 지표를 점검하는 도구이므로, 요구사항 매핑표 대신 지표 정의표를 둡니다.

기준서 · 대상 영역지표대응 기능산출식비고
- · 제조원가준비원가로트별 점검 탭준비 활동원가 + 소모자재비원천 확인 필요
- · 제조원가준비원가 차이로트 · 품목 탭준비원가 − 표준 준비원가음수는 표준보다 적음
- · 제조원가단위 준비원가로트 · 품목 탭준비원가 ÷ 로트수량로트가 작을수록 커짐
- · 제조원가준비원가 비중모든 탭준비원가 ÷ 로트원가 × 100점검 기준은 로트 15%, 월 7%, 품목은 한도
- · 제조원가미배부 차이작업장별 집계 탭활동 원가풀 − 로트 배부액원가풀의 3% 초과 시 점검 필요

CDS 구성

아래는 이 화면이 읽는 값을 S/4HANA의 CDS 뷰로 세울 때의 구성 예시입니다. 객체 이름과 필드는 이 글에서 새로 지은 것이고, 표준 테이블(CRHD · CRCO · AFKO · AFRU)과 표준 필드 이름만 실재하는 것을 썼습니다. 준비 구분 확정과 준비용 소모자재의 원천은 회사마다 달라 확인 필요입니다.

뷰 레이어 구성

레이어뷰하는 일왜 나누나
기준활동단가 기준 테이블작업장별 활동단가 · 유효시작일 · 점검 기준을 들고 있습니다단가와 점검 기준을 코드가 아니라 데이터로 고칩니다
기초작업장 차원 뷰 · 로트 뷰작업장 마스터를 한 번만 조인하고, 확정 시간과 소모자재를 로트 한 줄 단위로 모읍니다원천이 달라도 한 모양으로 맞춰 위쪽 뷰가 원천을 모르게 합니다
큐브준비원가 큐브준비 활동원가와 준비원가를 계산합니다계산을 한 곳에 두어 화면 · CSV · 분석 쿼리가 같은 숫자를 씁니다
소비준비원가 점검 쿼리UI 주석과 필터 정의를 붙여 서비스로 내보냅니다화면 전용 필드를 큐브에서 떼어 둡니다
권한접근 제어(DCL)플랜트 권한을 겁니다집계 단계에서 걸어야 합계로 새지 않습니다
서비스서비스 정의 · 바인딩OData V2로 게시합니다화면이 부르는 주소가 서비스 한 곳으로 모입니다

① 활동단가 기준 테이블 — 작업장별 활동단가와 점검 기준

활동단가와 점검 기준은 작업장마다, 기간마다 다르므로 코드가 아니라 기준 테이블에 둡니다. 이 테이블이 비어 있으면 준비 활동원가가 0 으로 집계되므로 운영에서 가장 먼저 채워야 하는 자리입니다.

" ───────────────────────────────────────────────
" 준비원가 활동단가 기준 — 작업장 · 유효시작일 단위
" 단가와 점검 기준을 코드에 두지 않고 기간별로 관리하기 위해 나눈다
" ───────────────────────────────────────────────
@EndUserText.label : '준비원가 활동단가 기준'
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
define table zsetup_rate {
  key client     : abap.clnt not null;
  key werks      : werks_d not null;
  key arbpl      : arbpl not null;
  key valid_from : datum not null;
  act_rate       : abap.curr(11,0);
  waers          : waers;
  tol_hours_pct  : abap.dec(5,2);   " 준비시간 허용 초과율(%)
  share_lim_pct  : abap.dec(5,2);   " 로트 준비원가 비중 점검 기준(%)
}

② 차원 뷰 — 작업장

작업장 이름과 코스트센터를 한 곳에서만 읽게 합니다. 작업장 체계가 바뀌어도 이 뷰만 고치면 모든 탭이 같이 따라옵니다.

" ───────────────────────────────────────────────
" ZI_SetupWorkCenter — 작업장 차원
" 작업장 마스터(CRHD)와 코스트센터 할당(CRCO)을 한 번만 조인한다
" 위쪽 뷰가 작업장 이름과 코스트센터를 각자 읽지 않게 하려는 것이다
" ───────────────────────────────────────────────
@AccessControl.authorizationCheck : #NOT_REQUIRED
@EndUserText.label : '준비원가 — 작업장 차원'
@ObjectModel.representativeKey : 'WorkCenter'
define view entity ZI_SetupWorkCenter
  as select from crhd as wc
  inner join crco as co on co.objty = wc.objty and co.objid = wc.objid
{
  key wc.werks as Plant,
  key wc.arbpl as WorkCenter,
      wc.verwe as Category,
      co.kostl as CostCenter,
      co.lstar as ActivityType
}

③ 로트 뷰 — 준비시간과 소모자재를 로트 한 줄로

이 글에서 가장 회사마다 달라지는 자리입니다. 오더 확정에서 준비를 어떻게 구분하는지, 준비용 소모자재를 어떤 소비로 볼지가 여기서 정해지며, 두 값 모두 확인 필요로 남겼습니다.

" ───────────────────────────────────────────────
" ZI_SetupLot — 로트(생산오더) 단위 준비시간과 소모자재
" 원천: 오더 헤더(AFKO) · 오더 확정(AFRU) · 예약(RESB)
" 준비 구분 확정 시간과 준비용 소모자재의 구분 방식은 회사마다 달라 확인 필요
" ───────────────────────────────────────────────
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '준비원가 — 로트'
define view entity ZI_SetupLot
  as select from afko as hd
  inner join aufk as ak on ak.aufnr = hd.aufnr
{
  key hd.aufnr                          as OrderNo,
      ak.werks                          as Plant,
      hd.plnbez                         as Material,
      hd.gamng                          as LotQty,
      " 준비 구분 확정 시간(AFRU) 합계 — 확인 필요
      cast(0 as abap.dec(9,1))          as ActHours,
      " 준비용 소모자재 소비 금액(RESB 등) — 확인 필요
      cast(0 as abap.curr(15,0))        as SetupMat
}

④ 큐브 뷰 — 시간 → 원가 계산을 한 곳에서

시간에 단가를 곱하는 계산은 이 뷰에서만 합니다. 화면과 CSV, 분석 쿼리가 같은 큐브를 쓰기 때문에 숫자가 갈라지지 않습니다.

" ───────────────────────────────────────────────
" ZI_SetupCostCube — 로트 · 월 큐브
" 이 뷰에서만 시간 → 원가 계산을 한다 (식을 한 곳에 모으기 위해)
" ───────────────────────────────────────────────
@Analytics.dataCategory : #CUBE
@EndUserText.label : '준비원가 큐브'
define view entity ZI_SetupCostCube
  as select from ZI_SetupLot as lt
  association [0..1] to zsetup_rate as _Rate
    on _Rate.werks = lt.Plant
{
  key lt.OrderNo,
  key lt.Plant,
      @Aggregation.default : #SUM
      lt.ActHours,
      @Semantics.amount.currencyCode : 'Currency'
      cast(lt.ActHours * _Rate.act_rate as abap.curr(15,0))                as SetupLabor,
      @Semantics.amount.currencyCode : 'Currency'
      cast(lt.ActHours * _Rate.act_rate + lt.SetupMat as abap.curr(15,0))  as SetupCost,
      _Rate.waers                                                          as Currency,
      lt.LotQty
}

⑤ 쿼리 뷰 — 화면이 바라보는 점검 쿼리

플랜트는 필수 필터로 두어 한 번에 전체 플랜트를 읽지 못하게 합니다. 화면에서 쓰는 열과 정렬 위치도 여기서 정합니다.

" ───────────────────────────────────────────────
" ZC_SetupCostQuery — 점검 쿼리
" ───────────────────────────────────────────────
@Analytics.query : true
@EndUserText.label : '준비(셋업) 원가 점검'
@UI.headerInfo : { typeName : '로트', typeNamePlural : '로트' }
define view entity ZC_SetupCostQuery
  as select from ZI_SetupCostCube
{
  @Consumption.filter : { selectionType : #SINGLE, mandatory : true }
  key Plant,
  @UI.lineItem : [{ position : 10 }]
  key OrderNo,
  @UI.lineItem : [{ position : 20, criticality : 'CheckCrit' }]
  ActHours,
  @UI.lineItem : [{ position : 30 }]
  SetupCost,
  @AnalyticsDetails.query.axis : #COLUMNS
  LotQty
}

⑥ 권한 — 플랜트 단위 접근 제어

준비원가는 활동단가와 로트 원가가 함께 드러나므로 플랜트 단위로 접근을 나눕니다. 권한 오브젝트와 값은 회사의 권한 설계에 맞춰 정합니다.

" ───────────────────────────────────────────────
" 플랜트 단위 접근 제어
" ───────────────────────────────────────────────
@EndUserText.label : '준비원가 — 플랜트 권한'
@MappingRole : true
define role ZC_SETUPCOSTQUERY {
  grant select on ZC_SetupCostQuery
    where ( Plant ) = aspect pfcg_auth( C_AFKO_WRK, WERKS, ACTVT = '03' );
}

⑦ 서비스 정의와 바인딩

화면은 서비스 정의에 올린 쿼리만 바라봅니다. 운영에서는 이 서비스를 게시하고 manifest 의 서비스 주소만 교체합니다. 서비스 활성화는 서비스 바인딩에서 게시합니다.

" ───────────────────────────────────────────────
" 서비스 정의 — 점검 쿼리와 작업장 차원 노출
" ───────────────────────────────────────────────
@EndUserText.label : '준비(셋업) 원가 점검 서비스'
define service ZUI_SetupCost {
  expose ZC_SetupCostQuery  as LotSet;
  expose ZI_SetupWorkCenter as WorkCenterSet;
}

운영 시점에 해야 할 일

아래 아홉 가지는 코딩이 아니라 합의입니다. 개발보다 정하는 일이 많고, 합의가 끝나기 전에는 화면이 올라가도 숫자가 믿을 만해지지 않습니다.

할 일무엇을 정하나정하지 않으면누가
활동단가 기준작업장별 활동유형과 단가, 유효기간준비 활동원가가 0 으로 집계되어 점검 결과가 의미를 잃음원가회계 담당
준비시간 확정 구분확정 단계에서 준비와 가공을 나누는 방식준비시간이 가공시간과 섞여 표준과 비교가 안 됨생산관리
준비 소모자재 원천준비용 소모자재를 잡는 예약 · 소비 기준소모자재비가 빠지거나 이중으로 잡힘원가회계 · 자재 공동
품목별 비중 한도품목 특성별 준비원가 비중 한도모든 품목이 같은 기준으로 판정되어 점검 필요 건수가 왜곡됨생산 · 원가 공동
표준 준비시간라우팅의 표준 준비시간 갱신 주기표준이 낡아 점검 필요가 대량으로 걸림생산기술
권한 설계플랜트 · 작업장 단위 조회 권한타 플랜트의 단가와 로트 원가가 보임보안 담당
대사 체계표준 코스트센터 보고서와 맞출 항목 · 주기월마감에서 두 화면 숫자가 다를 때 설명할 근거가 없음원가회계 담당
전송 순서기준 테이블 → 차원 → 로트 → 큐브 → 쿼리 → 권한 → 서비스의존 객체가 없어 활성화가 실패함IT
서비스 게시서비스 바인딩 게시와 manifest 서비스 주소 교체화면이 개발용 서비스를 계속 바라봄IT

운영 데이터로 갈 때

운영에서는 로트가 월 수천 건, 연 수만 건이 될 수 있습니다. 화면이 전체를 받아 계산하지 않도록 조회 조건을 서비스로 보내 필요한 만큼만 받게 만들었고, 집계는 큐브 뷰에서 합니다. 회계연도와 플랜트를 사실상 필수로 쓰고, 기간 조건을 함께 걸어 읽는 범위를 줄이는 것이 좋습니다. 응답 시간 기준은 회사의 데이터 규모에 맞춰 정하고, 원천 테이블의 인덱스 상태는 확인 필요입니다.

자주 묻는 질문

도입 상담과 데모에서 자주 받는 질문을 네 묶음으로 정리했습니다.

숫자와 산식

이 화면은 무엇을 점검하나요?

로트마다 설비를 바꾸는 데 든 시간과 소모자재를 원가로 바꾸어 표준과 견줘 보는 화면입니다. 준비시간이 표준을 크게 넘은 로트, 로트가 작아 준비원가 비중이 커진 로트와 품목, 작업장 활동 원가풀과 로트 배부액이 어긋난 달을 점검 필요로 표시합니다. 원인을 단정하지는 않고 확인할 후보만 알려 줍니다.

준비원가는 어떻게 계산하나요?

실적 준비시간에 작업장 활동단가를 곱해 준비 활동원가를 만들고, 여기에 준비 소모자재비를 더합니다. 이 자료의 206개 로트 합계는 준비 활동원가 4,661만 원과 소모자재비 1,665만 원을 합친 6,326만 원입니다. 이 관계가 대사식 R01, R02 이며 대사 결과 탭에서 매번 전수로 검산됩니다.

준비원가 비중은 무엇이고 왜 보나요?

준비원가를 로트원가(준비원가와 가공원가의 합)로 나눈 비율입니다. 같은 준비원가라도 로트가 작으면 개당 부담이 커지므로, 비중이 크게 나오면 로트 크기를 살펴보라는 신호가 됩니다. 이 자료의 전체 비중은 6.99%이고, 점검 필요로 걸린 로트만 모으면 11.84%입니다.

표준 준비원가는 어디서 오나요?

라우팅에 적힌 표준 준비시간에 같은 활동단가를 곱하고 같은 소모자재비를 더한 값입니다. 화면은 이 값을 칸으로 보여 주고 실적 준비원가와의 차이를 같이 보여 줍니다. 표준 준비시간 자체는 회사가 정하는 값이며 이 화면이 대신 정해 주지 않습니다(원천 확인 필요).

준비원가 차이가 플러스면 문제인가요?

표준보다 준비에 더 들었다는 뜻일 뿐 곧바로 문제는 아닙니다. 이 자료의 합계 차이는 +1.8백만 원으로 표준 61.4백만 원 대비 크지 않습니다. 합계는 로트마다의 플러스와 마이너스가 상쇄되므로 판단은 로트와 품목 행에서 하시는 것이 좋습니다.

샘플 화면의 숫자는 실제 회사 값인가요?

아닙니다. 가상의 작업장 6곳과 가상의 품목 8종, 가상의 단가로 만든 검증용 샘플 데이터이며 실제 고객사의 값이 아닙니다. 산식과 판정이 의도대로 맞는지 보여 주기 위한 용도입니다.

화면과 조작

조회 조건은 무엇이 있나요?

회계연도(필수), 전기 월 시작·종료, 작업장, 품목, 점검 결과입니다. 선택 항목을 전체로 두면 해당 조건을 서비스에 보내지 않고 모든 값을 조회합니다. 조회 버튼은 조회 조건 오른쪽 끝에 있고, 회계연도 입력 칸에서 Enter 키를 눌러도 조회됩니다.

행을 누르면 무엇이 열리나요?

로트 행을 누르면 그 로트의 준비 활동원가, 소모자재비, 표준 대비 차이, 점검 내용과 같은 품목의 다른 로트가 한 창에 열립니다. 품목·작업장·월 행을 눌러도 같은 모양의 창이 열려 해당 월의 로트 명세를 볼 수 있습니다.

CSV 로 내려받을 수 있나요?

네. 현재 열려 있는 탭의 조회 결과를 UTF-8 CSV 로 내려받습니다. 엑셀에서 한글이 깨지지 않도록 처리되어 있고, 파일 이름은 기능명과 탭 이름으로 붙습니다. 이 자료의 로트별 점검 탭은 206건이 내려옵니다.

서비스에 연결되지 않으면 어떻게 되나요?

빈 화면이나 콘솔 메시지로 두지 않고, 서비스 정의를 불러오지 못했는지, 요청이 실패했는지를 구분해 안내 창을 띄웁니다. 조회는 성공했지만 결과가 없으면 조건에 맞는 로트가 없다는 안내가 나옵니다.

좁은 화면에서도 쓸 수 있나요?

표는 가로로 스크롤되고, 조회 조건은 줄바꿈되어 배치됩니다. 데스크톱 화면을 기준으로 설계했으며 태블릿에서도 사용할 수 있습니다.

회계연도를 바꾸면 어떻게 되나요?

조회할 때마다 회계연도 조건이 서비스로 전달되어 해당 연도의 데이터만 읽습니다. 샘플에는 2026년 자료만 있어서 다른 연도를 넣으면 결과 없음 안내가 나옵니다.

점검 기능

점검 필요는 어떤 기준으로 표시되나요?

로트에는 실적 준비시간이 표준의 120%를 넘는 경우, 준비원가 비중이 15%를 넘는 경우, 둘 다에 해당하는 경우 세 가지를 씁니다. 품목·월에는 비중이 품목별 한도를 넘는 경우와 표준 대비 준비원가 차이율이 12%를 넘는 경우, 작업장·월에는 활동 원가풀 대비 미배부 차이가 3%를 넘는 경우, 월에는 준비원가 비중이 7%를 넘는 경우를 씁니다.

점검 필요가 나오면 곧바로 문제가 있다는 뜻인가요?

아닙니다. 확인해 볼 만한 후보를 골라낸 것입니다. 신제품 시험 생산이나 설비 교체 직후처럼 정당한 사유가 있을 수 있고, 최종 판단은 회사가 합니다.

대사 결과 탭은 무엇을 보여 주나요?

아홉 가지 정합성 식의 검사 건수, 차이 건수, 최대 차이를 보여 줍니다. 차이 건수가 0 이어야 시간과 원가의 계산이 서로 맞는 것입니다. 0 이 아니면 해당 행의 대사식을 보고 어느 단계에서 어긋나는지 따라가시면 됩니다.

작업장 원가풀과 로트 배부액이 다르면 무엇을 보나요?

작업장별 집계 탭의 미배부 차이를 봅니다. 활동 원가풀은 로트 배부액과 미배부 차이의 합이어야 하고, 차이가 원가풀의 3%를 넘으면 점검 필요로 표시합니다. 이 자료에서는 조립 라인 2월과 사출 성형기 4월이 여기에 걸리며, 코스트센터 전기 내역과 확정 시간을 먼저 확인하시기를 권합니다.

로트 크기는 어떻게 점검하나요?

품목별 집계 탭에 평균 로트수량과 기준 로트수량을 나란히 둡니다. 기준 로트수량은 품목별 비중 한도를 지키려면 필요한 로트 크기이고, 평균이 이보다 작으면 로트를 합쳐 생산할 수 있는지 검토해 볼 만합니다. 이 자료에서는 모터 하우징과 커넥터 케이스가 여섯 달 모두 한도를 넘었습니다.

월별 추이는 어떻게 읽나요?

월마다 준비원가 비중과 점검 필요 로트 수를 보여 줍니다. 비중이 7%를 넘는 달은 점검 필요로 표시되며, 이 자료에서는 1월, 4월, 5월입니다. 특정 월이 튀면 그 달 행을 눌러 로트 명세를 열고 어느 작업장과 품목에서 늘었는지 따라갑니다.

도입과 운영

SAP 표준 화면과 무엇이 다른가요?

표준 화면은 오더 원가, 코스트센터 개별 항목, 작업장 마스터를 각각 보여 줍니다. 이 화면은 같은 데이터를 로트 한 줄로 모아 준비시간을 원가로 바꾸고 표준, 로트 크기, 원가풀과의 관계까지 함께 보여 주는 조회·점검 관점을 더합니다. 표준 실행은 SAP 표준 T-code 가 담당합니다.

기존 표준 보고서를 없애야 하나요?

아닙니다. 표준 보고서는 감사와 법정 대응의 근거로 남겨 두고, 이 화면은 월마감 전에 준비원가가 이상한 로트와 품목을 먼저 골라내는 용도로 씁니다. 두 화면의 숫자를 맞춰 보는 지점은 활동 원가풀과 코스트센터 전기 내역입니다.

운영 데이터로 연결하려면 무엇이 필요한가요?

활동단가 기준 테이블, 준비시간 확정 구분, 준비용 소모자재 원천, 권한 설계, 서비스 게시가 필요합니다. 화면의 manifest 에 선언된 서비스 주소만 운영 서비스로 바꾸면 화면 코드는 그대로 쓸 수 있습니다. 소요 기간은 준비 구분 확정이 얼마나 정리되어 있는지에 크게 좌우되며 일반화해서 말하기는 어렵습니다(확인 필요).

준비시간 확정이 따로 구분되어 있지 않으면 쓸 수 없나요?

준비시간을 가공시간과 나누어 확정하는 일이 선행되어야 합니다. 구분이 없다면 이 화면은 준비 활동원가를 만들 수 없으므로, 먼저 확정 단계에서 준비를 구분하는 절차부터 정하셔야 합니다. 구분 방식은 회사마다 달라 확인 필요입니다.

권한은 어떻게 나누나요?

플랜트 단위로 조회 권한을 나누는 것을 기본으로 합니다. 활동단가와 로트 원가가 함께 드러나므로 필요한 사람에게만 열어 두는 것이 좋습니다. 권한 오브젝트와 값은 회사 권한 설계에 맞춰 정합니다.

대용량 데이터에서도 빠른가요?

운영 데이터에서는 로트가 월 수천 건이 될 수 있어, 화면이 전체를 받아 계산하지 않고 조회 조건을 서비스에 보내 필요한 만큼만 받도록 만들었습니다. 회계연도와 기간을 필수에 가깝게 쓰고, 큐브 뷰에서 집계하도록 두는 것이 좋습니다.

작업장이나 품목 체계가 바뀌면 어떻게 하나요?

작업장과 활동단가는 기준 테이블과 차원 뷰에서 읽으므로 코드를 고치지 않고 기준만 바꾸면 됩니다. 이름이 바뀐 작업장은 차원 뷰에서 한 번에 반영되고, 품목 한도 같은 판정 기준 값은 기준표에서 바꿉니다.

이 화면의 결과를 감사 자료로 써도 되나요?

이 화면은 점검 도구이며 최종 판단은 회사와 감사인이 합니다. 화면의 점검 필요는 확인할 후보를 알려 주는 것이지 원가 처리를 정해 주는 것이 아닙니다. 감사 대응은 표준 보고서와 원장을 근거로 하시기 바랍니다.

적용 시기나 대상 범위에 정해진 것이 있나요?

이 화면은 특정 기준서 요구사항을 점검하는 것이 아니라 제조원가 영역의 내부 관리 점검 도구이므로 정해진 적용 시기는 없습니다. 도입 범위는 회사가 정합니다.

여러 플랜트를 한 번에 볼 수 있나요?

샘플은 한 플랜트를 가정했습니다. 운영에서는 플랜트를 조회 조건으로 추가하고 큐브 뷰의 키에 플랜트가 이미 들어 있으므로 서비스 쪽 변경은 크지 않습니다(확인 필요).