News

계획오더 vs 생산오더 — 전환 시점 기준 #shorts #SAP #PP

이 글이 답하는 질문

  • MRP가 만들어 준 계획오더는 정확히 어떤 상태의 문서인가?
  • 계획오더를 생산오더로 언제 넘겨야 하나 — 기준이 되는 시점은 무엇인가?
  • 전환하고 나면 왜 갑자기 수량·일정 변경이 번거로워지나?
  • 부분 전환, 집합 전환, 자동 전환은 각각 언제 쓰나?
  • 전환 시점을 잘못 잡으면 재고와 원가에 어떤 흔적이 남나?

이 글을 보기 전에

MRP를 한 번이라도 돌려 본 경험, 자재마스터의 MRP 뷰와 작업계획 뷰를 열어 본 경험이면 충분합니다. BOM과 라우팅이 무엇인지 알고 있으면 원가 부분이 훨씬 잘 읽힙니다. ABAP 코드는 조회 예제만 나오므로 SELECT 문 정도만 읽을 수 있으면 됩니다.

계획오더는 "제안"이고 생산오더는 "지시"다

둘의 차이를 한 문장으로 줄이면 이렇습니다. 계획오더는 시스템이 만든 제안이고, 생산오더는 사람이 승인한 실행 지시입니다.

MRP는 소요량과 재고를 비교해 부족분을 계산하고, 그 결과를 계획오더로 떨어뜨립니다. 이 문서는 매번 MRP를 돌릴 때마다 다시 계산됩니다. 어제 만들어진 계획오더가 오늘 MRP 실행 후 수량이 바뀌거나 아예 사라질 수 있다는 뜻입니다. 시스템이 자유롭게 지웠다 다시 만들 수 있는 문서이기 때문에 회계 전표도, 자재 예약의 확정도 걸리지 않습니다.

생산오더는 성격이 다릅니다. 전환하는 순간 그 문서는 실행 문서가 됩니다. 오더 번호가 발번되고, 원가 객체가 생기고, 구성품에 대한 예약이 확정되고, 작업장에 부하가 잡힙니다. 이제부터는 MRP가 마음대로 손대지 못합니다.

그래서 전환은 "문서 종류를 바꾸는 작업"이 아니라 계획을 실행으로 확정하는 의사결정입니다. 이 관점을 놓치면 아래 나오는 모든 제약이 이해되지 않습니다.

항목별로 놓고 보면 차이가 더 분명해집니다.

                  계획오더            생산오더
저장 테이블        PLAF               AUFK + AFKO
MRP가 수정         가능 (확정 전)      불가
구성품 예약        가상                RESB 확정
작업장 부하        참고용               정식 반영
원가 객체          없음                 생성됨
상태 관리          없음                 CRTD → REL → TECO
실적 확인          불가                 가능

표에서 가장 중요한 줄은 마지막 두 개입니다. 생산오더에는 상태(status)라는 개념이 생기고, 그 상태를 따라 실적을 쌓을 수 있게 됩니다. 계획오더에는 이런 게 아예 없습니다. 만들었다 지웠다 하는 문서에 실적을 붙일 수는 없기 때문입니다.

테스트 환경

  • S/4HANA 2023 온프레미스 (ABAP 7.58)
  • PP 모듈 표준 트랜잭션 — MD04, MD11, CO40, CO41, CO01
  • 조회 예제는 ADT(Eclipse)에서 작성

이 글의 예제는 산업용 밸브 조립 라인을 가정해 직접 구성한 시나리오입니다. 완제품 ZVLV-A200(제어 밸브 어셈블리), 플랜트 3100, 반제품 ZVLV-BODY와 구매품 ZVLV-SEAL을 씁니다.

직접 해보기

1. MRP 결과에서 계획오더 상태부터 확인한다

MD04(재고/소요량 리스트)를 열면 계획오더가 어떤 상태인지 바로 보입니다. 여기서 봐야 할 것은 수량이 아니라 확정 표시입니다.

MD04 — ZVLV-A200 / 플랜트 3100

일자         MRP요소      수량      상태
2026.09.02   고객소요     -120
2026.09.05   계획오더     +120      (확정 없음)
2026.09.18   고객소요     -200
2026.09.22   계획오더     +200      *  ← 확정됨

확정 표시가 없는 계획오더는 다음 MRP 실행에서 바뀔 수 있습니다. 별표가 붙은 것은 MD11 또는 수동 확정으로 고정된 것이라 MRP가 건드리지 않습니다.

실무 순서는 보통 이렇습니다. 계획 담당이 확정을 먼저 걸어 계획을 얼리고, 그다음 생산 담당이 전환합니다. 확정 없이 바로 전환해도 되지만, 그러면 전환 직전까지 수량이 흔들릴 수 있습니다.

2. 전환 방식을 고른다 — 개별·부분·집합

전환에는 세 가지 경로가 있고, 각각 쓰는 자리가 다릅니다.

CO40  개별 전환   계획오더 1건 → 생산오더 1건
CO41  집합 전환   조건에 맞는 계획오더 다수를 한 번에
MD04  라인 전환   리스트에서 해당 행을 직접 전환

부분 전환: CO40에서 수량을 줄여 입력
  계획오더 120 → 생산오더 80 전환
  → 계획오더에 40이 남는다

부분 전환이 유용한 경우는 명확합니다. 자재가 일부만 입고됐거나, 설비 여력이 절반뿐일 때 우선 착수분만 실행 문서로 만들고 나머지는 계획 상태로 남겨 둡니다. 남은 40은 여전히 MRP 관리 대상이라 상황이 바뀌면 자동으로 조정됩니다.

집합 전환은 주간 단위로 확정 구간을 통째로 넘길 때 씁니다. 다만 한 번에 넘기면 되돌리기가 번거로우므로, 선택 조건에 개시일 범위를 반드시 걸어야 합니다.

3. 전환 후 무엇이 생겼는지 확인한다

전환 직후 생성된 문서를 조회해 보면 계획 단계에는 없던 것들이 붙어 있습니다.

* 생산오더 헤더와 구성품 예약 확인
SELECT a~aufnr,        " 오더번호
       a~auart,        " 오더유형
       b~plnbez,       " 자재
       b~gamng,        " 총 수량
       b~gstrp,        " 기본 개시일
       b~gltrp         " 기본 완료일
  FROM aufk AS a
  INNER JOIN afko AS b
    ON a~aufnr = b~aufnr
  WHERE b~plnbez = @lv_matnr
    AND a~werks  = @lv_werks
  INTO TABLE @DATA(lt_order).

* 구성품 예약 — 계획오더 시절에는 확정되지 않던 부분
SELECT rsnum, rspos, matnr, bdmng, bdter, kzear
  FROM resb
  WHERE aufnr = @lv_aufnr
  INTO TABLE @DATA(lt_reserv).

계획오더는 PLAF 테이블에 살고, 전환되면 AUFK(오더 헤더)와 AFKO(생산오더 상세)로 옮겨 갑니다. 동시에 RESB에 구성품 예약이 확정 상태로 기록됩니다. 이 예약이 생기는 순간부터 해당 자재는 다른 오더가 마음대로 가져다 쓸 수 없습니다.

원가 쪽에도 흔적이 남습니다. 전환 시점의 BOM과 라우팅이 오더에 복사되어 계획원가가 확정됩니다. 나중에 마스터를 고쳐도 이미 만들어진 오더의 계획원가는 자동으로 따라오지 않습니다.

4. 상태가 어디까지 왔는지 본다

생산오더가 생겼다고 바로 작업이 시작되는 것은 아닙니다. 상태가 한 단계 더 남아 있습니다.

CRTD  생성됨    — 전환 직후. 자재 출고 불가, 확인 불가
REL   릴리스됨  — 출고·작업 확인 가능. 현장 착수 시점
TECO  기술 완료 — 실적 마감. 잔여 소요 제거

* 상태 조회 — 오더별 시스템 상태
SELECT o~aufnr, s~stat, t~txt04
  FROM aufk AS o
  INNER JOIN jest AS s
    ON s~objnr = o~objnr
  INNER JOIN tj02t AS t
    ON t~istat = s~stat
  WHERE o~aufnr = @lv_aufnr
    AND s~inact = @abap_false
    AND t~spras = @sy-langu
  INTO TABLE @DATA(lt_status).

전환과 릴리스를 한 번에 처리하도록 설정할 수도 있지만, 두 단계를 나눠 두는 편이 안전합니다. 전환은 계획 담당이, 릴리스는 현장 담당이 하는 구조라면 자재가 준비되지 않은 오더가 출고 대상으로 잡히는 일을 막을 수 있습니다.

여기서 자주 나오는 질문이 있습니다. "그럼 전환을 늦추면 되지, 왜 굳이 CRTD 상태로 오더를 만들어 두나?" 이유는 가시성입니다. 전환된 오더는 현장 리스트에 뜨고 부하로 잡히기 때문에, 다음 주에 무엇을 만들어야 하는지 미리 보입니다. 계획오더 상태로 두면 그 정보가 생산 부서까지 내려가지 않습니다.

그래서 전환 시점을 언제로 잡나

정답은 하나가 아니지만, 판단 기준은 세 가지로 정리됩니다.

  • 자재 가용성 — 구성품이 확보됐거나 확보 일정이 확실할 때. 자재도 없는데 오더부터 만들면 예약만 잡아 두고 다른 오더를 굶기는 결과가 됩니다.
  • 계획 안정성 — 고객 소요가 더 이상 흔들리지 않는 구간. 보통 확정 구간(planning time fence) 안쪽이 여기에 해당합니다.
  • 착수 리드타임 — 개시일에서 준비 작업에 필요한 기간을 뺀 시점. 너무 일찍 전환하면 현장에 안 쓰는 오더가 쌓이고, 너무 늦으면 자재 출고와 작업 지시가 밀립니다.

세 조건이 모두 만족되는 지점이 전환 시점입니다. 실무에서는 이걸 매번 사람이 판단하지 않고 확정 구간과 전환 리드타임을 설정으로 잡아 두고, 그 범위에 들어오는 계획오더를 주기적으로 집합 전환하는 방식이 일반적입니다.

밸브 조립 라인을 예로 들면 이런 식으로 굴러갑니다.

확정 구간 4주 / 전환 리드타임 5일 가정

  D-28 ────────────── D-5 ──── D-0(개시일)
  │                    │        │
  │  계획 흔들림 구간     │ 전환구간 │ 착수
  │  MRP 자유 조정       │        │
  └─ 확정 구간 진입 ─────┘

D-28: 확정 구간에 들어옴 → MRP가 더 이상 수량을 못 바꿈
D-5 : 집합 전환 대상 → 생산오더 생성 (CRTD)
D-2 : 자재 확보 확인 후 릴리스 (REL)
D-0 : 착수

이 구조의 장점은 사람이 개입하는 지점이 딱 하나(릴리스)로 줄어든다는 것입니다. 그 앞은 설정으로 자동화되고, 뒤는 실적으로 흘러갑니다. 반대로 확정 구간이 없거나 너무 짧으면 전환 직전까지 수량이 바뀌어 담당자가 매번 확인해야 합니다.

자주 만나는 함정

  • 전환 후 수량 변경이 안 된다고 오해 — 안 되는 게 아니라 절차가 늘어난 것입니다. 생산오더 수량을 바꾸면 예약과 부하가 함께 재계산되고, 이미 출고된 자재가 있으면 차이가 원가에 남습니다. 계획 단계에서 수량이 흔들린다면 아직 전환할 때가 아닙니다.
  • 확정하지 않고 전환 — 전환 직전 MRP가 돌면서 계획오더 수량이 바뀌면, 담당자가 보고 있던 수량과 실제 전환된 수량이 달라집니다. 확정을 먼저 거는 습관이 이 사고를 막습니다.
  • 집합 전환에 조건을 안 걸기 — CO41에서 자재만 넣고 실행하면 먼 미래 계획오더까지 전부 실행 문서가 됩니다. 되돌리려면 오더를 하나씩 삭제(TECO 후 삭제 플래그)해야 하므로 개시일 범위는 필수입니다.
  • BOM 변경 후 기존 오더를 방치 — 전환 시점의 BOM이 복사되므로, 설계 변경이 있었다면 이미 만들어진 오더는 옛 구성으로 남습니다. 읽어들이기(구성품 재읽기)를 하지 않으면 잘못된 자재가 출고됩니다.
  • 부분 전환 후 잔량 관리 누락 — 남은 계획오더 수량을 잊고 방치하면 MRP가 계속 그 수량을 공급 예정으로 잡습니다. 실제로 만들 계획이 없다면 잔량은 삭제해야 합니다.

핵심 한 줄

계획오더는 MRP가 언제든 고쳐 쓰는 제안이고, 생산오더는 전환하는 순간 예약·부하·원가가 확정되는 지시입니다. 그래서 전환 시점은 자재가 확보되고 계획이 더 이상 흔들리지 않는 지점이어야 합니다.

더 파볼 주제

  • 확정 구간(planning time fence)과 MRP 유형 조합 — 어디까지 자동으로 얼릴 것인가
  • 생산오더 릴리스와 자재 출고 시점의 관계
  • 구성품 재읽기가 필요한 상황과 원가 영향
  • 반복생산(REM)에서는 왜 생산오더가 없는가

댓글 0

아직 댓글이 없습니다.