SAP 에서 작업을 수행할때, 크게 프론트 수행(Dialog) 과 백그라운드 수행(Non-Dialog batch) 으로 나뉜다.
프론트 수행은 말그대로 사용자가 보는 화면에서 바로 수행하는 것이며, 보통 대부분의 수행이 프론트 수행이다.
작업 수행 결과를 바로 확인 할 수 있으며, 대개 연속적인 작업이나 수행 시간이 짧은 프로그램을 실행할때 사용한다.
Work Process Typ. DIA 에서 수행된다.
백그라운드 수행은 시스템에서 내부적으로 수행되도록 설정하며, 수행 한번으로 프로세스가 끝나거나, 수행 시간이 긴 프로그램을 실행할때 사용한다.
작업 수행 결과를 확인하기 위해서는 배치잡 Spool 이나 Log 를 통해 확인해야 한다.
Work Process Typ. BTC 에서 수행된다.
백그라운드 작업 중, 특정 시간에 주기적으로 수행되도록 설정한 백그라운드 작업을 배치잡이라고 한다.
여기서는 SAP 에서 배치잡을 등록하는 방법과 기타 유용한 설정에 대해서 서술한다.
배치잡 우선순위 (Job Class)
배치잡 우선 순위이다. A 가 제일 높고, C 가 제일 낮다.
배치잡이 많아 수행이 지연될 경우, 높은 우선순위의 배치잡을 먼저 처리한다.
즉, 높은 우선순위의 배치잡일수록 작업 지연시간이 줄어들게 된다.
여기서 어떤 배치잡을 우선순위가 높게 설정해야 하는 고민이 있을 수 있다.
따로 우선순위 지정 요청이 없다면, 반복주기가 긴 배치잡일수록 우선순위를 높게 지정해야 한다.
그 이유는 10분 주기 배치잡과 1달 주기 배치잡을 비교했을때, 어떤 배치잡이 지연 없이 수행되어야 하는지 생각해본다면 쉽게 이해할 수 있을것이다.
배치잡 수행 그룹 (Job Server Group)
Tcode : SM61 -> Job Server Groups
배치잡이 수행될 서버를 그룹으로 지정할 수 있다.
해당 그룹 설정 후, 배치잡에 지정하면 해당 배치잡은 설정한 그룹 내에서만 로드밸런싱되어 수행된다.
주야간 작업 모드 (Day and Night Operation)
작동 모드를 정의하여, 주간/야간 각각 다르게 BTC Work Process 를 변경 할수 있다.
요즘은 옛날에 비해 컴퓨팅 파워가 좋아졌고, 글로벌 ERP 를 운영하면서 자주 쓰이지 않는 기능이다.
자세한 내용은 아래 help.sap 문서를 참조하기 바란다.
배치잡 디버깅 (Batch job Debug)
배치잡/백그라운드 작업에 대해서 다음과 같이 디버깅을 할 수 있다
Tcode : SM37
-> 디버깅 대상 배치잡 선택 (체크박스)
-> 상단 커맨드창에 JDBG (Enter)
<배치잡 이름 입력>
<A/B/C 우선순위 선택>
<배치잡 수행 서버 및 그룹 선택>
배치잡 Step 정의
-> 매뉴탭 Step
-> User : <현재 접속한 유저>
변경할 수 있으나, 관리측면에서 배치잡을 수행할 유저로 로그인하여 배치잡을 등록하는 것이 좋다.
-> ABAP program - Name : <수행할 ABAP 프로그램 이름>
-> ABAP program - Variant : <수행할 ABAP 프로그램의 배리언트>
-> Check 후, Save
배리언트가 없다면, 입력하지 않아도 된다.
이때, 배치잡은 프로그램 실행시 나오는 초기값으로 그대로 수행된다.
단, 배치잡 수행 프로그램에 필수값(OBLIGATORY) 필드가 있다면, 반드시 배리언트가 필요하다.
배치잡 하나에 여러개의 스탭을 등록할 수 있다.
단, 배치잡 수행 중, 스탭 중간에 오류가 떨어질 경우, 그 이후 스탭에 대해서는 처리 없이 종료된다.
시작 조건 설정 (여기서는 Date/Time 설정)
여러 가지 시작 조건이 있으며, 간략하게 다음과 같다.
- Immediate : 등록 즉시 시작
- Date/Time : 특정 날짜/시간에 시작 (가장 자주 쓰이는 조건)
- After Job : 특정 배치잡 종료 이후 시작
- After Event : 특정 백그라운드 처리 이벤트 이후 시작 (SM64)
-> 매뉴탭 Start Condition
-> Date/Time 선택
-> 시작 일자/ 시작 시간 설정
-> 하단 Period Values 클릭
-> 주기 설정 (주기 설정시 자동으로 Periodic Job 체크 됨)
-> Check 후, Save
Date/Time 의 경우, 다음 사항을 추가로 고려할 수 있다.
- Alternative Time Zone(대체 시간대) 사용
현재 시스템에 설정된 시스템 시간대(한국시간, UTC+9) 로 지정되는데, 이걸 외국시간을 기준으로 수행을 지정할 수 있다.
위 옵션을 사용하지 않고, 시간을 계산하여 한국시간대로 맞춰서 수행해도 무방하다.- 수행 제한 사항(Restrictions) 설정
공장 달력(Factory Calendar, PP모듈에서 설정) 에 맞춰서 휴일을 제외하고 수행하도록 설정할 수 있다.
배치잡 등록
-> 위에 설정한 사항을 확인 후, 상단 Save