솔루션 홈
생산 분석

SAP 생산 수율 점검 — 투입한 만큼, 양품으로 얼마나 나왔는지부터 본다

생산오더 하나하나의 투입·양품·불량·재공 수량을 대사해 수율을 산출하고, 작업장·자재 단위로 다시 모아 목표 대비 차이가 큰 곳부터 가려냅니다

생산 실적은 보통 오더별로 확인(Confirmation) 시점에 투입·양품·불량 수량이 기록되지만, 그 수치를 "목표 대비 얼마나 벌어졌는지" 관점으로 다시 훑어보는 화면은 따로 없는 경우가 많습니다. 그래서 생산오더별 투입·양품·불량·재공증감 수량을 대사해 수율을 산출하고, 목표수율과 비교하는 화면을 OpenUI5로 구현했습니다.

수율이 목표수율보다 2.0%p 넘게 낮으면 "점검필요"로 자동 판정합니다. 표준 실적 확인·조회 기능이 담당하는 수량 입력·조회 위에, 오더·작업장·자재 세 관점에서 목표 대비 차이를 한 번에 볼 수 있는 층을 더한 셈입니다. 실제 구동 화면 5종을 함께 공개합니다.

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

  • 실적 확인 — 생산오더 실적 확인(CO11N)에서 입력되는 투입·양품·불량 수량 구조를 그대로 이어받습니다
  • 오더 정보시스템 — 생산오더 정보시스템(COOIS)의 오더별 조회 관점을 명세 탭 구성에 옮겨 왔습니다
  • PP 정보시스템 — PP 정보시스템 오더 실적 분석(MCRM)의 표준 집계 관점을 작업장·자재 집계 탭으로 보완합니다
항목내용
업무 영역생산(PP) · 생산 분석
Namespacezui5.yieldrate
셸 구조조회조건 영역(우측 조회) + 대사 요약 KPI 4종 + 탭 3개, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 3개) + 상세 다이얼로그
SAP 표준 T-codeCO11N · COOIS · MCRM
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·점검형 — 실제 공정 원인 판단은 현장 담당자가 수행
UI 테마sap_horizon 단일 적용

실제 화면 5종 둘러보기

기본 조건으로 조회하면 요약 KPI와 명세 탭이 뜹니다 → 작업장별·자재별 집계 탭에서 축을 바꿔 보고 → 행을 클릭해 상세를 봅니다.

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

메인 화면
생산 수율 점검 메인 화면 — 조회조건과 요약 KPI, 명세 탭
메인 화면 — 조회조건 · 요약 KPI(조회 오더 건수·평균 수율·점검필요 건수·의도적 예외 건수) · 명세 탭이 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
조건 조회 결과
플랜트 조건으로 조회한 결과 화면
조건 조회 — 플랜트를 선택하고 조회조건 영역에서 Enter 키를 눌러도 조회 버튼과 동일하게 동작합니다.
작업장별 집계
작업장별 집계 탭 — 수율이 낮은 순으로 정렬
작업장별 집계 — 작업장 단위로 투입·양품·불량 수량을 합산하고, 수율이 낮은 순으로 정렬해 보여줍니다.
자재별 집계
자재별 집계 탭
자재별 집계 — 같은 방식으로 자재 단위 수율을 다시 모아 봅니다.
생산오더 상세
명세 탭 행 클릭 시 열리는 생산오더 수율 상세 다이얼로그
생산오더 상세 — 명세 탭에서 행을 클릭하면 수량 정보와 수율 판정 상세가 다이얼로그로 펼쳐집니다.

사용 방법

  1. 화면에 들어오면 기본 조건(전체 기간·전체 플랜트)으로 자동 조회가 1회 실행되어 요약 KPI와 명세·집계 탭이 함께 채워집니다.
  2. 조회조건 영역에서 플랜트·작업장·자재·판정을 선택합니다(선택하지 않으면 전체). 전기일(시작/종료)은 기본값이 채워져 있어 필요할 때만 바꿉니다.
  3. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 조회조건 영역 어디서든 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 조회 버튼 바로 왼쪽에 있습니다.
  4. 상단 카드에서 조회 오더 건수 · 평균 수율 · 점검필요 건수 · 의도적 예외 건수를 먼저 확인합니다.
  5. 탭을 옮겨 명세 → 작업장별 집계 → 자재별 집계 순으로 봅니다.
  6. 명세 탭에서 행을 클릭하면 해당 생산오더의 수량·수율 판정 상세가 다이얼로그로 열립니다.
  7. 각 탭 하단의 CSV 내려받기(UTF-8 BOM)로 현재 탭의 조회 결과를 저장합니다.

수율 판정 기준

판정 조건결과 상태사용자 조치
수율 − 목표수율 ≤ -2.0%p (의도적 예외 아님)점검 필요작업장별·자재별 집계 탭에서 편차가 몰린 지점을 확인하고 공정 담당자에게 확인 요청
재공 재작업 진행 중인 예외 건(판정 보류)점검 필요(보류)재작업이 끝나 재공수량이 확정된 뒤 재집계 결과를 다시 확인
그 외(수율이 목표수율에 근접하거나 상회)정상조치 없음

위 기준은 조회·점검을 돕기 위한 것이며, 실제 공정상의 원인 판단과 조치는 화면이 단정하지 않고 현장 담당자가 확인합니다.

수율 산출 절차

단계내용
1단계생산오더별 투입·양품·불량·재공증감 수량을 실적 확인 데이터에서 모음
2단계정합성 검증: 투입수량 = 양품수량 + 불량수량 + 재공증감수량(전수 일치 확인)
3단계수율(%) = 양품수량 ÷ 투입수량 × 100 산출
4단계목표수율과 비교해 차이(%p)를 계산하고 판정(정상/점검필요) 부여
5단계같은 오더 데이터를 작업장·자재 축으로 다시 합산(집계 합계 = 명세 합계)

조회조건

필드필수설명
플랜트선택전체면 조건 제외
작업장선택전체면 조건 제외
자재선택전체면 조건 제외
전기일(시작/종료)기본값 제공생산오더 실적 확인일 범위 — 화면 진입 시 최근 30일로 채워짐
판정선택정상 · 점검필요 — 전체면 조건 제외

결과 컬럼

컬럼설명
생산오더 · 플랜트 · 작업장 · 자재 · 전기일명세의 기준 정보
투입수량 · 양품수량 · 불량수량 · 재공증감수량 실적(정합성 대사 대상)
수율(%) · 목표수율(%) · 차이(%p) · 판정산출 지표와 판정 결과
작업장(또는 자재) · 오더건수 · 투입/양품/불량 수량 합계 · 수율(%)작업장별·자재별 집계 컬럼

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 수율 대사 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
CO11N생산오더 실적 확인확인된 투입·양품·불량 수량 위에 재공증감을 더해 대사식을 완성합니다
COOIS생산오더 정보시스템오더별 조회 관점을 수율·목표수율 차이 중심으로 재구성합니다
MCRMPP 정보시스템 — 오더 실적 분석표준 집계 관점을 작업장·자재별 수율 집계로 보완합니다

분석 지표 정의표

대상 영역지표정의원천 데이터
생산 분석수율(YieldRate)양품수량 ÷ 투입수량 × 100생산오더 실적 확인 수량
생산 분석차이(YieldGap)수율 − 목표수율수율 산출값, 목표수율 마스터

참고 CDS 뷰

원천 테이블주요 필드쓰임
AFKOAUFNR오더 헤더 — 생산오더 번호
AFPOWERKS · MATNR오더 품목 — 플랜트·자재
AFRUGMNGA · XMNGA · BUDAT오더 실적 확인 — 양품·불량 수량, 확인일
CRHDARBPL작업장 마스터
define view entity I_ProductionOrderYield
  as select from afru
    inner join afpo on afpo.aufnr = afru.aufnr
    inner join afko on afko.aufnr = afpo.aufnr
{
  key afru.aufnr        as OrderNo,
      afpo.werks         as Plant,
      afpo.matnr         as Material,
      afru.budat         as PostDate,
      sum(afru.gmnga)    as GoodQty,
      sum(afru.xmnga)    as ScrapQty
}

필드 매핑은 가상 데이터 기준 스케치이며, 재공증감은 별도 파생값으로 계산합니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 요약 KPI · IconTabBar 3개 탭
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 defaultCountMode:"Inline" · useBatch:false 로 구성합니다. 화면 블록마다 해당 엔티티셋에 직접 바인딩합니다
명세 탭sap.ui.table.Table(컬럼 13개) — 셀 클릭으로 상세 다이얼로그를 엽니다
집계 탭sap.m.Table 2개(작업장별·자재별) — 소계·총계 행은 굵게 구분 표시
조회조건sap.ui.model.Filter 로 조립해 바인딩에 적용합니다. 같은 필드(전기일 시작·종료)의 조건은 하나의 AND 복합 Filter 로 묶어 전달합니다. 전체를 고른 조건은 필터를 만들지 않습니다
예외 메시지메타데이터 실패·요청 실패를 구분해 안내하는 전용 처리기

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js모델 초기화, 예외 메시지 처리기 연결
manifest.json앱 디스크립터 — zui5.yieldrate · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · 요약 KPI · 3개 탭
view/DetailDialog.fragment.xml생산오더 상세 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 다이얼로그 · CSV
controller/BaseController.jsCSV 다운로드 공통 처리
model/formatter.js · model/ErrorHandler.js표시 서식 · 예외 메시지 처리
i18n/i18n_ko.properties화면 문구

검증 결과

검증용 샘플 데이터(생산오더 64건, 플랜트 3개, 작업장 8개, 자재 10종)를 기준으로 대사식을 전수 검증했습니다. 재공 재작업이 진행 중이라 판정을 보류해야 하는 예외 사례 2건을 의도적으로 포함했습니다.

검증 항목결과
투입수량 = 양품수량 + 불량수량 + 재공증감수량 (64건 전수)통과(불일치 0건)
작업장별·자재별 집계 합계 = 명세 합계통과(차이 0)
조회 조건 전달 — 플랜트·작업장·자재·전기일·판정 필터 · 정렬 · 총건수 표시확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현0건
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 화면은 어떤 범위의 생산오더를 대상으로 하나요?

실적 확인이 이뤄진 생산오더 가운데 조회조건의 전기일 범위에 포함된 오더를 대상으로 합니다. 특정 업종이나 공정에 한정되지 않고, 투입·양품·불량·재공증감 수량이 확인되는 오더라면 모두 집계 대상이 됩니다.

"점검필요"로 표시되면 바로 불량 처리하면 되나요?

아닙니다. 이 화면은 목표수율과의 차이가 큰 오더·작업장·자재를 먼저 가려내는 조회·점검 도구입니다. 실제 원인 파악과 처리 여부는 공정·품질 담당자가 표준 프로세스에 따라 확인합니다.

재공증감(WipDeltaQty)은 왜 따로 관리하나요?

생산 중인 수량이 그대로 재공(WIP)으로 남아 있으면 투입수량이 아직 양품·불량 어느 쪽으로도 확정되지 않은 상태입니다. 이를 별도 항목으로 분리해야 "투입 = 양품 + 불량 + 재공증감" 대사식이 항상 성립하고, 재공이 많은 오더를 판정에서 구분해 볼 수 있습니다.

이 화면은 생산오더 실적 확인(CO11N)을 대체하나요?

아닙니다. 실적 확인 입력은 표준 트랜잭션에서 그대로 수행합니다. 이 화면은 이미 확인된 실적을 수율 관점에서 다시 조회하고, 목표 대비 차이가 큰 대상을 찾아내는 조회·점검 화면입니다.

생산 실적 조회, 수율 대사 관점을 하나 더 붙여 보세요

확인된 실적 수량만으로는 놓치기 쉬운 오더·작업장·자재별 수율 저하 구간을 목표수율 기준으로 미리 걸러 두면, 공정 점검을 더 일찍 시작할 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

생산 수율수율 분석생산 분석생산(PP)OpenUI5