SAP Background Jobs: SM36/SM37, Steps, Events and Scheduling
A classic SAP background job has a header/schedule definition in TBTCO and one or more executable steps in TBTCP, such as ABAP programs/variants or external commands. SM36 schedules jobs and SM37 monitors execution. Jobs can start by date/time, event, predecessor or other conditions depending on release. Success means the scheduler/work process completed the job step; business success still depends on the program's own messages/logs.
High-demand SAP technical reference for SAP Background Jobs: SM36/SM37, Steps, Events and Scheduling, covering architecture, operational usage, example, decision criteria, failure modes, S/4HANA relevance, ownership and the standard objects that support verification.
Reviewed by an ERPClimb SAP consultant on 20 Sept 2026· 782 words
What it is
Background processing moves long or unattended work out of interactive dialog sessions. A job is identified by job name plus job count; names alone are not unique. Steps define which program, variant, external command or other executable runs and under which user context. Scheduling conditions determine when the job becomes ready; a background work process executes it. The job log captures WRITE/messages from the execution, spool may hold report output, and application log can hold richer object-level results. Statuses distinguish scheduled/released/ready/active/finished/cancelled states.
When to use it
Use background jobs for periodic reports, interfaces, housekeeping and batch processing that should not hold a user session. Choose event-based starts when one process must trigger another without fixed clock assumptions; use predecessor relationships only when the dependency is genuinely job-level. Design programs to be restartable/idempotent where possible, because cancellations can occur after partial external/business effects.
How it fits the stack
SM36 defines jobs; SM37 monitors and supports logs/spool/debugging. TBTCO/TBTCP store metadata. Time-based waiting jobs use scheduler structures such as TBTCS. SM50/SM66 show active work processes. ST22 shows dumps; SLG1 may contain application logs. Server groups/load balancing can influence execution placement. External schedulers may trigger SAP jobs but still rely on SAP job runtime.
A worked example
A nightly interface job shows Finished in SM37, yet users say no invoices were created. The job log says the program processed zero eligible records because a date variant was wrong. Background infrastructure succeeded; business outcome did not. Another job is Cancelled with a dump, so support follows ST22. A third remains Scheduled because it was never released/start condition not met. Each status leads to a different diagnosis.
How to choose
- Use unique descriptive job names plus job count for technical identification.
- Choose scheduling condition based on business dependency, not only cron convenience.
- Run with a least-privilege batch user whose authorizations match production need.
- Write structured application logs for high-volume business results instead of relying only on job log.
- Design restart/duplicate protection for jobs with external or document-creation side effects.
Common pitfalls
- Treating job status Finished as proof that business documents were created correctly.
- Running batch under a developer/SAP_ALL user and masking authorization problems.
- Using frontend file/popup functions that cannot work in background.
- Scheduling overlapping copies of a non-reentrant job and creating duplicate processing/locks.
- Deleting job logs/spool too quickly for support/audit needs.
ECC, S/4HANA and clean core
Classic SM36/SM37 background processing remains widely used in S/4HANA on-premise/private cloud, alongside newer application job frameworks/Fiori job scheduling in some areas. Clean-core applications should use the supported job framework for their environment, but operations still need to understand classic job tables/status for retained workloads.
Whose problem this is
Application teams own program logic/variants/idempotency; Basis owns scheduler/work-process infrastructure; Security owns batch user roles; operations own monitoring/runbooks; functional teams own business selection and expected results.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-technical-topics/sap-background-jobs-sm36-sm37-architectureERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.