SAP ECC Background Job Failure Troubleshooting Checklist
This checklist takes a failed, stuck or never-started background job in SAP ECC 6.0 and walks through the checks in the order an experienced Basis admin uses them. It covers SM37, ST22 and SM21, scheduling errors, runtime failures, debugging with SM50 and JDBG, and how to stop a job safely.
0 of 33 items complete
6 critical items still open - these are the highest-risk gaps.
First look
Scheduling errors (job never starts)
Runtime failures
Debugging
Stop or cancel
Prevention
Most failures are found in the first group. Critical items are the checks that solve or safely contain the majority of cases.
Stuck on a recurring job failure?
Send the job log, dump name and SM21 extract and we will tell you where to look next.
Optional. The tool and every export work without this. No spam.
Where job data lives
SM37 is the job overview and reads table TBTCO for job headers and TBTCP for steps; the job log itself is stored in TemSe. ST22 holds ABAP short dumps, SM21 the system log of each application server, SM50 and SM66 show work processes locally and globally, and SM12 and SM13 show locks and update records. Background work processes are set per server with rdisp/wp_no_btc and redistributed by operation modes defined in RZ04 and scheduled in SM63. Authorizations sit in S_BTCH_JOB, S_BTCH_NAM and S_BTCH_ADM.
- SM36: define a job, SM37: monitor, SM62: events, SM61: background objects
- ST22 and SM21: what happened at runtime
- SM50 and SM66: what is running now
Reading the error log
Start at the end of the job log. 'Job canceled after system exception ERROR_MESSAGE' means the program raised an error message: read the message above it and treat it as data, customizing or program logic. 'ABAP/4 processor: <dump name>' sends you to ST22 for that dump. A job that stays Released past its start time is a scheduling problem: user, authorization, target server, BTC work processes or start condition. A job that stays Active for hours may be fine, blocked by a lock, waiting on the database, or orphaned after a server restart; SM50 tells you which.
Debugging a batch job
For a running job, find its work process in SM50 and attach the debugger from the Administration menu; the job pauses while you step through. For a job that already finished or was canceled, select it in SM37 and type JDBG in the command field. SAP replays the step in your own dialog session inside the debugger. This is very useful, but it runs the program for real, so updates and postings happen. Use a test system or a variant that does not post. Also check code that branches on SY-BATCH, because behaviour can differ between foreground and background.
Common mistakes
Raising rdisp/max_wprun_time to fix a long job: that parameter does not apply to background work processes. Cancelling the work process first instead of the job, which can leave the job shown as Active. Scheduling jobs under a person's dialog user, so they fail when that person leaves or changes password policy. Debugging with JDBG in production. Ignoring locks and update records left behind after a cancel.
Frequently Asked Questions
How do I debug a batch job in SAP?
For an active job, open SM50, select the job's background work process and attach the debugger through Administration > Program > Debugging. For a finished or canceled job, select it in SM37 and enter JDBG in the command field to replay the step in the debugger. JDBG actually executes the program, so use it carefully.
Where is the batch job error log in SAP?
In SM37, select the job and press Job log. The log shows messages written by the program and the system, including the reason for cancellation. For dumps, check ST22 at the job's end time; for system-level problems check SM21 on the server where the job ran.
Why do I get an error scheduling a batch job?
Common causes are missing S_BTCH_JOB or S_BTCH_NAM authorization, a locked or invalid step user, a deleted variant, an unknown target server or a start condition that cannot be met. The error message on save or in the job log usually names which, and SU53 can show a failed authorization check.
How do I stop a batch job in SAP?
In SM37 select the active job and use Job > Cancel active job. If it keeps running, end its work process in SM50 with Cancel without core. If a job shows Active but nothing is running, use Job > Check status. Afterwards, check SM12 locks and SM13 update records the job may have left.
If you want your support team to ask ECC why a job failed and get the job log, dump and system log summarised in plain English on your own servers, we can set that up.
Related Tools
SAP ECC SM36 Standard Housekeeping Jobs Checklist
Check that every standard SAP ECC housekeeping job is scheduled with the right program and frequency, plus the common interface and application jobs.
Developer ToolsSAP ECC User Exit (CMOD/SMOD) Implementation Checklist
Find the right exit, decide between customer exit, form user exit, BAdI or BTE, then implement, activate, transport and test a CMOD project in SAP ECC.
SAPSAP IDoc Reprocessing Runbook Template
A fill-in runbook that tells support staff how to select, check and reprocess failed IDocs for one interface, with approvals and rollback notes.
More SAP tools
See all- SAP ECC Private AI Layer Blueprint Generator
- SAP ECC AI Assistant Sizing and Value Calculator
- SAP ECC SD User Exit Forms Reference (MV45AFZZ, RV60AFZZ, MV50AFZ1)
- SAP ECC Customer Exits (SMOD Enhancements) by Module Reference
- SAP ECC Classic BAdI Definitions Reference (MIGO, ME21N, MIRO, Deliveries, PM Orders)
- SAP ECC Background Job Tables Reference (TBTCO, TBTCP, Job Status Codes)
- SAP ECC Output Determination Tables and Codes Reference (NAST, TNAPR, NACE)
- SAP ECC Movement Type Configuration Tables Reference (T156, T156T, T157D)
- SAP ECC Stock Type and Location Transfer Movement Type Matrix
Keep exploring
Free tools
- SAP Background Job Scheduling TemplateA fill-in job request form that captures everything a Basis admin needs to schedule a background job in SM36 and monitor it in SM37.
- SAP ECC ABAP Runtime Errors (ST22 Dumps) and Error Log Transactions ReferenceThe ST22 dumps you meet most in SAP ECC, with the exception class, usual cause and first fix, plus the transactions that show every other error log.
- SAP ECC Background Job Tables Reference (TBTCO, TBTCP, Job Status Codes)Reference of the tables behind SM37 on SAP ECC 6.0: job header, steps, schedules, events, spool and variants, with joins, plus the TBTCO-STATUS values.
Integrations
- How to connect Claude to SAP ECC 6.0Connect Claude to SAP ECC 6.0 through an MCP connector, the Anthropic API, AWS Bedrock or Google Vertex, and see when an on-prem open model is the better fit.
- How to use ChatGPT with SAP ECC 6.0Using ChatGPT with SAP ECC 6.0: custom GPT actions, exports versus live access, an OData or MCP bridge, enterprise data controls, and when a private model is safer.