SAP 백그라운드 Job, 배치의 정의

🔧 1. SAP 백그라운드 Job의 정의

  • SAP 시스템에서 대화식(Interactive)으로 수행하기에는 부적절한 작업을 백그라운드에서 자동으로 실행하는 방식(배치잡).
  • 예: 리포트 출력, 대량 데이터 업데이트, 인터페이스 실행, 일배치 등.

📌 2. 백그라운드 Job의 유형

 

클래식 Job SAP GUI 또는 SM36에서 생성한 전통적인 Job
Event-driven Job 특정 이벤트 발생 시 실행되는 Job
시간 예약(Scheduled) 특정 시간대에 실행되도록 예약
주기적 Job 일정 주기로 반복 실행되도록 설정
 

🧰 3. Job 생성 방법 (SM36)

  1. 트랜잭션 코드: SM36
  2. Job Name 입력 (예: Z_BATCH_REPORT)
  3. Job Class 선택
    • A (High), B (Medium), C (Low – 일반적으로 사용)
  4. Step 추가
    • 프로그램 이름 (예: Z_MY_REPORT)
    • Variant 선택 가능
  5. 시작 조건(Start Condition) 설정
    • 즉시 실행 / 특정 시간 / 주기적 / 이벤트 기반
  6. 저장

🔍 4. Job 모니터링 (SM37)

  1. 트랜잭션 코드: SM37
  2. Job 이름 / 사용자 / 상태로 검색
  3. Job 상태
상태 설명
Scheduled 예약됨
Released 실행 가능 대기 중
Ready 큐에 등록됨 (곧 실행됨)
Active 실행 중
Finished 정상 완료
Cancelled (X) 오류로 중단됨
 
  1. 로그 확인: Job 선택 후 "Job Log" 클릭
  2. 스텝 로그 확인: "Step" 클릭

🔄 5. 주기적 Job 설정

  • SM36 → Start Condition"Periodic Job"
  • SM37에서 주기성 변경 가능 (선택 후 → 메뉴 → Job → Change)

🚨 6. 실패한 Job 처리

  1. SM37에서 상태가 Cancelled인 Job 확인
  2. Job Log에서 에러 메시지 확인
  3. 문제 원인 분석 (프로그램 문제, 권한 부족, 시스템 자원 문제 등)
  4. 수정 후 재실행 (SM37에서 복사 → 재등록)

🧩 7. 관련 테이블

TBTCO Job 상태 정보
TBTCP Job 단계(스텝) 정보
TBTCJOB Job 마스터 정보
 

🛠️ 8. 자동화/스케줄링 팁

  • SAP Job Chain: SM36에서 의존 Job 지정 가능 (Job이 완료되면 다음 Job 실행)
  • External Scheduler 연동: Control-M, Autosys 등과 연동 가능
  • SAP Solution Manager / SAP BPA 사용: 대규모 Job 관리 가능

✅ 9. 자주 사용하는 트랜잭션

 

T-code 설명
SM36 Job 생성
SM37 Job 모니터링
SM38 ABAP 프로그램 실행
SE38 ABAP 프로그램 관리
SM21 시스템 로그 확인
ST22 ABAP 덤프 확인
SM13 업데이트 실패 확인

 


⚙️SAP 인터렉티브 실행 및 백그라운드 Job 성능 차이 핵심 비교


 

항목 인터랙티브 실행 백그라운드 Job
처리 속도 느릴 수 있음 (제한된 리소스) 빠름 (서버 자원 최적화, 대량처리용)
메모리/CPU 우선순위 낮음 (사용자 작업 분산 배려) 높음 (클래스에 따라 우선순위 부여 가능)
타임아웃 제한 있음 (보통 10~15분, 사용자 세션 유지) 없음 또는 매우 김 (수시간 가능)
스풀 처리 수동 저장 또는 출력 자동 스풀 생성 및 출력
대량 처리 적합성 부적합 (Out of Memory 등 오류 위험) 적합 (대량 리포트, 인터페이스, 집계 작업 등)
실패 시 처리 오류 발생 시 즉시 종료 재시도, 로그 남김, 자동 재구성 가능

 

🚀 추천 가이드라인

작업 유형추천  실행 방식
대량 리포트 백그라운드 Job
인터페이스 전송 백그라운드 Job
월말/정기 배치 백그라운드 Job
소규모 분석 리포트 인터랙티브 실행 가능
사용자 직접 조작이 필요한 화면 인터랙티브 실행