SAP 배치잡, 야간에 혼자 돌아가는 주방의 자동 정산 시스템

SAP 배치잡(Batch Job)이 무엇인지, SM36·SM37 T-CODE로 어떻게 설정하고 모니터링하는지, 그리고 실무에서 실무자·PI·개발자가 어떻게 협업하는지를 설명합니다.

안녕하세요, Rabbit입니다! 🐰

레스토랑이 문을 닫은 밤 11시, 주방에는 아무도 없습니다. 그런데 새벽 2시에 자동으로 오늘 하루 재고가 집계되고, 내일 식재료 발주 목록이 생성되고, 주간 매출 리포트가 사장님 이메일로 발송됩니다.

이 야간 작업을 사람이 새벽에 나와서 하는 것이 아닙니다. 미리 ‘매일 새벽 2시에 이 작업을 실행해’라고 예약해둔 것이죠.

SAP의 배치잡(Batch Job)이 바로 이것입니다. 사람이 버튼을 누르지 않아도, 정해진 시간에 자동으로 실행되는 예약 작업입니다.

3줄 요약
  • 배치잡은 반복적인 업무를 정해진 시간에 자동 실행하도록 예약하는 기능입니다.
  • SM36으로 예약하고, SM37로 실행 결과를 모니터링합니다.
  • 설정은 실무자 요청 → PI 조건 설계 → 개발자 등록 순서로 협업해 만들어집니다.

배치잡이 필요한 상황

수작업으로 매일 해야 하는 반복 업무가 있습니다. 예를 들면 이런 것들입니다.

  • 매일 아침 환율 정보를 SAP에 업데이트한다
  • 매주 금요일 저녁 주간 생산 실적을 집계해서 담당자에게 이메일로 보낸다
  • 매월 말일 자정, 월별 재고 마감 처리를 실행한다
  • MRP를 매일 새벽에 자동으로 돌린다

이런 작업들을 담당자가 매번 수동으로 실행한다면 어떻게 될까요. 깜빡 잊는 날이 생기고, 사람이 없는 주말과 연휴에는 처리가 안 됩니다. 실수도 납니다.

배치잡은 이 문제를 해결합니다. 한 번 예약해 두면 담당자가 없어도, 주말이어도, 새벽이어도 시스템이 알아서 실행합니다.

레스토랑으로 치면 이렇습니다. 사장이 새벽 6시에 나와서 어제 재고를 집계하고 오늘 발주서를 쓰는 대신, 야간에 자동으로 집계가 완료되고 발주서 초안이 준비된 채로 사장이 아침에 출근합니다. 이 야간 자동화가 배치잡입니다.

SM36: 배치잡 예약 등록

배치잡을 만드는 T-CODE는 SM36입니다. 여기서 “어떤 프로그램을, 언제, 어떤 조건으로 실행할지”를 정의합니다.

설정하는 주요 항목은 세 가지입니다.

실행할 프로그램: SAP 안의 어떤 리포트 또는 프로그램을 실행할지 지정합니다. 예를 들어 MRP 실행 프로그램, 재고 집계 프로그램 등이 있습니다.

실행 시간과 반복 주기: 처음 실행 시점을 정하고, 이후 반복 주기(매일, 매주 월요일, 매월 말일 등)를 설정합니다.

실행 조건(Variant): 프로그램을 실행할 때 적용할 파라미터입니다. 어느 플랜트의 재고를 집계할지, 어느 기간을 대상으로 할지 같은 조건이 여기 들어갑니다.

💡 핵심: Variant 설정이 잘못되면 배치잡이 엉뚱한 범위의 데이터를 처리합니다. SM36 등록 전에 프로그램을 직접 실행해서 Variant가 맞는지 먼저 확인하는 것이 중요합니다.

SM37: 실행 결과 모니터링

배치잡이 돌고 나면 결과를 확인해야 합니다. T-CODE SM37이 배치잡 현황판입니다.

SM37에서는 배치잡의 상태를 볼 수 있습니다.

  • Finished: 정상 완료
  • Cancelled: 오류로 중단
  • Active: 현재 실행 중
  • Scheduled: 아직 실행 시간이 안 됨

오류가 났다면 해당 배치잡을 클릭해 로그를 확인할 수 있습니다. 어떤 단계에서 왜 실패했는지 로그에 남기 때문에, 원인 파악이 가능합니다.

실무에서는 배치잡 모니터링을 매일 아침 업무 시작 전에 확인하는 것이 기본입니다. 야간에 실행된 배치잡들이 정상적으로 완료됐는지를 먼저 체크하고, 오류가 있으면 당일 업무 시작 전에 처리합니다.

SAP 배치잡 흐름 도식 — SM36 예약 설정부터 SM37 모니터링까지 실행 흐름 그림 1. SM36 예약 등록에서 SM37 결과 모니터링까지 배치잡 흐름

실무 협업: 누가 만들고 누가 관리하는가

배치잡 하나가 만들어지기까지 보통 세 역할이 협업합니다.

실무자: 배치잡이 필요한 이유와 요구사항을 냅니다. “매주 금요일 저녁 7시에 이번 주 생산 실적을 집계해서 우리 팀장님 이메일로 보내주세요.” 어떤 데이터를, 언제, 어떤 형태로 받고 싶은지를 구체적으로 전달합니다.

PI 담당자: 실무자의 요구사항을 시스템 설계 언어로 정리합니다. 어떤 프로그램을 쓸지, Variant에 어떤 조건을 넣을지, 실행 주기는 어떻게 할지를 명세화합니다. 이 명세서가 개발자에게 전달됩니다.

개발자: 명세서대로 프로그램을 개발하거나 기존 프로그램을 활용해 SM36에 배치잡을 등록합니다. 등록 후 테스트 실행을 해서 정상 작동을 확인합니다.

배치잡이 운영에 들어간 이후의 모니터링은 PI 담당자 또는 실무 관리자가 맡는 경우가 많습니다. 매일 SM37을 확인하고, 오류가 생기면 개발자에게 알려 조치를 요청합니다.

배치잡의 장점과 주의점

장점: 사람 없이도 정시에 정확하게 실행됩니다. 야간·주말에도 업무가 돌아갑니다. 수작업보다 실수가 적고 일관성이 높습니다.

주의점: Variant 조건 설정 오류는 조용히 큰 문제를 만들 수 있습니다. 삭제 대상이 아닌 데이터를 대상으로 배치잡이 돌았을 때, 배치잡이 끝날 때까지는 아무도 모릅니다.

또한 오류가 생겨도 새벽에는 아무도 모릅니다. 다음 날 아침 SM37 확인을 빠뜨리면 중요한 작업이 밤새 실패한 채로 있을 수 있습니다.

⚠️ 주의: 운영 환경(PRD)에 배치잡을 등록하기 전에, 반드시 개발 또는 품질 환경(DEV/QAS)에서 충분히 테스트해야 합니다. 특히 대량 데이터를 처리하거나 삭제·마감 작업을 하는 배치잡은 테스트 없이 운영 투입하면 안 됩니다.

Rabbit의 한 끗

배치잡은 한 번 잘 만들어두면 담당자가 자리를 비워도 업무가 돌아가게 해주는 고마운 기능입니다. 그런데 역설적으로, 잘 돌아가고 있을 때는 존재감이 없고 문제가 생겼을 때만 존재감이 생깁니다.

배치잡의 진짜 가치는 ‘잘 돌아가는 것’이 아니라 ‘문제가 생겼을 때 빠르게 알아채는 것’입니다. 매일 아침 SM37 확인을 루틴으로 만드는 것, 그게 배치잡을 운영하는 사람의 가장 중요한 습관입니다. 😎


더 읽어보기

🗺️ 이 글과 연결된 글 전체 지도 보기 →
SAP 배치잡 SAP 매개변수 ID SAP MRP
선행 관련 심화