Developer ToolsFree referencePDF, Excel, Word exportSAP ECC 6.0All SAP ECC 6.0 tools

SAP ECC ABAP Runtime Errors (ST22 Dumps) and Error Log Transactions

This reference lists the ABAP runtime errors you see most in ST22 on SAP ECC 6.0, with the catchable exception class, usual cause and first fix, plus the transactions that show every other error log. It is for developers and Basis admins working a dump or a failed process.

Download:
SectionRuntime error / T-codeException class / what it showsUsual cause / where storedFirst fix / when to useRelated parameter or note
A: Runtime error
TIME_OUT
Not catchable
Dialog step ran longer than the dialog work process limit
Run the report in background (SM36) or fix the slow SELECT found in ST12 / SAT
rdisp/max_wprun_time (newer kernels: rdisp/scheduler/prio_high/max_runtime)
A: Runtime error
TSV_TNEW_PAGE_ALLOC_FAILED
Not catchable
Internal table could not get more memory; usually a huge SELECT into a table
Restrict the selection, use PACKAGE SIZE or cursors, free tables no longer needed
ztta/roll_extension, abap/heap_area_dia, abap/heap_area_nondia, abap/heap_area_total
A: Runtime error
SYSTEM_NO_ROLL
Not catchable
Roll area or extended memory exhausted for the user context
Check memory use of the program; review roll and extended memory sizing
ztta/roll_area, em/initial_size_MB
A: Runtime error
MEMORY_NO_MORE_PAGING
Not catchable
ABAP paging area exhausted, often by large EXPORT TO MEMORY or extracts
Reduce data held in ABAP memory; review paging file size
rdisp/PG_MAXFS, rdisp/PG_SHM
A: Runtime error
STORAGE_PARAMETERS_WRONG_SET
Not catchable
Memory profile parameters inconsistent, or a request beyond configured limits
Basis: review memory parameters in RZ10 against the kernel documentation
Memory management parameters (RZ11)
A: Runtime error
DBIF_RSQL_SQL_ERROR
CX_SY_OPEN_SQL_DB
Database returned an error: tablespace full, deadlock, lock timeout, statement too long
Read the database error text in the dump and the DB alert log; check DB02
Database-specific error code in the dump
A: Runtime error
DBIF_RSQL_INVALID_RSQL
CX_SY_OPEN_SQL_DB
Invalid Open SQL request, often an IN range table too large
Split large range tables or use FOR ALL ENTRIES with a checked, non-empty table
rsdb/max_blocking_factor, rsdb/max_in_blocking_factor
A: Runtime error
SAPSQL_ARRAY_INSERT_DUPREC
CX_SY_OPEN_SQL_DB
INSERT from internal table hit an existing primary key
Check the number range or the key logic; use ACCEPTING DUPLICATE KEYS only if duplicates are expected
Number range object (SNRO) when keys come from a number range
A: Runtime error
CONVT_NO_NUMBER
CX_SY_CONVERSION_NO_NUMBER
Text that is not a number moved into a numeric field (I, P, F), often from a file or IDoc
Validate input before the MOVE, or catch the exception and report the record
-
A: Runtime error
CONVT_OVERFLOW
CX_SY_CONVERSION_OVERFLOW
Value too large for the target field during conversion
Widen the target type or check value ranges
-
A: Runtime error
BCD_OVERFLOW
CX_SY_ARITHMETIC_OVERFLOW
Packed number result exceeds the field length
Use a larger packed type for the intermediate result
-
A: Runtime error
COMPUTE_BCD_OVERFLOW
CX_SY_ARITHMETIC_OVERFLOW
Overflow in a packed number calculation
Check the arithmetic and field sizes of the result
-
A: Runtime error
COMPUTE_INT_ZERODIVIDE
CX_SY_ZERODIVIDE
Integer division by zero
Check the divisor before dividing
-
A: Runtime error
MESSAGE_TYPE_X
Not catchable
Program deliberately aborted with a type X message
Read the message class and number in the dump; it points to the failed consistency check, often covered by an SAP Note
Search SAP Notes for the message ID and number
A: Runtime error
RAISE_EXCEPTION
Classic function module exception not handled
Caller did not list the exception in EXCEPTIONS of CALL FUNCTION
Add EXCEPTIONS with OTHERS and check SY-SUBRC
-
A: Runtime error
UNCAUGHT_EXCEPTION
Any class-based exception (named in the dump)
Class-based exception raised and not caught by TRY ... CATCH
Catch the specific class or a superclass such as CX_ROOT at the right level
-
A: Runtime error
OBJECTS_OBJREF_NOT_ASSIGNED
CX_SY_REF_IS_INITIAL
Method called on an object reference that is initial
Check IS BOUND before use; find why CREATE OBJECT did not run
-
A: Runtime error
GETWA_NOT_ASSIGNED
Not catchable
Field symbol used before ASSIGN or after a failed ASSIGN
Check IS ASSIGNED or SY-SUBRC after ASSIGN
-
A: Runtime error
ITAB_DUPLICATE_KEY
See dump for statement
Insert into a sorted or hashed table with UNIQUE KEY found a duplicate
Check for the key before INSERT, or change the table key
-
A: Runtime error
TABLE_INVALID_INDEX
Not catchable
Index access to an internal table with index 0 or negative, or out of range for INSERT
Check SY-TABIX and the index variable before INSERT or MODIFY with INDEX
-
A: Runtime error
CALL_FUNCTION_NOT_FOUND
CX_SY_DYN_CALL_ILLEGAL_FUNC
Function module does not exist or is not active in this system
Check SE37 and TFDIR; often a missing transport
-
A: Runtime error
CALL_FUNCTION_CONFLICT_TYPE
CX_SY_DYN_CALL_ILLEGAL_TYPE
Actual parameter type does not match the formal parameter
Type the actual parameter like the interface (use the data element from SE37)
-
A: Runtime error
CALL_FUNCTION_PARM_MISSING
CX_SY_DYN_CALL_PARAM_MISSING
Mandatory parameter not passed
Pass all non-optional parameters shown in SE37
-
A: Runtime error
CALL_FUNCTION_REMOTE_ERROR
Not catchable as class; use SYSTEM_FAILURE
Error in the remote system during an RFC call
Add EXCEPTIONS system_failure and communication_failure with MESSAGE; read the dump on the target system
Check SM59 destination and the target system ST22
A: Runtime error
RFC_NO_AUTHORITY
Not catchable
RFC user lacks authorization object S_RFC for the function group
Add S_RFC for the function group to the RFC user role (check with SU53 or STAUTHTRACE)
auth/rfc_authority_check
A: Runtime error
LOAD_PROGRAM_NOT_FOUND
CX_SY_PROGRAM_NOT_FOUND
Called program, transaction or include does not exist
Check the transport; check TSTC for the program name behind the transaction
-
A: Runtime error
SYNTAX_ERROR
Not catchable
Program has a syntax error, often after a partial transport or upgrade
Check in SE38 or SE80; import the missing objects or adjust in SPAU
-
A: Runtime error
DYNPRO_SEND_IN_BACKGROUND
Not catchable
Background job or RFC tried to display a screen
Remove the screen call in batch mode, check SY-BATCH or use a non-dialog BAPI
-
B: Error log T-code
ST22
ABAP runtime errors (dumps)
Table SNAP; old dumps removed by the reorganization job (program RSSNAPDL)
First stop for any short dump; keep a dump with the Keep function before it is deleted
-
B: Error log T-code
SM21
System log
System log files on the application servers
Work process restarts, database connection errors, kernel messages
-
B: Error log T-code
SLG1
Application log
Tables BALHDR and BALDAT; delete old logs with SLG2
Errors from IDoc, BAPI, migration and custom programs that write to the log
-
B: Error log T-code
SM13
Update records
Update tables (VBHDR, VBMOD, VBDATA)
Document saved but not posted; terminated V1 or V2 updates
-
B: Error log T-code
SM58
Transactional RFC errors
tRFC tables (ARFCSSTATE, ARFCSDATA)
Stuck outbound tRFC calls, for example IDocs sent through tRFC
-
B: Error log T-code
SMQ1 / SMQ2
Outbound / inbound qRFC queues
qRFC tables (TRFCQOUT, TRFCQIN)
Blocked queues in qRFC scenarios
-
B: Error log T-code
SM35
Batch input sessions and logs
Session logs in TemSe
Batch input (BDC) sessions in error
-
B: Error log T-code
SM37
Background job overview and job logs
Job tables (TBTCO, TBTCP); job logs in TemSe
Cancelled jobs, long runtimes, the job log message that ended a job
-
B: Error log T-code
WE02 / BD87
IDoc display / status monitor
EDIDC, EDID4, EDIDS
IDocs in status 51, 56, 64 and similar; BD87 reprocesses
-
B: Error log T-code
SU53
Last failed authorization check of a user
Held in the user session buffer
User reports "no authorization"; run directly after the failure
-
B: Error log T-code
ST01 / STAUTHTRACE
System trace / authorization trace
Trace files on the application server
Record all authorization checks of a user across a process
-
B: Error log T-code
SM20
Security audit log
Audit files on the application servers; configured in SM19
Logons, failed logons, RFC calls and critical transactions
rsau/enable
B: Error log T-code
SMGW
Gateway monitor, with gateway trace and log under Goto
Gateway trace file dev_rd and gateway log file
Rejected RFC registrations, reginfo and secinfo errors
gw/reg_info, gw/sec_info
B: Error log T-code
ST11
Developer traces (dev_w*, dev_disp and others)
Work directory of the instance
Kernel-level detail behind a dump or work process restart
rdisp/TRACE
B: Error log T-code
SMICM
ICM monitor and trace
ICM trace file dev_icm
HTTP, SOAP and OData connection errors
-

Exception classes apply where the runtime error is catchable in ECC 6.0 with NetWeaver 7.0x to 7.50. Profile parameter names vary by kernel release; check RZ11 documentation for your kernel before changing a value.

Get your recurring dumps triaged

Send an export of a week of ST22 headers and we will group them by cause and list which fixes are code, which are configuration and which need an SAP Note.

Optional. The tool and every export work without this. No spam.

Was this tool useful?

How to read a dump in ST22

Open ST22, select today or yesterday, and double-click the dump. Read in this order: the runtime error name and exception class at the top; "What happened" and "Error analysis" for the plain cause; "Information on where terminated" for program, include and line; then the active calls list (call stack) and the chosen variables. For memory dumps, the memory section shows how much extended memory and heap the user had. Always note the transaction, user and application server before you go further. Use the Keep function on important dumps so the reorganization job does not delete them.

  • Runtime error name: the row to look up in this table
  • Exception class: tells you if TRY ... CATCH could handle it
  • Source code extract: the failing line marked with >>>>>
  • Search SAP Notes with the runtime error plus program name

Worked example: TSV_TNEW_PAGE_ALLOC_FAILED in a custom report

A Z report selects all MSEG rows for a plant and year into an internal table and dumps after a few minutes with TSV_TNEW_PAGE_ALLOC_FAILED. The memory section shows the user reached the heap limit for dialog work processes. Raising abap/heap_area_dia only moves the problem. The fix is in the code: add the material and date range from the selection screen to the WHERE clause, select only the needed columns, and process in blocks with OPEN CURSOR and FETCH NEXT CURSOR ... PACKAGE SIZE 10000. Run it as a background job so heap limits for non-dialog processes apply and the dialog TIME_OUT does not.

Catchable or not

Errors with an exception class (CX_SY_ZERODIVIDE, CX_SY_CONVERSION_NO_NUMBER, CX_SY_OPEN_SQL_DB and others) can be caught with TRY ... CATCH, which lets you log the bad record and continue. Resource errors such as TIME_OUT, TSV_TNEW_PAGE_ALLOC_FAILED and SYSTEM_NO_ROLL cannot be caught: the only fix is to use less time or memory. MESSAGE_TYPE_X is deliberate, so do not try to suppress it; the message ID in the dump leads to the right SAP Note.

Which log to open when there is no dump

Not every failure leaves an ST22 entry. A document saved but missing in the database points to SM13. An interface stuck between systems points to SM58, SMQ1/SMQ2 or WE02. A job that ended without a dump points to SM37 and its job log. A user without access points to SU53 right after the failure, then STAUTHTRACE. Connection and work process problems show in SM21 and ST11.

Frequently Asked Questions

What is the transaction code for ABAP dumps in SAP?

ST22 shows ABAP runtime errors (short dumps), stored in table SNAP. Select by date, user or runtime error name and open a dump to see the cause, the source line and the call stack. Use the Keep function to protect a dump from the reorganization job.

Which transaction shows authorization errors in SAP?

SU53 shows the last failed authorization check for a user and must be run straight after the failure, in the same session or for that user. For a full picture across a process, use STAUTHTRACE or the system trace in ST01, which records every authorization check.

Which transaction shows the SAP gateway error log?

SMGW is the gateway monitor. Under the Goto menu you can display the gateway trace and switch on gateway logging. Rejected registered programs and secinfo or reginfo errors show there, and the trace file dev_rd sits in the instance work directory, also readable through ST11.

How do I fix TIME_OUT in SAP?

TIME_OUT means a dialog step exceeded the work process runtime limit set by rdisp/max_wprun_time or its newer kernel equivalent. Raising the limit is a last resort. Run the program in background, or find the slow statement with ST12 or SAT and fix the selection or index.

If your support team wants to ask in plain English why yesterday's dumps happened and which ones repeat, we can add a private AI layer over ST22 and your logs on your own SAP ECC servers.

ArchRay builder
Design the on-prem AI stack for SAP ECC 6.0: model, GPUs, RAG pipeline, guardrails
See memory, speed and cost as you swap parts, then export the diagram. Free, in your browser.
Open the builder

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

AI on your ERP

Integrations