솔루션 홈
작업센터 능력관리

SAP 작업센터 능력부하 현황 — 가용능력을 다 채우기 전에 미리 본다

작업센터의 하루 가용시간과 오더 소요시간을 조회기간 기준으로 맞대어, 부하율을 정상·주의·초과 3단계로 미리 확인하는 화면입니다.

작업센터의 하루 가용시간은 교대 구성(교대횟수·교대시간·휴게시간·가동률)으로 정해져 있지만, 그 앞에 쌓이는 오더 소요시간은 매주 달라집니다. 계획 담당자가 궁금한 것은 결국 하나입니다 — 이번 2주, 어느 작업센터가 감당 못 할 만큼 밀려 있는가.

SAP 표준 작업장·능력소요 데이터 구조를 그대로 이어받아, 조회기간을 바꿀 때마다 가용능력과 필요능력을 즉시 다시 계산해 부하율을 정상·주의·초과 3단계로 보여주도록 OpenUI5 화면으로 확장했습니다. 작업센터를 선택하면 일자별 부하 추이와 그 기간에 걸린 오더별 소요시간까지 바로 확인할 수 있습니다. 실제 구동 화면 4종을 함께 공개합니다.

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

  • 작업장 마스터 — 작업장 헤더(CRHD)와 능력헤더(CRCA)의 교대구성·가동률 구조
  • 능력소요 — 오더 작업별 소요시간 개별 레코드(KBED)
  • 오더 텍스트 — 오더유형·오더번호(AUFK), 대상자재(자재마스터 MAKT)
  • 표준 실행 — 능력현황평가·작업장 마스터 표시는 SAP 표준 기능이 계속 담당
항목내용
업무 영역생산관리(PP) · 작업센터 능력계획
Namespacezui5.captload
셸 구조조회조건 영역(우측 조회) + 작업센터별 결과 목록, 일자별·오더별 상세 Dialog
화면 수조회 화면 1개 + 상세 다이얼로그
SAP 표준 T-codeCM01(능력현황평가) · CR03(작업장 마스터 표시)
성격조회·판정형 — 작업장·능력소요 데이터 자체는 표준 기능이 관리
UI 테마sap_horizon 단일 적용

실제 화면 4종 둘러보기

플랜트·작업센터·조회기간을 넣고 조회하면 작업센터별 부하율이 목록으로 뜹니다 → 텍스트로 좁혀 보고 → 결과를 확인한 뒤 → 작업센터를 골라 일자별·오더별 상세를 들여다봅니다.

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

Main.view.xml
작업센터 가용능력 대비 부하 현황 초기 화면
초기 화면 — 기본 조회기간(오늘부터 2주)이 채워진 상태입니다. 플랜트·작업센터·조회기간(From/To)·부하상태를 지정하고, 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
Enter 키 조회
작업센터 텍스트 필터 Enter 키 조회 결과
Enter 키 조회 — 작업센터명에 "프레스"를 입력하고 Enter 를 누르면 버튼을 누르지 않아도 바로 재조회됩니다. 프레스 관련 4개 작업센터만 좁혀져 나오고, 부하상태별 색상 표시로 초과·주의 작업센터가 바로 눈에 띕니다.
전체 조회 결과
전체 작업센터 조회 결과 목록
전체 조회 결과 — 두 플랜트 18개 작업센터의 부하율이 한 번에 나열됩니다. 정상(초록)·주의(주황)·초과(빨강)가 행 왼쪽 색상 막대와 상태 컬럼에 함께 표시되어, 스크롤 없이도 어디가 밀렸는지 바로 보입니다.
상세 다이얼로그
작업센터 상세 다이얼로그 일자별 오더별 내역
상세 다이얼로그 — 일자별·오더별 내역 — 결과 행을 선택하면 요약(가용·필요능력·부하율)에 이어 일자별 부하 추이와, 그 기간에 걸린 오더별 소요시간(오더번호·오더유형·작업·대상자재)까지 함께 확인할 수 있습니다.

조작 방법

  1. 플랜트 · 작업센터(코드/명) · 조회기간(From, To) · 부하상태를 지정합니다. 조회기간 기본값은 오늘부터 2주입니다.
  2. 조회조건 입력 필드에서 Enter 를 눌러도 바로 재조회됩니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
  3. 결과가 없으면 조회조건을 다시 확인하도록 안내 메시지가 뜹니다.
  4. 결과 목록 각 행의 오른쪽 화살표(상세)를 누르면 일자별 부하 추이와 오더별 소요시간 내역이 다이얼로그로 열립니다.
  5. 결과는 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.

부하율 3단계 판정 로직

작업센터의 1일 가용시간은 교대횟수 × (교대시간 − 휴게시간) × 가동률(%) 로 정해집니다. 조회기간에 포함된 평일(월~금) 수만큼 이 값을 누적한 것이 가용능력이고, 같은 기간·같은 작업센터에 배정된 모든 오더의 작업별 소요시간을 합산한 것이 필요능력입니다.

부하율 = 필요능력 ÷ 가용능력 × 100

  • 100% 초과 → 초과 — 능력 부족, 외주·잔업 검토 대상
  • 85%~100% → 주의 — 여유 능력이 15% 미만
  • 85% 미만 → 정상

주말(토·일)은 가용능력 계산에서 제외하며, 상세 화면의 일자별 표에도 평일만 나열합니다.

능력부하 집계 4단계

단계내용
① 대상 추리기플랜트·작업센터(코드/명) 조건에 맞는 작업센터 마스터를 추립니다.
② 기간 전개조회기간(From~To)의 평일 목록을 만들고 그 일수를 구합니다.
③ 능력 집계작업센터별로 (평일수 × 1일 가용시간)을 가용능력으로, 그 기간의 오더별 소요시간 합계를 필요능력으로 계산해 부하율을 산출합니다.
④ 표시 판정부하상태 필터를 적용하고 정상/주의/초과 건수를 집계해 메시지와 하단 요약에 반영합니다.

조회조건

필드설명
플랜트작업센터가 속한 플랜트(전체/서울 제1공장/구미 제2공장)
작업센터(코드/명)작업센터 코드 또는 명칭 일부 텍스트 검색
조회기간(From, To)부하를 집계할 기간(평일만 가용능력에 반영)
부하상태정상/주의/초과 중 하나로 결과를 좁혀 봄(기본: 전체)

결과 컬럼

컬럼의미 · 표시
플랜트 · 작업센터 · 작업센터명작업센터 마스터 식별 정보
능력유형기계(설비) / 인력 구분 아이콘 표시
평일수조회기간에 포함된 평일(월~금) 일수
가용능력 · 필요능력우측정렬, 시간(h) 단위
부하율필요능력 ÷ 가용능력 × 100(%), 상태별 색상 표시
상태정상 · 주의 · 초과 (3단계 판정 로직 참고)

상세 화면에는 이 값들 외에 일자별 가용·필요능력·부하율·상태 표와 오더별 소요시간 내역(오더번호·오더유형·작업·대상자재·소요시간) 표가 함께 제공됩니다.

SAP 표준 기능 매핑

이 화면은 표준 실행을 대체하지 않습니다. 작업장·능력소요 데이터는 SAP 표준 능력계획 기능이 그대로 관리하고, 이 화면은 그 데이터를 조회조건별로 즉시 재계산해 부하가 몰리는 작업센터를 먼저 짚어보는 조회·판정 관점을 더한 것입니다.

SAP 표준 T-code기능
CM01능력현황평가 — 플랜트/기간별 작업장 부하 조회
CR03작업장 마스터 표시 — 교대구성·가동률 등 능력정보 확인

참고 CDS 뷰

운영 서비스로 연결할 때는 작업장 헤더와 능력헤더를 붙인 뷰로 서빙하는 구성을 제안합니다.

@AbapCatalog.sqlViewName: 'ZCCAPTLOAD'
@EndUserText.label: '작업센터 능력부하용 뷰 (Z)'
define view Z_C_WORKCENTER_LOAD
  as select from crhd as WorkCenter
    inner join      crca as Capacity  on  Capacity.arbpl = WorkCenter.arbpl
                                      and Capacity.werks = WorkCenter.werks
{
  key WorkCenter.werks,
  key WorkCenter.arbpl,
      WorkCenter.ktext          as ArbplText,
      Capacity.kapart           as Kapart,
      Capacity.schichten        as Schichten,
      Capacity.schichtdauer     as Schichtdauer,
      Capacity.pause            as Pause,
      Capacity.nutzungsgrad     as Nutzungsgrad,
      // 파생값 — 1일 가용시간 = 교대횟수 x (교대시간-휴게시간) x (가동률/100)
      Capacity.schichten * ( Capacity.schichtdauer - Capacity.pause )
        * ( Capacity.nutzungsgrad / 100 )   as DailyAvailHours
      // 능력소요(KBED)는 기간·작업장 단위로 별도 뷰에서 합산해 결합
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경의 능력카테고리 구성과 공휴일 캘린더 반영 방식에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.f.DynamicPage + 조회조건 헤더 + 결과 테이블 + 푸터 요약
조회조건sap.m.Select · sap.m.Input · sap.m.DatePicker — 우측 끝에 조회 버튼, change/submit 로 Enter 조회
결과 목록sap.ui.table.Table — 상태별 행 하이라이트, 행 액션으로 상세 오픈
상세 화면sap.m.Dialog — 요약 카드 + 일자별 표 + 오더별 표
포맷시간·퍼센트·일자·상태 아이콘/색상 포맷터

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon · lodash · moment
Component.js디바이스 모델 초기화, 에러 핸들러 연결
manifest.json앱 디스크립터 — ko 로케일, sap.ui.table 의존성
view/Main.view.xml + fragments/조회 헤더·검색·메시지·결과 테이블 프래그먼트
controller/Main.controller.js능력 집계·부하율 판정·상세 데이터 구성
model/ModelMock.jslocaldata JSON 을 fetch 로 읽는 모의 모델
js/formatter.js시간·퍼센트·일자·상태 포맷
i18n/i18n_ko.propertiesko 로케일 리소스
localdata/*.json플랜트·작업센터·능력소요 검증용 데이터

운영 전환 시에는 ModelMock 내부만 실제 서비스 호출로 바꾸면 화면과 판정 로직은 그대로 씁니다.

검증 결과

화면 구성에 쓴 데이터는 작업센터 18개(2개 플랜트), 능력소요 레코드 1,600여 건이며, 기본 조회기간(2주) 기준으로 정상·주의·초과 상태가 모두 나타나도록 구성했습니다.

검증 항목결과
JSON/XML 전체 파싱, manifest 참조 누락 검사통과
i18n 키 누락 검사 (뷰·컨트롤러 사용 키 전수 대조)통과
이벤트핸들러 미구현 검사 (press/change/submit 전수 대조)통과
부하율 산식 재현 (Node 스크립트로 별도 계산해 정상/주의/초과 3단계 모두 일치)통과
조회 버튼 위치 — 조회조건 영역 오른쪽 끝(하단 Bar 아님)통과
Enter 키 조회 동작통과
적용 테마 sap_horizon 확인통과
화면 렌더링 — 실브라우저에서 조회 → 필터 → 상세 실동작 후 캡처4/4

작업센터·오더·소요시간은 모두 검증용 데이터입니다.

자주 묻는 질문

주말에 잡힌 오더 소요시간은 어떻게 반영되나요?

가용능력은 평일만 인정하지만 필요능력 합계는 조회기간 내 모든 날짜의 소요시간을 그대로 더합니다. 주말 작업이 많으면 부하율이 실제보다 높아 보일 수 있어, 상세 화면의 오더별 내역에서 날짜를 함께 확인하는 것이 좋습니다.

부하율 판정 기준(85%·100%)은 고정값인가요?

이번 화면에 적용한 기준값입니다. 현장 관리기준에 맞춰 조정이 필요하면 담당자와 협의해 반영하는 구조로 되어 있습니다.

한 작업센터에 기계·인력 능력이 함께 있으면 어떻게 되나요?

작업센터 마스터에는 하나의 능력유형만 대표값으로 반영됩니다. 실제로 두 능력유형을 따로 관리한다면 작업센터를 능력유형별로 분리해 등록하는 편이 정확합니다.

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

작업장과 능력소요 데이터 자체는 SAP 표준 능력계획 기능이 만들고 관리합니다. 이 화면은 그 데이터를 조회기간 기준으로 즉시 재계산해, 부하가 몰리는 작업센터를 미리 짚어보는 조회 관점을 더한 것입니다.

작업센터 능력부하, 지금 쓰는 SAP 위에서 미리 확인해 보세요

결산 시점에야 능력 부족을 알게 되는 대신, 조회기간을 바꿔가며 미리 짚어볼 수 있으면 외주·잔업 판단이 빨라집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

작업센터 능력관리가용능력부하율CM01CR03OpenUI5