Best Practices for Background Jobs(MDRs)
Background Jobs are fundamental part of how the application operates. A background job is a scheduled instance of a Mass Data Run(MDR).
What is an MDR?
- Automatic mass processing of a task or a business transaction.
- Enable mass processing of business data and used in business processes. for example, Invoice runs, payment authorization runs, and outbound logistics confirmation runs, so on.
- When a user schedules an MDR, system represents it as a background job.
- MDRs are created and maintained in the work centers.
Background Job Features:
- Background jobs can be created, updated and scheduled by an end user.
- With background jobs, you can automate repetitive business tasks or activities. For Instance, as batch jobs.
- Jobs are useful for defining asynchronous, long-term, resource consuming jobs such as overnight runs and mass printing.
- You can define the amount of control and automation in background jobs(MDRs).
Background Job Scheduling Frequency:
Background Jobs can be scheduled hourly, daily, weekly and monthly based on the business requirement.
The Jobs can be scheduled as per the following –
- Start Immediately – Immediate run
- Run After Job – Job A runs after Job B(this is event periodic i.e. Job A starts only after Job B completes)
- Single Run – Job runs only once as per the schedule
- Recurrence – If you want to run the job at regular intervals, choose Recurrence.
SAP recommend not to schedule background jobs in very short intervals as end user may experience performance or locking issues if user schedules the runs for times when the system load is high.
Every job running in the background consumes system resources in direct proportion to the amount of data processed and if the jobs are scheduled very frequently there will be a direct hit on responsiveness of UIs and other end user activities. Hence, to ensure the smooth operation/run of background jobs, here are some of the best practices to be incorporated –
- Background jobs are scheduled based on business requirement. Scheduling of very high frequency(‘by the minute’ option) should be restricted unless there exists a valid business requirement. In August 2015 release of SAP Business ByDesign, restrictions have been now introduced in ‘By the minute’ recurrence to allow definition to every 15 minutes or at a higher interval. The default recurrence option has been changed to every 30 minutes for ‘By the minute’ and every 4 hours for ‘hourly’ recurrence.
Please refer to the link on new restrictions and default settings on MDR scheduling – http://scn.sap.com/community/business-bydesign/blog/2015/07/23/byd-1508-release-new-restrictions-and-default-settings-on-mass-data-run-job-scheduling-recurrence-interval
- Ensure, the user, who is creating/scheduling the background job is valid. or instance, if user A has created/scheduled the job; user A no longer works for a company and the validity of user A is expired. In this case, background job fails as the user is invalid. Hence, reschedule the job with a valid user. Also, the user should not be locked for the job to run successful.