생산 · 통합 관리

생산 재공 평가·오더 정산 통합 관리 — 기말 재공 잔액부터 오더 정산·장기 재공 충당·대사까지 한 앱에서 끝내는 월마감

기준정보 · 문서 처리와 승인 · 직무 분리 · 시뮬레이션 후 일괄 실행 · 대사 예외 조치 · 큐브 피벗과 드릴스루 · 요인분해 · 감사 로그 — 소개 영상과 실제 화면, 그리고 CDS 코드까지

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

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

월마감 때 생산 영역이 받는 질문은 해마다 같습니다. 기말 재공 잔액이 얼마인가, 기술완료 오더를 모두 정산했는가, 오래 묵은 재공에 충당을 잡았는가. 지금 이 세 답은 오더 정보 조회, 재공품 계산, 오더 정산, 원가 라인 조회를 오가며 엑셀로 맞추고, 승인은 메일로 받는 식으로 흩어져 있는 경우가 많습니다. 이 앱은 그 세 답을 한 앱에 붙여, 처리하는 사람과 승인하는 사람, 확인하는 사람이 같은 숫자를 봅니다.

이 앱은 기준정보 관리, 문서 처리(작성 · 검토 · 승인 · 전기 · 역처리), 시뮬레이션 후 일괄 실행, 대사와 예외 조치, 큐브 분석, 영역 간 연계, 이력 · 감사 · 권한을 한 서비스 위에서 수행합니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 처리와 점검의 관점을 더해 확장합니다. 이 글의 숫자는 모두 샘플 데이터 기준이며, 점검 도구이므로 최종 판단은 회사와 감사인이 합니다.

한 줄 요약 — 조회 리포트는 누구나 만듭니다. 이 앱의 값은 조회 다음에 있습니다: 문서를 만들고 승인하고, 시뮬레이션한 합계 그대로 일괄 실행하고, 대사 예외를 사유와 함께 닫고, 분석 숫자를 문서 라인까지 내려가 검산합니다.

핵심 포인트 일곱 가지

포인트고객이 얻는 것지금 방식이라면
① 처리 · 승인 · 전기 · 역처리를 한 앱에서작성 → 검토 → 승인 → 전기 순서로 상태가 바뀌고, 항목 · 상태 이력 · 연계 문서 · 감사 로그가 한 상세 화면에 모입니다. 역처리는 반대 문서를 만들어 원문서를 취소 상태로 둡니다.오더 정보 · 정산 · 전표 조회 화면을 오가며 처리하고, 상태와 승인 기록은 엑셀과 메일에 남습니다.
② 직무 분리가 화면과 서비스에서 함께 걸린다작성자 본인에게는 승인 버튼이 보이지 않고, 서버도 같은 규칙으로 막습니다. 3,000,000원 이상 문서는 승인자 두 단계가 필요합니다.직무 분리는 사람 약속에 맡기고, 사후 점검에서 겹침을 찾아냅니다.
③ 시뮬레이션 합계 = 실행 결과 합계일괄 실행은 시뮬레이션으로 대상 오더와 합계를 먼저 보여 주고, 같은 조건 해시로만 실행됩니다. 같은 조건 재실행은 서버가 거절합니다.대상 목록을 엑셀로 뽑아 확인하고, 실행 뒤에 다시 합계를 맞춰 봅니다.
④ 장기 재공 충당을 경과 일수로 계산90일 이내 0%, 91~180일 10%, 181일 초과 30% 의 규칙으로 충당 문서를 만들고, 규칙은 기준정보에서 바꿉니다.장기 재공은 담당자가 엑셀 목록으로 관리하고, 충당 기준은 문서 밖에 있습니다.
⑤ 대사 예외를 사유와 함께 닫는다대사 규칙 4종이 차이를 찾아 예외 목록으로 올리고, 조정 · 사유 · 보류 중 하나로 조치하면 상태가 조치 중에서 해소로 바뀝니다.차이는 엑셀에 색칠하고, 누가 왜 넘겼는지는 기억에 의존합니다.
⑥ 큐브 피벗에서 문서 라인까지 한 번에투입 · 입고 환산 · 재공 · 정산 · 충당 등 측정값 8종을 8개 차원으로 끌어다 놓아 보고, 칸을 누르면 그 금액을 만든 라인이 열려 합계가 일치하는지 그 자리에서 보입니다.리포트를 닫고 오더 실적 개별 항목을 다시 열어 조건을 손으로 맞춥니다.
⑦ 차이를 네 요인으로 가른다계획 대비 투입 원가 차이를 물량 · 수율 · 시간 원단위 · 시간당 원가로 나누고, 요인 합이 총차이와 같은지 검산 줄이 매번 보여 줍니다.엑셀로 분해하고 합계가 맞는지 다시 손으로 확인합니다.

사례로 보는 효과 — 총차이 3.8% 의 가장 큰 몫은 시간당 원가

샘플 데이터 기준 2026-01 ~ 2026-10 범위에서 투입 원가는 898,880,557원이고 계획 865,771,862원보다 33,108,695원(3.8%) 많았습니다. 총차이만 보면 “원가가 좀 올랐다”로 끝나지만, 네 요인으로 가르자 가장 큰 몫이 시간당 원가(+16,230,553원)였고, 수율(+7,338,081원), 물량(+6,119,597원), 시간 원단위(+3,420,464원)가 뒤를 이었습니다. 네 요인의 합은 총차이와 정확히 같고 검산 값은 0 입니다. 원인은 이 화면이 단정하지 않고 “확인 필요”로 남기므로, 회의는 ‘어느 숫자가 맞나’ 대신 ‘시간당 원가가 왜 올랐나’로 시작합니다.

같은 범위에서 큐브 합계와 원천 원가 라인 합계는 측정값 8종 모두 차이가 0 이었고, 대사 규칙 4종은 샘플에 심어 둔 의도적 예외 10건을 정확히 찾아냈습니다(머리 금액 2건 · 정산 전표 2건 · 장부 재공 2건 · 기술완료 재공 4건).

도입하면 달라지는 것

  • 처리 · 승인 · 전기 · 역처리를 한 앱에서 하고, 상태와 이력이 문서마다 남습니다.
  • 시뮬레이션 합계를 확인한 뒤 같은 금액으로 정산 · 충당 문서를 만들어 실행 후 대조 작업이 줄어듭니다.
  • 대사 예외가 담당자별 목록으로 올라와 마감 회의가 예외를 닫는 회의가 됩니다.
  • 분석 숫자를 문서 라인까지 내려가 검산할 수 있어 숫자의 출처를 설명하는 시간이 줄어듭니다.
  • 감사 로그와 역할 · 권한이 같은 앱에 있어 누가 언제 무엇을 했는지를 따로 모을 필요가 없습니다.

이런 회사에 맞습니다

생산오더 기준으로 재공을 평가하고 기술완료 오더를 정산하며, 월마감마다 장기 재공 충당 여부를 점검하는 제조 기업.

처리 건수가 많지 않아도 승인 단계(2단계)와 직무 분리를 시스템으로 남기고 싶은 생산 · 원가 · 재무 협업 조직. 사업장이 둘 이상이고 오더 정산 일정이 사업장마다 다른 경우에 특히 맞습니다.

SAP S/4HANA 를 쓰면서 재공 · 정산 대사를 엑셀로 하고 있는 원가 · 생산관리 팀.

이 앱은 업무 처리와 분류 · 집계 · 대사를 돕는 점검 도구입니다. 판정은 “점검 필요” · “확인 필요”로 표시하고, 최종 판단은 회사와 감사인이 합니다.

실행 화면

실제로 돌아가는 화면 44종을 사용 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있고, 화면마다 무엇을 하는 자리이고 어떻게 읽는지를 아래에 적었습니다. 숫자는 모두 같은 샘플 자료에서 나왔습니다.

사용 방법

  1. 위쪽 조건 줄에서 사업장(선택)과 기간 시작 · 종료(필수, 2026-01 형식)를 고릅니다. 모든 화면이 같은 조건을 씁니다.
  2. 오른쪽 위 파란 조회 버튼을 누르거나 입력 칸에서 Enter 를 누릅니다. 개요 화면은 열릴 때 한 번 조회합니다.
  3. 개요 · 할 일의 카드(기말 재공 잔액 · 정산 대기 · 승인 대기 · 반려 · 미해결 예외 · 확정 문서)와 내 할 일을 확인합니다.
  4. 왼쪽 메뉴 순서대로 기준정보 → 문서 처리 → 일괄 실행 → 대사 · 점검 → 분석 → 영역 간 연계 → 이력 · 감사 · 권한 탭으로 이동합니다.
  5. 문서 목록의 행을 누르면 오른쪽에 상세(항목 · 상태 이력 · 연계 문서 · 감사 로그)가 열리고, 분석 피벗의 칸을 누르면 드릴스루 창이 열립니다.
  6. 문서 목록 위 xlsx · CSV, 분석 화면의 CSV · PowerPoint 버튼으로 내려받습니다.

무엇으로 만들었나

자리무엇왜 그렇게 두었나
화면 컨트롤ToolPage 셸, 문서 처리는 FlexibleColumnLayout, 분석은 TreeTable 피벗, 차트는 직접 그린 SVG표준 컨트롤만 써서 외부 차트 라이브러리 반입 심사가 필요 없고, 좁은 화면에서 차트가 표 아래로 내려갑니다.
판정 · 계산 로직서비스 쪽 로직 파일(조회 · 단건 · 생성 · 수정 · 삭제 · 함수 호출)상태 전이 · 채번 · 검증 · 금액 계산 · 대사를 화면이 아니라 서비스가 판정해 어떤 화면에서 불러도 같은 결과가 나옵니다.
OData 구성OData V2 모델 하나, 화면 블록마다 해당 엔티티셋에 직접 바인딩, 조건은 필터 · 정렬을 서버로 전달큰 덩어리를 받아 화면에서 쪼개지 않으며, 분석 피벗만 큐브를 한 번 읽어 브라우저에서 축대로 다시 묶습니다.
테마sap_horizonSAP 표준 화면과 같은 시각 언어로 오가는 데 위화감이 없습니다.
앱 정보내용
영역생산 · 통합 관리
대상 업무재공 평가 · 오더 정산 · 장기 재공 충당 · 대사 예외 조치 · 분석
샘플 데이터생산오더 62건(진행 23 · 기술완료 7 · 마감 32) · 평가·정산 문서 75건(항목 150) · 원천 원가 라인 886개 · 큐브 1,087행 · 계획 659행
연계 표준 T-codeKKAO · KKAX · KO88 · CO88 · KOB1 · COOIS · CO03 · FB03
화면 구성OpenUI5 1.120 · sap_horizon 테마 · OData V2
SAP 표준 기능을 그대로 이어받은 부분 — 재공 계산 · 오더 정산 · 오더 실적 조회 · 전표 조회는 SAP 표준 T-code 의 데이터 구조를 그대로 이어받습니다. 이 앱은 표준 실행을 대체하지 않고, 처리 흐름과 점검 관점을 더합니다.

처음 열었을 때 — 카드와 할 일

처음 연 화면
처음 연 화면 — 기말 재공 잔액 · 정산 대기 · 승인 대기 · 반려 · 미해결 예외 · 확정 문서 · 열린 할 일이 카드로 뜨고 아래에 내 할 일이 이어집니다.

카드 숫자는 위 조회조건 범위 기준입니다. 샘플 데이터에서는 기말 재공 잔액 75.0백만원, 정산 대기 오더 7건, 승인 대기 문서 2건, 미해결 대사 예외 10건으로 읽힙니다. 사업장이나 기간을 바꾸고 조회하면 카드가 함께 바뀝니다.

기준정보 관리 — 오더 · 자재 · 충당 규칙

자재 기준정보
자재 기준정보 — 자재와 표준원가를 목록으로 보고 생성 · 수정 · 사용 중지를 합니다.

처리자 역할만 변경할 수 있고, 변경 내용은 이력에 남습니다. 자재의 사업장과 다른 오더는 만들 수 없습니다.

오더 생성 창
오더 생성 창 — 오더 번호는 서비스가 채번하고, 필수 항목이 비면 저장되지 않습니다.

목표 수량은 0보다 커야 하고 자재와 사업장이 맞아야 합니다. 조회 전용 사용자에게는 생성 버튼이 보이지 않습니다.

충당 규칙
충당 규칙 — 경과 일수 구간과 충당률 — 90일 이내 0%, 91~180일 10%, 181일 초과 30%.

규칙을 바꾸면 이후 일괄 실행의 충당 계산에 반영됩니다. 구간이 겹치거나 비면 저장을 거절합니다.

변경 이력
변경 이력 — 누가 언제 무엇을 바꿨는지 행마다 열어 봅니다.

이력은 감사 로그와 같은 기록에서 읽으므로 두 화면이 어긋나지 않습니다.

문서 처리와 승인 — 승인 버튼은 승인자에게만 보인다

문서 목록
문서 목록 — 평가 · 정산 · 조정 · 역처리 문서를 상태와 함께 봅니다.

문서번호 · 오더 · 자재로 검색하고 구분 · 상태로 거릅니다. 목록 위 생성 · 업로드 · xlsx · CSV 버튼은 역할에 따라 보입니다.

문서 상세
문서 상세 — 항목(차변 · 대변) · 상태 이력 · 연계 문서 · 감사 로그가 탭으로 이어집니다.

차변 합계와 대변 합계가 같아야 전기할 수 있습니다. 상태에 맞는 버튼만 노출됩니다.

문서 생성
문서 생성 — 구분 · 사업장 · 오더 · 전표일을 고르면 항목이 자동으로 구성됩니다.

정산 문서는 기술완료 오더만, 평가 문서는 진행 오더만 고를 수 있습니다.

입력 검증
입력 검증 — 필수 값이 없거나 형식이 틀리면 서버가 이유를 알려 줍니다.

검증은 서비스가 판정하므로 업로드와 화면 입력이 같은 규칙을 씁니다.

이중 정산은 서버가 거절
이중 정산은 서버가 거절 — 진행 중이거나 확정된 정산이 있는 오더에는 정산 문서를 만들 수 없습니다.

기술완료 오더 7건 중 이미 정산이 진행 중인 오더를 다시 고르면 이 메시지가 뜹니다.

엑셀 업로드 — 행별 검사
엑셀 업로드 — 행별 검사 — 업로드한 파일을 행마다 검사해 정상 행만 적용합니다.

불량 행은 사유와 함께 나열되고, 전표일 형식이 틀린 행은 적용되지 않습니다.

승인 창 — 2단계 안내
승인 창 — 2단계 안내 — 금액이 3,000,000원 이상이면 두 단계 승인이 필요하다는 안내가 함께 뜹니다.

현재 몇 단계가 끝났는지 보이고, 메모는 선택입니다.

작성자에게는 승인 버튼이 없다
작성자에게는 승인 버튼이 없다 — 작성자와 같은 사용자는 문서 상세에서 승인 · 반려 버튼을 볼 수 없습니다.

숨기기만 하는 것이 아니라 서버도 같은 규칙으로 거절합니다.

반려 창 — 사유 필수
반려 창 — 사유 필수 — 반려는 사유를 두 글자 이상 적어야 합니다.

반려된 문서는 처리자가 보완한 뒤 다시 검토를 요청합니다.

전기 완료
전기 완료 — 전기하면 상태가 확정이 되고 원가 · 재무 연계 문서 흐름이 만들어집니다.

정산 문서는 전기와 함께 오더가 마감 상태로 바뀝니다.

역처리 창
역처리 창 — 역처리는 사유를 적고 승인자가 합니다.

원문서와 연결된 반대(차 · 대 바뀐) 문서가 만들어집니다.

역처리 후 원문서는 취소
역처리 후 원문서는 취소 — 원문서 상태가 취소로 바뀌고 상태 이력에 역처리가 남습니다.

정산 문서를 역처리하면 오더가 기술완료로 돌아오고 원가 라인도 되돌아갑니다.

마감 기간은 역처리 불가
마감 기간은 역처리 불가 — 마감된 기간의 문서는 역처리할 수 없습니다.

이 경우 조정 문서로 처리하는 것이 순서입니다.

일괄 실행 — 시뮬레이션 합계와 실행 결과가 같다

시뮬레이션 결과
시뮬레이션 결과 — 저장하지 않고 대상 오더와 문서 금액, 최장 경과 일수를 보여 줍니다.

사업장과 대상 기간을 넣고 시뮬레이션을 누르면 대상 목록과 합계가 나옵니다. 이 화면에서는 아무것도 저장되지 않습니다.

실행 확인
실행 확인 — 문서 건수와 문서 금액을 다시 한 번 확인하고 실행합니다.

시뮬레이션을 하지 않으면 실행 버튼이 눌리지 않습니다.

실행 결과와 로그
실행 결과와 로그 — 만들어진 문서와 실행 로그가 이어서 보입니다.

실행으로 만든 문서의 합계는 시뮬레이션 합계와 같습니다.

같은 조건 재실행 — 대상 없음
같은 조건 재실행 — 대상 없음 — 같은 조건으로 다시 시뮬레이션하면 처리할 대상이 없습니다.

이중 실행은 서버가 막고, 화면은 이유를 안내합니다.

대사와 예외 조치 — 차이를 사유와 함께 닫는다

대사 결과
대사 결과 — 규칙 4종의 검사 건수 · 차이 건수 · 최대 차이가 표로 나옵니다.

머리 금액 2건, 정산 전표 2건, 장부 재공 2건, 기술완료 재공 4건이 예외로 올라옵니다. 예외는 모두 10건입니다.

예외 조치 창
예외 조치 창 — 조정 · 사유 · 보류 중에서 고르고 사유를 적습니다.

조정은 자동 정정이 가능한 경우에만 허용됩니다.

조치 후 상태
조치 후 상태 — 상태가 조치 중이나 해소로 바뀌고 조치자와 시각이 남습니다.

해소된 예외는 다시 열 수 있고, 조치 이력은 감사 로그에 남습니다.

분석 — 피벗에서 문서 라인까지

기본 피벗
기본 피벗 — 측정값 · 행 · 열 · 계산 항목을 고르고 조회하면 피벗과 차트가 나옵니다.

기본은 재공을 오더 상태별로 봅니다. 모든 축이 같은 큐브에서 나오므로 어떤 배치에서도 총합이 같습니다.

행 · 열 축 바꾸기
행 · 열 축 바꾸기 — 축을 바꿔도 다시 조회하지 않습니다.

큐브는 한 번 읽고 브라우저에서 다시 묶습니다. 총합은 바뀌지 않아야 합니다.

기준 대비 차이 모드
기준 대비 차이 모드 — 같은 표가 계획 대비 차이 표가 됩니다.

금액과 증감률을 둘 다 넘을 때만 색을 입힙니다.

요인분해와 워터폴
요인분해와 워터폴 — 총차이를 물량 · 수율 · 시간 원단위 · 시간당 원가로 가릅니다.

워터폴의 끝값은 실적과 같고, 요인 합과 총차이의 검산은 0 입니다.

차이 사유 저장
차이 사유 저장 — 차이가 난 행에 사유를 적어 둡니다.

사유는 조회 범위와 행 경로에 묶여 다음 조회에도 따라옵니다.

드릴스루 — 칸 금액 = 라인 합계
드릴스루 — 칸 금액 = 라인 합계 — 칸을 누르면 그 금액을 이루는 원가 라인이 열립니다.

맨 위에 칸 금액과 드릴스루 합계, 일치 표시가 나옵니다.

드릴스루에서 문서로
드릴스루에서 문서로 — 라인의 문서 번호를 누르면 문서 처리 화면으로 이동합니다.

원가 집계 라인처럼 별도 문서가 없는 경우에는 이유를 안내합니다.

차원 필터
차원 필터 — 차원 값을 여러 개 골라 범위를 좁힙니다.

필터를 적용한 합계는 선택한 값들의 큐브 합과 같습니다.

역할별 요약
역할별 요약 — 경영진 · 생산 책임자 · 원가 책임자 · 자재 책임자의 눈으로 기본 배치를 바꿔 봅니다.

역할을 고르면 그 역할이 먼저 보는 측정값과 축으로 시작합니다.

영역 간 연계 · AI · 이력 · 역할 · 좁은 화면

영역 간 연계 — 생산 → 원가 → 재무
영역 간 연계 — 생산 → 원가 → 재무 — 문서 번호로 이어지는 흐름을 봅니다.

전기하면 원가 · 재무 쪽 연계 행이 만들어지고, 역처리하면 취소 행이 이어집니다.

규칙 기반 해설
규칙 기반 해설 — 조회 범위의 숫자를 서비스가 문장으로 정리합니다.

금액과 비율은 서비스가 계산하고, 근거 표를 펼쳐 볼 수 있습니다. 원인은 단정하지 않고 확인 필요로 남깁니다.

에이전트 실행과 보고
에이전트 실행과 보고 — 감시 규칙 5종을 점검하고 걸린 항목을 보고 대기함에 올립니다.

하루 한 번 제한은 서버 기록으로 판정하고, 활동 기록이 남습니다.

감사 로그와 역할 · 권한
감사 로그와 역할 · 권한 — 쓰기 · 상태 전이 · 실행 요청이 모두 기록됩니다.

사용자별 역할과 권한표가 함께 있어 누가 무엇을 할 수 있는지 확인합니다.

조회 전용 사용자
조회 전용 사용자 — 조회자에게는 생성 · 승인 · 실행 버튼이 나타나지 않습니다.

권한은 서비스가 판정하므로 화면을 우회해도 막힙니다.

조회 전용 — 일괄 실행 비활성
조회 전용 — 일괄 실행 비활성 — 실행 영역이 비활성으로 보입니다.

필요한 역할이 없으면 이유를 안내합니다.

저장한 레이아웃 관리
저장한 레이아웃 관리 — 자주 쓰는 축 배치를 이름을 붙여 저장하고 기본 · 자동 조회로 지정합니다.

같은 이름은 거절됩니다.

좁은 화면 — 개요
좁은 화면 — 개요 — 휴대폰 폭에서도 카드와 할 일이 이어집니다.

메뉴는 접히고 카드는 세로로 쌓입니다.

좁은 화면 — 문서
좁은 화면 — 문서 — 목록과 상세가 한 열로 전환됩니다.

행을 누르면 상세로 이동하고 뒤로 가기로 돌아옵니다.

좁은 화면 — 분석
좁은 화면 — 분석 — 차트가 표 아래로 내려갑니다.

축 조합 상한을 넘으면 안내가 뜹니다.

화면 뒤에서 일어나는 일

판정 규칙과 상태 전이는 서비스가 판정합니다. 화면은 결과와 허용된 동작만 보여 줍니다. 여기부터는 목차에 올리지 않은 상세입니다. 도입 검토에서 “그래서 이건 어떻게 되느냐”로 자주 되돌아오는 대목을 판정 조건 · 결과 · 사용자 조치로 적었습니다.

판정 조건결과사용자 조치
작성자와 같은 사용자가 승인하려 함화면에는 승인 · 반려 버튼이 없고, 서버도 같은 규칙으로 거절합니다.다른 승인자에게 요청합니다.
문서 금액이 3,000,000원 이상승인 두 단계가 필요하고 한 단계가 끝난 뒤에도 두 번째 승인자를 기다립니다.두 번째 승인자가 같은 화면에서 승인합니다.
차변 합계와 대변 합계가 다름전기할 수 없고 차이 금액을 알려 줍니다.항목을 고쳐 합계를 맞춥니다.
진행 중이거나 확정된 정산이 있는 오더에 정산 문서 생성이중 정산으로 보고 서버가 거절합니다.기존 정산 문서를 확인하거나 역처리합니다.
같은 조건으로 일괄 실행을 다시 시도시뮬레이션은 빈 결과를 주고 실행은 거절됩니다.이미 만든 실행 결과와 문서를 확인합니다.
반려 사유가 두 글자 미만반려할 수 없습니다.사유를 적어 다시 반려합니다.
마감된 기간 문서를 역처리역처리할 수 없습니다.조정 문서로 처리합니다.

일괄 실행의 처리 단계

  1. 사업장과 기간을 정하고 시뮬레이션을 누릅니다. 이때는 아무것도 저장하지 않습니다.
  2. 대상 오더 · 경과 일수 · 구분별 금액과 합계, 그리고 조건 해시가 나옵니다.
  3. 합계를 검토한 뒤 실행을 누르면 확인 창에 건수와 금액이 다시 나옵니다.
  4. 서버는 같은 조건 해시일 때만 정산 · 충당 문서를 만들고, 실행 이력에 건수와 금액을 남깁니다.
  5. 실행 합계가 시뮬레이션 합계와 같은지는 대사 화면에서 다시 확인합니다.

조회조건

조회조건필수설명
사업장선택비워 두면 전체 사업장입니다. 고르면 모든 화면이 해당 사업장 필터로 서버에 질의합니다.
기간 시작필수2026-01 형식입니다. 샘플은 2026-01을 씁니다.
기간 종료필수2026-10 형식입니다. 일괄 실행은 이 기간을 대상으로 합니다.
검색어 · 상태 · 구분선택목록 위에서 문서번호 · 오더 · 자재로 찾고 구분 · 상태로 거릅니다. 필터와 정렬은 서버로 전달됩니다.

결과 컬럼

영역내용
개요 카드기말 재공 잔액 · 정산 대기 오더 · 승인 대기 문서 · 반려 · 미해결 대사 예외 · 확정 문서
문서 목록문서번호 · 구분 · 사업장 · 오더 · 금액 · 상태 · 작성자 · 전기일
일괄 실행 시뮬레이션오더 · 구분 · 경과 일수 · 문서 금액 · 합계와 조건 해시
대사 예외규칙 · 대상 · 왼쪽 값 · 오른쪽 값 · 차이 · 조치 상태
피벗행 축 · 열 축(차원 8종) · 측정값 8종(투입 · 입고 환산 · 재공 · 정산 · 충당 · 양품 · 불량 · 시간)
드릴스루칸의 금액을 만든 원가 라인과 그 합계

좁은 화면에서 달라지는 것

휴대폰처럼 좁은 화면에서는 왼쪽 메뉴가 접히고, 표 옆에 있던 차트는 표 아래로 내려갑니다. 표는 가로로 넘겨 보며, 같은 서비스와 같은 규칙을 쓰므로 숫자는 넓은 화면과 같습니다.

파일 구성

구분내용
앱 본체index.html · manifest.json · Component.js · controller · view · model · i18n · css
서비스서비스 쪽 로직 파일 한 개와 서비스 메타데이터 · 샘플 데이터 묶음
소개 영상영상 파일 · 대표 이미지 · 재생 지점 목록
설명서화면 그림과 설명을 담은 한 파일

SAP 표준 기능 확장 포인트

이 앱은 SAP 표준을 대체하지 않습니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 처리 흐름과 조회 · 검증 관점을 더해 확장합니다. 어디까지가 표준이고 어디서부터 이 앱인지를 먼저 적습니다.

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

하고 싶은 일SAP 표준표준에서 걸리는 자리이 앱이 하는 일
재공 평가KKAO · KKAX오더 단위로 계산하지만 승인 · 이력 · 대사가 계산 결과와 따로 놀 수 있습니다.평가 문서에 승인 · 전기 · 역처리와 대사를 한 화면에서 이어 붙입니다.
오더 정산KO88 · CO88정산 실행은 표준이 담당하지만 정산 전 시뮬레이션 합계 확인과 이중 정산 점검은 사람이 맞춥니다.시뮬레이션 합계와 실행 결과를 대조하고 이중 정산을 거절합니다.
원가 라인 조회KOB1라인 조회 후 문서로 되돌아가려면 조건을 다시 넣어야 합니다.칸에서 라인으로, 라인에서 문서로 한 번에 내려갑니다.
오더 상태 · 수량COOIS · CO03오더 단위 조회라 기간 · 사업장 집계 관점은 따로 만들어야 합니다.오더 상태별 · 사업장별 피벗으로 같은 숫자를 집계합니다.
전표 확인FB03전기 후 확인은 전표 화면에서 하고 생산 문서와의 연결은 사람이 기억합니다.영역 간 연계 화면에서 생산 → 원가 → 재무 흐름을 문서 번호로 봅니다.
차이의 요인 분해—표준에 없습니다. 보통 엑셀로 만듭니다.물량 · 수율 · 시간 원단위 · 시간당 원가로 가르고 합계를 검산합니다.
승인 · 직무 분리역할 설계역할은 PFCG 로 설계하지만 문서 단위 승인 단계는 별도로 구성해야 합니다.금액 구간별 2단계 승인과 작성자 승인 차단을 서비스에서 판정합니다.

T-code 별 연계 지점

이 앱이 표준 거래의 어느 자리를 이어받는지를 적었습니다. 운영에 올릴 때 “기존 화면을 없애야 하느냐”는 질문이 꼭 나오는데, 대부분은 없애지 않고 둡니다 — 정산 · 평가 실행과 감사 대응은 표준 거래가 맡는 편이 안전합니다. 아래 표의 오른쪽은 두 화면의 숫자를 맞춰 보는 지점입니다. 이 앱 결과에서 표준으로는 KOB1 · COOIS로 원천을 확인하고, 표준 화면의 값은 이 앱의 드릴스루와 대사 화면에서 다시 봅니다.

T-code이름연계
KKAO재공품 계산(오더별)이 앱의 평가 문서가 이어받는 오더별 재공 잔액. 두 화면의 오더별 재공 잔액을 맞춰 봅니다.
KKAX재공품 계산(집합 처리)일괄 실행의 평가 대상 선정과 같은 범위를 집합으로 계산한 결과와 비교합니다.
KO88오더 정산(개별)정산 문서의 대상 오더와 금액. 이 앱에서 정산 대상으로 본 오더를 표준 정산으로 확인합니다.
CO88오더 정산(집합 처리)일괄 실행 시뮬레이션 합계와 표준 집합 정산 결과를 대조합니다.
KOB1오더 실적 개별 항목원천 원가 라인과 드릴스루 라인의 합계를 같은 오더 · 기간으로 맞춥니다.
COOIS오더 정보 시스템오더 상태 · 수량. 기술완료 오더 수와 정산 대기 오더 수를 맞춥니다.
FB03전표 조회전기 뒤 만들어지는 재무 전표를 문서 번호로 이어서 확인합니다.

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

표준 CDS 분석 쿼리와 Fiori 분석 앱, Analysis for Office 는 정의된 쿼리를 읽는 데 강합니다. 이 앱은 같은 종류의 큐브와 분석 쿼리를 CDS 로 두되(#sec-cds 참조), 그 위에서 문서를 처리하고 승인하고 대사 예외를 닫는 흐름까지 한 서비스에 묶었다는 점이 다릅니다. 그래서 분석만 필요하면 CDS 쿼리를 표준 도구로 열고, 처리 흐름까지 필요하면 이 화면을 씁니다. 확인하지 못한 표준 Fiori 앱 이름은 적지 않았습니다. 확인 필요한 항목은 운영 환경의 View Browser(F2170)에서 실제 이름을 확인합니다.

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

자리무엇을 손대나어떻게
충당 규칙경과 일수 구간과 충당률기준정보 화면에서 바꿉니다. 이송 없이 데이터 변경으로 끝납니다.
승인 단계 · 금액 구간2단계 승인 기준 금액업무 규칙으로 확정한 값을 서비스 판정에 반영합니다.
직무 분리 · 역할데모 사용자 역할SAP 권한 객체와 PFCG 역할로 옮기고 데모 전환 기능은 제거합니다.
처리 펑션문서 전기 · 정산 · 평가 실행표준 BAPI · RAP 액션 · 표준 일괄 처리와 연결해 이중 계상을 막습니다.
분석 차원큐브에 올릴 차원 8종뷰의 group by 와 쿼리를 고치고 다시 이송합니다.
대사 규칙허용 오차와 닫는 주체규칙 4종의 기준을 확정하고 예외 담당을 정합니다.
확장 필드 · BAdI표준 오더 · 정산 필드에 붙일 항목확인 필요 — 환경에 따라 달라 설계 단계에서 정합니다.

분석 지표 정의

지표산식판정 기준대응 기능원천 데이터비고
기말 재공 잔액원가 라인의 재공 금액을 기간 누계로 합산장부 재공과 원가 라인 재공 합계가 같아야 함개요 카드 · 대사 R03오더 원가 라인샘플 75,049,523원
장기 재공 충당재공 잔액 × 경과 구간별 충당률90일 이내 0% · 91~180일 10% · 181일 초과 30%일괄 실행 · 충당 규칙오더 · 충당 규칙규칙은 기준정보에서 변경
정산 대기 오더기술완료이면서 정산 문서가 없는 오더재공 잔액이 남은 오더를 대상으로 함일괄 실행 · 대사 R04오더 상태샘플 7건
대사 예외규칙 4종의 좌우 값 차이허용 오차 1원 초과 시 예외대사 화면문서 · 원가 라인샘플 의도적 예외 10건
계획 대비 차이실제 투입 원가 − 계획 투입 원가요인 합이 총차이와 같아야 함요인분해큐브 · 계획 행샘플 +33,108,695원(3.8%)

CDS 구성

화면이 읽는 숫자는 CDS 뷰에서 한 번만 정의합니다. 아래는 운영 환경에서 이 구성을 올릴 때의 스케치입니다. 필드 이름과 표준 뷰 이름은 릴리스 · 환경에 따라 다르므로 그대로 붙여 넣기 전에 View Browser(F2170)로 실제 이름을 확인해야 하며, 확인이 필요한 자리는 주석에 적었습니다.

뷰 레이어 구성

레이어뷰하는 일왜 나누나
기준ZI_WipOrder · ZI_WipValRule오더 · 자재 · 충당 규칙(기준정보)화면 기준정보와 원천 테이블 사이의 이름 · 단위 · 상태를 한 곳에서 정합니다.
차원ZI_WipDim기간 · 사업장 · 오더 상태 · 자재그룹 · 자재 · 오더 유형 · 경과 구간큐브와 쿼리가 같은 차원 정의를 쓰도록 분리합니다.
큐브ZI_WipCube원가 라인을 차원 8종으로 합산한 측정값 8종어떤 축 배치에서도 총합이 같아지게 하는 단 하나의 집계 지점입니다.
쿼리ZC_WipQuery피벗 · 계산 항목 · 기준 대비 차이화면 조건(필터 · 변수)을 받아 큐브를 읽는 소비 뷰입니다.
권한ZR_WipQuery (DCL)사업장 · 역할별 조회 범위집계 단계에서 걸어 합계 뺄셈으로 새는 일을 막습니다.
서비스ZUI_WipHub (정의 · 바인딩)OData V2 서비스 게시화면이 부르는 서비스 이름과 엔티티셋을 한 곳에서 게시합니다.

① 충당 규칙 테이블 — 경과 구간과 충당률을 코드 밖으로

이 테이블이 정하는 것: 경과 일수 구간과 충당률. 화면의 기준정보 “충당 규칙”이 이 테이블을 읽고 씁니다. 규칙을 코드에 박지 않고 테이블로 둔 이유는 감사인이 “몇 일부터 몇 퍼센트인가”를 물을 때 한 곳에서 답하고, 회계 정책이 바뀌면 이송 없이 데이터 변경으로 끝내기 위해서입니다.

" ───────────────────────────────────────────────────────────
"  ZWIP_AGERULE — 재공 충당 규칙(경과 구간)
"  역할    : 경과 일수 구간별 충당률. 일괄 실행의 충당 계산이 읽는다.
"  나눈 이유: 규칙을 뷰 안의 case 로 박으면 정책 변경이 곧 이송이 된다.
" ───────────────────────────────────────────────────────────
@EndUserText.label : '재공 충당 규칙'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table zwip_agerule {
  key client  : abap.clnt not null;
  key bucket  : abap.char(1) not null;     " 1 / 2 / 3
  bucket_name : abap.char(30);             " 90일 이내 · 91~180일 · 181일 초과
  from_days   : abap.int4;
  to_days     : abap.int4;
  rate_pct    : abap.dec(5,2);             " 0 / 10 / 30
  active      : abap_boolean;
}

② 기준 뷰 — 오더와 자재

이 뷰가 정하는 것: 오더의 상태 · 수량 · 자재 연결. 큐브의 오더 차원이 모두 이 뷰를 거칩니다. 오더 상태를 코드값(REL · TECO · CLSD)으로 두고 이름은 화면에서 붙이는 이유는 언어와 표기를 뷰가 아니라 소비 쪽에서 정하기 위해서입니다.

" ───────────────────────────────────────────────────────────
"  ZI_WipOrder — 생산오더 기준
"  역할    : 오더 · 자재 · 사업장 · 상태 · 목표/입고 수량
"  나눈 이유: 큐브가 오더 마스터 테이블을 직접 읽으면 상태 판정이 뷰마다 달라진다.
"  확인 필요: 상태 판정(시스템 상태 JEST) 방식은 운영 환경에서 정한다.
" ───────────────────────────────────────────────────────────
@AccessControl.authorizationCheck : #NOT_REQUIRED
@EndUserText.label : '재공 평가 — 생산오더 기준'
@ObjectModel.usageType.sizeCategory : #L
@ObjectModel.usageType.serviceQuality : #A
define view entity ZI_WipOrder
  as select from aufk
    inner join   afpo on afpo.aufnr = aufk.aufnr
{
  key aufk.aufnr         as OrderNo,
      aufk.werks         as Plant,
      aufk.auart         as OrderType,
      afpo.matnr         as Material,
      @Semantics.quantity.unitOfMeasure : 'Unit'
      afpo.psmng         as TargetQty,
      @Semantics.quantity.unitOfMeasure : 'Unit'
      afpo.wemng         as GrQty,
      afpo.meins         as Unit
}

③ 원천 라인 뷰 — 오더 원가 개별 라인

이 뷰가 정하는 것: 투입 · 입고 환산 · 정산 · 충당의 원천 금액 한 줄. 큐브 합계는 반드시 이 뷰의 합계와 같아야 하며, 화면의 “큐브 합계 = 원천 라인 합계” 대사가 이 지점을 검사합니다.

" ───────────────────────────────────────────────────────────
"  ZI_WipLine — 원천 원가 라인
"  역할    : 오더 원가 개별 라인을 측정값 컬럼으로 펼친다.
"  나눈 이유: 드릴스루가 읽는 단 하나의 라인 뷰이므로 큐브와 어긋날 수 없게 한다.
"  확인 필요: 원가요소 → 측정값(투입 · 입고 · 정산 · 충당) 매핑은 운영에서 확정.
" ───────────────────────────────────────────────────────────
@AccessControl.authorizationCheck : #NOT_REQUIRED
@EndUserText.label : '재공 평가 — 원천 원가 라인'
define view entity ZI_WipLine
  as select from coep
    inner join   cobk on  cobk.kokrs = coep.kokrs
                      and cobk.belnr = coep.belnr
{
  key coep.kokrs                                   as ControllingArea,
  key coep.belnr                                   as DocNo,
  key coep.buzei                                   as ItemNo,
      coep.perio                                   as Period,
      coep.objnr                                   as ObjectKey,
      @Semantics.currencyCode : true
      coep.twaer                                   as Currency,
      @Semantics.amount.currencyCode : 'Currency'
      case when coep.wrttp = '04' then coep.wtgbtr else 0 end as ActAmt,
      @Semantics.amount.currencyCode : 'Currency'
      case when coep.wrttp = '11' then coep.wtgbtr else 0 end as CrdAmt
}

④ 큐브 — 차원 8종 · 측정값 8종

이 뷰가 정하는 것: 어떤 축 배치에서도 같은 총합이 나오는 집계. 화면 피벗은 이 큐브를 한 번 읽어 브라우저에서 행 · 열로 다시 묶으므로, 큐브가 합계의 유일한 원천이어야 합니다.

" ───────────────────────────────────────────────────────────
"  ZI_WipCube — 분석 큐브
"  역할    : ZI_WipLine 을 차원 8종으로 합산한 측정값 8종
"  나눈 이유: 피벗을 서버가 아니라 화면이 다시 묶으려면 합계의 원천이 하나여야 한다.
" ───────────────────────────────────────────────────────────
@AccessControl.authorizationCheck : #CHECK
@Analytics.dataCategory : #CUBE
@EndUserText.label : '재공 평가 — 분석 큐브'
@ObjectModel.usageType.dataClass : #MIXED
define view entity ZI_WipCube
  as select from ZI_WipLine as l
    inner join   ZI_WipOrder as o on o.OrderNo = l.ObjectKey
{
      @AnalyticsDetails.query.axis : #ROWS
  key l.Period,
  key o.Plant,
  key o.OrderNo,
  key o.OrderType,
  key o.Material,
      @Semantics.currencyCode : true
      l.Currency,
      @DefaultAggregation : #SUM
      @Semantics.amount.currencyCode : 'Currency'
      l.ActAmt,
      @DefaultAggregation : #SUM
      @Semantics.amount.currencyCode : 'Currency'
      l.CrdAmt,
      @DefaultAggregation : #SUM
      @Semantics.amount.currencyCode : 'Currency'
      cast( l.ActAmt - l.CrdAmt as abap.curr(15,2) ) as WipAmt
}

⑤ 분석 쿼리 — 화면 조건을 받는 소비 뷰

이 뷰가 정하는 것: 화면의 조회조건(기간 · 사업장 · 오더 상태 ...)이 서버로 넘어가는 모양. 조건은 필터로 선언해 두고 쿼리 안에서 합계를 다시 만들지 않습니다.

" ───────────────────────────────────────────────────────────
"  ZC_WipQuery — 분석 쿼리(Consumption)
"  역할    : 큐브를 화면 조건으로 읽는다. 합계는 큐브 그대로.
"  나눈 이유: 조건과 표시는 쿼리에, 합계의 정의는 큐브에 둔다.
" ───────────────────────────────────────────────────────────
@AccessControl.authorizationCheck : #CHECK
@Analytics.query : true
@EndUserText.label : '재공 평가 — 분석 쿼리'
define view entity ZC_WipQuery
  as projection on ZI_WipCube
{
      @Consumption.filter : { selectionType : #INTERVAL, mandatory : true }
      @AnalyticsDetails.query.axis : #FREE
  key Period,
      @Consumption.filter.selectionType : #SINGLE
      @AnalyticsDetails.query.axis : #ROWS
  key Plant,
  key OrderNo,
  key OrderType,
  key Material,
      @AnalyticsDetails.query.axis : #COLUMNS
      ActAmt,
      CrdAmt,
      WipAmt
}

⑥ 권한 — 집계 단계에서 거는 사업장 범위

이 객체가 정하는 것: 누가 어느 사업장의 숫자를 보는가. 드릴스루에만 걸면 전체 합계에서 자기 몫을 빼서 남의 숫자를 알 수 있으므로 큐브 단계에서 겁니다.

" ───────────────────────────────────────────────────────────
"  ZR_WipCube — 접근 제어(DCL)
"  역할    : 사업장 권한 객체로 큐브 · 쿼리 행을 제한한다.
"  나눈 이유: 합계 뺄셈으로 남의 사업장 값이 새는 일을 막는다.
"  확인 필요: 권한 객체와 역할 설계는 운영 PFCG 에서 확정.
" ───────────────────────────────────────────────────────────
@EndUserText.label : '재공 평가 큐브 권한'
@MappingRole : true
define role ZR_WipCube {
  grant select on ZI_WipCube
    where ( Plant ) = aspect pfcg_auth( M_MTDI_WRK, WERKS, ACTVT = '03' );
}

⑦ 서비스 정의와 바인딩 — 화면이 부르는 이름

이 객체가 정하는 것: 화면이 호출하는 서비스 이름과 엔티티셋 목록. 화면은 서비스 주소만 바꾸면 샘플 서비스에서 운영 서비스로 옮겨 갑니다.

" ───────────────────────────────────────────────────────────
"  ZUI_WipHub — 서비스 정의
"  역할    : 큐브 · 쿼리 · 문서 뷰를 OData V2 엔티티셋으로 노출한다.
"  나눈 이유: 서비스 이름과 엔티티셋 이름을 화면과 약속하는 단일 지점.
" ───────────────────────────────────────────────────────────
@EndUserText.label : '재공 평가·오더 정산 서비스'
define service ZUI_WipHub {
  expose ZC_WipQuery  as CubeSet;
  expose ZI_WipOrder  as OrderSet;
  expose ZI_WipLine   as ItemSet;
}
" 바인딩: OData V2 - UI 로 만들어 게시한다. 서비스 활성화는 /IWFND/MAINT_SERVICE 에서 확인한다.

운영 시점에 해야 할 일

개발보다 정하는 일이 많습니다. 아래 표의 왼쪽은 대부분 코딩이 아니라 합의입니다.

해야 할 일무엇을 정하나정하지 않으면누가
상태 흐름 · 승인 단계 · 금액 구간작성 → 검토 → 승인 → 전기와 2단계 승인 기준 금액(샘플은 3,000,000원)을 업무 규칙으로 확정합니다.화면 규칙과 운영 규칙이 달라 승인 요청이 반려됩니다.생산관리 · 원가 · 재무
직무 분리 · 역할작성자 승인 차단과 역할(조회 · 처리 · 승인 · 관리)을 SAP 권한 객체와 PFCG 역할로 옮기고 데모 사용자 전환을 제거합니다.역할 전환 기능이 남아 직무 분리가 무력해집니다.보안 · 권한
처리 펑션 ↔ 표준 실행평가 · 정산 · 충당 문서 생성을 표준 재공 계산 · 오더 정산 · 표준 일괄 처리와 어떻게 연결할지 정합니다.화면 문서와 표준 전표가 따로 생겨 이중 계상됩니다.원가 · IT
문서 번호 범위평가(WV) · 정산(ST) · 조정(AD) · 역처리(RV) 번호 범위와 연도 처리를 정합니다.번호 충돌과 감사 추적 단절이 생깁니다.IT · 회계
영역 간 연계 키생산 → 원가 → 재무 문서 흐름의 키(문서 번호 · 참조)를 정합니다.연계 화면이 비어 보이거나 잘못 이어집니다.원가 · 재무
대사 규칙 · 허용 오차규칙 4종의 허용 오차와 예외 처리 담당을 정합니다.예외가 쌓여도 닫는 주체가 없습니다.원가 · 회계
충당 규칙 · 경과 기준일경과 일수 기준일(기술완료일 기준인지 마지막 입고일 기준인지)과 구간 · 충당률을 확정합니다.정책이 다르면 충당 금액이 달라져 감사 설명이 어렵습니다.회계 · 감사 대응
통화 · 환산 시점외화 오더가 있으면 환산 시점과 환율 유형을 정합니다. 샘플은 원화 단일 통화입니다.같은 오더가 화면과 표준에서 다른 금액으로 보입니다.재무
원천 · 차원 범위원가 라인의 원천과 쓸 차원(사업장 · 오더 유형 · 자재그룹 등) 범위를 정합니다.나중에 차원을 늘리려면 뷰를 고쳐 다시 이송해야 합니다.원가 · IT
권한 설계큐브 단계 사업장 권한과 드릴스루 범위를 정합니다.전체 합계와 자기 몫의 차이로 남의 숫자가 드러납니다.보안 · 권한
성능 기준조회 응답 기준(초)과 파라미터 필수화(기간 · 사업장) 범위를 정합니다.대용량에서 조회가 끝나지 않습니다.IT · Basis
대사 체계표준 T-code 와 맞출 항목(KKAO · KO88 · KOB1 · COOIS)과 주기를 정합니다.화면과 표준 숫자의 차이를 누가 설명할지 정해지지 않습니다.원가 · 회계
전송(TR) 순서 · 서비스 활성화테이블 → 뷰 → 쿼리 → DCL → 서비스 순서로 이송하고, 서비스 활성화 뒤 manifest 의 서비스 주소를 교체합니다.순서가 어긋나면 뷰 활성화 오류가 납니다.IT
배치 등록에이전트 · 일괄 실행을 배치로 돌릴 때의 주기와 실행 사용자를 정합니다.사람이 화면을 열 때만 점검이 돕니다.Basis · 원가

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

가장 비싼 질문은 “이 숫자 맞아?”입니다. 그래서 만드는 쪽에서 먼저 대사식을 세워 두고 샘플 전체에 돌렸습니다. 사례로 든 숫자와 같은 자료의 결과입니다.

대사식검사 건수차이
큐브 합계 = 원천 라인 합계 (투입 · 입고 환산 · 재공 · 정산 · 충당 · 양품 · 불량 · 시간)측정값 8종0
문서 차변 = 대변750
R01 머리 금액 = 항목 차변 합계752 (의도적 예외)
R02 확정 정산 전표 = 원가 라인 정산액322 (의도적 예외)
R03 오더 장부 재공 = 원가 라인 재공622 (의도적 예외)
R04 기술완료 오더 재공 = 정산 처리액74 (의도적 예외)
요인 합 = 총차이 (검산)1 범위0
시뮬레이션 합계 = 실행 문서 합계실행 1회0

규칙 4종의 차이는 샘플에 의도적으로 심은 예외 10건(머리 금액 2 · 정산 전표 2 · 장부 재공 2 · 기술완료 재공 4)이며 모두 찾아냈습니다. 큐브 합계 · 요인 합 · 시뮬레이션 합계는 차이가 0 입니다. 화면 쪽은 브라우저 자동화로 따로 확인했습니다.

운영 데이터로 갈 때

샘플의 규모는 아래와 같습니다. 운영에서 오더와 문서가 수천만 건이 되어도 큐브 행 수는 건수가 아니라 차원 조합 수를 따라갑니다. 그래서 집계만 DB 로 내리면 화면이 들고 있을 행 수는 크게 달라지지 않습니다.

항목샘플 규모
오더62건 (진행 23 · 기술완료 7 · 마감 32)
문서75건 (항목 150)
원천 원가 라인886개
큐브1,087행 · 계획 659행
대사 예외10건 (의도적)
구간어떻게 되나무엇을 손보나
큐브 수천 행지금 방식 그대로 브라우저가 들고 묶어도 걸리지 않습니다.손볼 것 없음
큐브 수만 행축을 바꿀 때 눈에 띄게 걸립니다.CDS 에서 집계 수준을 올립니다(쓰지 않는 차원을 빼거나 기간을 묶음).
큐브 수십만 행브라우저가 들고 있을 수 없습니다.묶기를 서비스로 옮기고 필요한 조합만 받습니다.
문서 라인 조회전체를 내리면 수백 MB 가 됩니다.건수 상한을 두고 건수는 숫자만 따로 받습니다.

드릴스루는 집계가 아니라 조회이므로, 칸 하나에 매우 많은 라인이 매달려 있으면 건수를 먼저 세어 보고 일정 수를 넘으면 범위를 좁히라고 안내하는 편이 낫습니다. 응답 시간 기준은 운영 전환 때 정합니다.

자주 묻는 질문

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

숫자와 산식

이 앱을 쓰면 무엇이 달라지나요

재공 평가와 오더 정산, 장기 재공 충당을 오더 정보 · 정산 · 전표 조회를 오가며 엑셀로 맞추던 방식에서, 한 앱 안의 같은 흐름으로 바뀝니다. 처리자는 문서를 만들고, 승인자는 같은 화면에서 승인하며, 확인하는 사람은 대사 결과와 분석 숫자를 같은 큐브에서 봅니다. 이 글의 효과는 샘플 데이터로 확인한 흐름이며 시간 절감률 같은 수치는 주장하지 않습니다.

재공은 어떻게 계산하나요

샘플에서는 투입 원가에서 입고 환산 원가와 정산액을 뺀 값을 원천 라인 단위로 계산해 합산합니다. 큐브 합계는 원천 라인 합계와 측정값 8종 모두 일치합니다. 운영 연결 시 원가요소와 측정값의 매핑은 정해야 합니다.

충당은 어떤 규칙으로 계산하나요

경과 일수 구간별 충당률을 재공 잔액에 곱합니다. 샘플 규칙은 90일 이내 0%, 91~180일 10%, 181일 초과 30%이며 기준정보에서 바꿉니다. 경과 일수의 기준일을 무엇으로 할지는 운영에서 정해야 합니다.

대사 규칙 4종은 무엇을 비교하나요

R01 은 문서 머리 금액과 항목 차변 합계, R02 는 확정 정산 전표 금액과 원가 라인 정산액, R03 은 오더 장부 재공과 원가 라인 재공 합계, R04 는 기술완료 오더의 재공 잔액과 정산 처리액을 비교합니다. 샘플에는 의도적 예외 10건이 있고 나머지는 차이가 0 입니다.

요인분해의 합이 총차이와 항상 같은가요

네 요인(물량 · 수율 · 시간 원단위 · 시간당 원가)은 총차이를 남김없이 나누도록 계산하고, 화면이 합과 총차이의 차이를 검산 줄로 매번 보여 줍니다. 샘플 범위에서 검산 값은 0 입니다. 합이 맞지 않으면 그것 자체가 점검 신호입니다.

외화 오더나 환율은 어떻게 처리하나요

샘플은 원화 단일 통화이며 외화 오더는 포함하지 않았습니다. 운영에서 외화 오더가 있다면 환산 시점과 환율 유형을 먼저 정해야 하고, 그 값에 따라 큐브의 통화 환산 방식이 달라집니다.

화면과 조작

작성자가 직접 승인할 수 있나요

없습니다. 작성자 본인에게는 승인 · 반려 버튼이 보이지 않고, 서버도 같은 규칙으로 거절합니다. 3,000,000원 이상 문서는 승인자 두 단계가 필요합니다.

같은 오더를 두 번 정산할 수 있나요

진행 중이거나 확정된 정산 문서가 있으면 서버가 생성을 거절합니다. 일괄 실행도 시뮬레이션 해시가 일치해야 하고 같은 조건 재실행은 대상이 없다고 안내합니다.

시뮬레이션을 건너뛰고 실행할 수 있나요

없습니다. 시뮬레이션 결과 없이는 실행 버튼이 눌리지 않고, 서버도 시뮬레이션 해시가 맞아야 실행을 받습니다. 실행으로 만든 문서의 합계는 시뮬레이션 합계와 같습니다.

엑셀 업로드에서 잘못된 행은 어떻게 되나요

행마다 검사해 정상 행만 적용하고, 불량 행은 사유와 함께 보여 줍니다. 전표일 형식이 틀린 행은 적용되지 않습니다.

역처리는 어떻게 되나요

원문서와 연결된 반대 문서를 만들고 원문서는 취소 상태가 됩니다. 정산 문서를 역처리하면 오더가 기술완료로 돌아오며, 마감된 기간의 문서는 역처리할 수 없어 조정 문서로 처리합니다.

휴대폰에서도 쓸 수 있나요

네. 좁은 화면에서는 메뉴가 접히고 카드가 세로로 쌓이며 분석 차트가 표 아래로 내려갑니다. 축 조합이 상한을 넘으면 안내가 뜹니다.

분석 기능

피벗의 축을 바꾸면 다시 조회하나요

아니요. 큐브를 한 번 읽어 브라우저에서 행과 열로 다시 묶으므로 네트워크 요청이 없고 총합도 바뀌지 않습니다.

드릴스루 합계는 어떻게 검증하나요

칸을 누르면 같은 조건으로 원천 라인을 읽어 합계를 칸 금액과 비교해 일치 여부를 표시합니다. 문서 번호를 누르면 문서 화면으로 이동하며, 원가 집계 라인처럼 별도 문서가 없는 경우에는 이유를 안내합니다.

AI 해설은 숫자를 직접 만드나요

아니요. 금액과 비율은 서비스가 큐브에서 계산해 근거로 만들고, 화면의 해설은 그 근거를 문장으로 정리합니다. 모델이 연결되지 않은 샘플에서는 규칙 기반 해설이 나오며 원인은 단정하지 않고 확인 필요로 남깁니다.

에이전트는 무엇을 하나요

감시 규칙 5종(181일 초과 장기 재공 비중 · 기술완료 후 미정산 오더 · 불량 수량 비중 상승 · 투입 원가 계획 초과 · 승인 대기 장기 문서)을 점검하고 걸린 항목을 보고 대기함에 올립니다. 하루 한 번 제한은 서버 기록으로 판정하며 활동 기록이 남습니다.

도입과 운영

표준 T-code 와는 어떤 관계인가요

표준 실행은 SAP 표준 T-code(KKAO · KO88 · KOB1 · COOIS · FB03)가 담당하고, 이 앱은 처리 흐름과 점검 관점을 더해 확장합니다. 두 화면의 숫자를 맞춰 보는 지점은 확장 포인트 절의 표에 정리했습니다. 기존 표준 리포트를 없앨 필요는 없습니다.

적용 시기와 범위는 어떻게 되나요

이 글은 샘플 데이터 기준 앱을 소개하며, 특정 회계기준의 시행일이나 경과규정을 다루지 않습니다. 확인된 사실은 생산오더 단위 재공 평가와 기술완료 오더 정산, 장기 재공 충당의 처리 흐름이며, 운영 적용 시기는 회사 정책과 일정으로 정합니다.

운영 데이터에 연결하려면 어떤 절차가 필요한가요

원천 뷰와 큐브 · 쿼리 · 권한 뷰를 만들어 이송하고 서비스를 활성화한 뒤, 앱의 서비스 주소를 교체합니다. 코드를 만드는 일보다 상태 흐름 · 승인 금액 · 충당 규칙 · 매핑을 정하는 일이 더 많으며 소요는 이 항목들을 확정하는 속도에 좌우됩니다.

권한과 보안은 어떻게 되나요

샘플은 데모 사용자 전환으로 역할을 흉내 내지만 운영에서는 SAP 권한 객체와 PFCG 역할로 옮깁니다. 사업장 권한은 큐브 단계에서 걸어 합계 뺄셈으로 값이 새지 않게 합니다.

오더가 수만 건이면 성능은 어떤가요

샘플은 오더 62건 · 원천 라인 886개 규모입니다. 운영 규모에서는 기간 · 사업장을 필수 조건으로 두고 큐브를 서버에서 집계해 읽는 식으로 응답 시간 기준을 정해야 합니다. 이 규모에서의 성능은 확인 필요입니다.

계정이나 원가요소 매핑이 바뀌면 어떻게 하나요

원가요소와 측정값의 매핑은 원천 라인 뷰에 모여 있어 그 한 곳만 고치면 큐브와 쿼리에 반영됩니다. 바뀐 기준은 대사 규칙으로 표준 화면과 다시 맞춰 봅니다.

화면의 판정을 결산에 그대로 써도 되나요

이 앱은 점검 도구이며 최종 판단은 회사와 감사인이 합니다. “점검 필요” · “확인 필요”는 확인할 대상을 알려 주는 표시이고, 회계 처리의 적정성을 판정하지 않습니다. 세무 신고가 필요한 경우 최종 판단은 회사와 세무 대리인이 합니다.