솔루션 홈
Order Closing · 결산 지원

SAP 오더 마감 현황 — 닫아야 할 오더가 아직 열려 있는가

수주·구매·생산 오더의 마감 대상을 한 화면에 모아, 잔량이 남았거나 정산이 끝나지 않은 건을 가려내는 화면입니다.

결산에서 재고와 원가가 맞지 않는 이유는 대개 닫히지 않은 오더입니다. 납품이 끝났는데 오더가 열려 있으면 잔량이 남고, 생산이 끝났는데 정산하지 않으면 원가가 재공품에 묶입니다.

문제는 수주·구매·생산이 각각 다른 모듈이라 확인하려면 화면을 세 번 옮겨야 한다는 점입니다. 표준 오더 구조를 그대로 이어받아 마감 대상을 한 화면에 모으도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.

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

  • 수주 오더 — 오더번호와 금액(SalesOrderCloses)
  • 구매 오더 — 오더번호(EBELN)와 발주일(BEDAT) · 금액(BDOCAMT)
  • 생산 오더 — 오더번호(AUFNR)와 금액(DOCAMT)
  • GL 계정 — 마감 대상 계정(GLCloses)
  • 마스터 — 거래처(BPMasters) · 자재(MatMasters) · 계정(GLMasters)
항목내용
업무 영역재무회계(FI) · 물류 연계 · 결산
Namespacefi086_orderclosing
셸 구조필터바 + 오더 유형별 탭 + 마감 대상 목록
화면 수조회 화면 1개 + 상세
데이터수주·구매·생산 오더와 GL 계정, 마스터 등 다중 엔티티
성격조회형(Read-Only) — 마감 처리는 각 모듈 표준이 담당
대상수주 · 구매 · 생산 오더 · GL 계정
UI 테마sap_horizon 단일 적용

실제 화면 2종 둘러보기

회사코드·기간으로 조회하면 오더 유형별 마감 대상이 나옵니다 → 잔량과 미정산 금액을 확인하고 → 각 모듈에서 마감 처리합니다.

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

Order Closing — Main.view.xml
필터바와 마감 대상
필터바와 마감 대상 — 회사코드·기간·오더 유형을 고르면 마감 대상 오더가 나옵니다. 오더번호·거래처·발주일·금액과 함께 상태가 표시됩니다.
Order Closing — 유형별 확인
오더 유형별 목록
오더 유형별 목록 — 수주·구매·생산·GL 을 전환하며 각각의 마감 대상을 확인합니다. 오류가 있는 건은 아이콘 색으로 구분되고 첨부 문서로 연결됩니다.

조작 방법

  1. 회사코드기간을 고릅니다. 결산 대상 기간입니다.
  2. 오더 유형을 전환하며 수주·구매·생산·GL 을 각각 확인합니다.
  3. 잔량이 남은 오더를 찾습니다. 납품이나 입고가 끝났는지 확인합니다.
  4. 미정산 생산오더는 원가가 재공품에 묶여 있는 상태입니다.
  5. 오류 표시가 있는 건은 원인을 확인합니다.
  6. 첨부 문서로 관련 증빙을 확인할 수 있습니다.
  7. 결과는 CSV 다운로드로 내려받아 각 모듈 담당에게 전달합니다.

마감 판정 규칙

오더 유형마다 마감 조건이 다릅니다.

수주 오더  납품·청구 완료 & 잔량 0        →  마감 가능
구매 오더  입고·송장 완료 & 잔량 0        →  마감 가능
생산 오더  실적 확정 & 정산 완료          →  마감 가능
GL 계정    미결 항목 없음                 →  마감 가능

잔량 있음 · 미정산  →  마감 불가 — 원인 확인 필요
오더 금액 ≠ 전표 금액  →  차이 확인 필요

네 가지를 한 화면에 모은 이유

결산 담당자는 재고와 원가가 왜 안 맞는지 찾습니다. 그런데 원인은 SD·MM·PP 어디에나 있을 수 있어 모듈 화면을 차례로 돌아야 합니다. 마감 대상만 한 화면에 모으면 어느 모듈에 몇 건이 남았는지가 한 번에 보이고, 담당자에게 바로 넘길 수 있습니다.

오더 유형별 마감 확인 사항

유형확인 사항결산 영향
수주 오더납품·청구 완료 여부매출 인식 시점
구매 오더입고·송장 완료 여부GR/IR 잔액
생산 오더실적 확정과 정산재공품 잔액
GL 계정미결 항목 존재 여부계정 잔액

조회조건

필드필수설명
회사코드필수대상 법인
기간필수오더 일자 From~To
오더 유형선택수주 / 구매 / 생산 / GL
거래처선택고객 또는 공급업체
자재선택자재별 조회
상태선택마감 가능 / 잔량 있음 / 오류

결과 컬럼

컬럼의미 · 표시
오더번호수주 · 구매(EBELN) · 생산(AUFNR)
오더 유형수주 / 구매 / 생산 / GL
거래처고객 또는 공급업체
자재대상 품목
오더일자 AUDAT · 발주일 BEDAT날짜 정보
오더 금액 BDOCAMT오더 기준 금액
전표 금액 DOCAMT실제 전기 금액
차이오더 − 전표. 잔량 또는 미정산
상태 · 오류 ERROR마감 가능 여부와 원인
첨부관련 증빙 문서

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
VA05수주 목록마감 대상만 추려 표시
ME2M · ME2N구매오더 목록잔량 있는 건 식별
KO88 · CO02오더 정산 · 변경미정산 건 식별
VBAK · EKKO · AUFK수주 · 구매 · 생산 오더 헤더조회 원천
SKA1계정 마스터GL 마감 대상

도입 시 확인이 필요한 부분

오더 마감 기준이 회사마다 다릅니다. 잔량이 조금 남아도 실무적으로 종결하는 경우가 있고, 완전히 소진돼야만 닫는 곳도 있습니다. 허용 잔량 기준을 정해야 불필요한 건이 목록에 쌓이지 않습니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCORDERCLOSE'
@EndUserText.label: '오더 마감 대상 (Z)'
define view Z_C_ORDER_CLOSING
  as select from ekko as PoHeader
    inner join      ekpo as PoItem on PoHeader.ebeln = PoItem.ebeln
    left outer join lfa1 as Vendor on PoHeader.lifnr = Vendor.lifnr
{
  key PoHeader.ebeln as OrderNo,
  key PoItem.ebelp   as ItemNo,
      'PO'           as OrderType,
      PoHeader.bukrs,
      PoHeader.bedat as OrderDate,
      PoHeader.lifnr as Partner,
      Vendor.name1   as PartnerName,
      PoItem.matnr,
      PoItem.netwr   as OrderAmount,
      PoItem.elikz   as DeliveryComplete,
      PoItem.erekz   as InvoiceComplete
      // 수주(VBAK/VBAP)·생산오더(AUFK)도 같은 형태로 만들어 union
      // 잔량·미정산 판정은 완료 표시와 실적 금액 비교로 산출
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.f.DynamicPage + 필터바 · 유형별 탭
필터바sap.ui.comp.filterbar.FilterBar — 조건 조합
유형 전환sap.m.IconTabBar — 수주 · 구매 · 생산 · GL
목록sap.ui.table.Table — 유형별 컬럼 구성
상태 표시아이콘 색으로 마감 가능 · 잔량 · 오류 구분
첨부sap.m.Link — 관련 증빙 연결

탭으로 나눈 이유

오더 유형마다 필요한 열이 다릅니다. 수주는 청구 여부, 구매는 입고·송장, 생산은 정산 상태를 봐야 합니다. 한 표에 다 넣으면 대부분 빈 칸이 됩니다. 탭으로 나누면 각 유형에 맞는 열만 보이고 건수도 탭에서 바로 확인됩니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — ko 로케일 · sap_horizon
view/Main.view.xml필터바와 유형별 탭
controller/Main.controller.js조회 · 유형별 판정 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 아이콘 포맷터
localdata/SalesOrderCloses.json수주 마감 대상
localdata/PurchaseOrderCloses.json구매 마감 대상
localdata/ProductionOrderCloses.json생산 마감 대상
localdata/GLCloses.jsonGL 마감 대상

검증 결과

검증 항목결과
오더 금액 − 전표 금액 = 차이 (전 건)통과
완료 표시가 있는 오더는 마감 가능으로 판정통과
오더 유형별 컬럼 구성이 데이터와 정합통과
거래처·자재 코드가 있으면 명칭도 존재통과
오류 건은 오류 메시지 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 탭 전환 후 캡처2/2
테마 런타임 확인sap_horizon

자주 묻는 질문

잔량이 조금 남은 오더도 닫아야 하나요?

회사 기준에 따릅니다. 실무적으로 소액 잔량은 종결 처리하는 경우가 많습니다. 허용 기준을 정하지 않으면 목록에 계속 쌓여 확인이 형식이 됩니다.

생산오더 미정산은 왜 문제인가요?

원가가 재공품에 묶여 매출원가로 넘어가지 않습니다. 제품은 팔렸는데 원가는 남아 있어 손익이 실제보다 좋게 나옵니다.

이 화면에서 마감 처리도 되나요?

조회 전용입니다. 마감은 각 모듈 표준 트랜잭션에서 처리해야 후속 로직이 함께 돌아갑니다. 이 화면은 대상을 찾아 담당자에게 넘기는 역할입니다.

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

오더 데이터는 각 모듈 표준 구조에 있습니다. 이 화면은 흩어진 마감 대상을 한 곳에 모아 결산 담당자가 전체 현황을 파악하게 하는 확장입니다.

오더 마감 점검, 지금 쓰는 SAP 위에서 확장해 보세요

어느 모듈에 몇 건이 남았는지가 한 화면에 있으면 결산 전 정리가 빨라집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

오더 마감수주 마감구매오더생산오더 정산결산잔량OpenUI5