ABAP short dumpObjectCOMPUTE_INT_PLUS_OVERFLOWModuleABAP

COMPUTE_INT_PLUS_OVERFLOW — COMPUTE_INT_PLUS_OVERFLOW dump explained

COMPUTE_INT_PLUS_OVERFLOW fires when an addition or increment produces a result larger than the target integer field can hold, typically past 2147483647 for a standard 4-byte integer. It almost always means a loop counter is running away, a data type was undersized for the actual data volume, or a corrupted value entered the calculation from an interface or uninitialized field, not a genuine SAP defect.

This page covers the COMPUTE_INT_PLUS_OVERFLOW short dump raised by CX_SY_ARITHMETIC_OVERFLOW when integer addition exceeds the field's range. It ranks the real-world causes, walks through what to read in ST22 before touching code, and separates the quick reflex fix from the actual resolution.

Published 16 Sept 2026· 1,304 words

What the dump means

COMPUTE_INT_PLUS_OVERFLOW is a runtime error raised when the ABAP runtime attempts an addition, or an implicit increment such as ADD 1 TO or a loop counter update, and the mathematical result no longer fits in the target field's integer type. For a standard TYPE I field the usable range is roughly minus 2.1 billion to plus 2.1 billion; once a sum crosses that boundary the operation cannot be represented and the runtime terminates rather than silently wrapping the value. The exception class behind it is CX_SY_ARITHMETIC_OVERFLOW. It is a distinct dump from COMPUTE_BCD_OVERFLOW, which applies to packed decimal fields and has a much larger practical range, so the two point to different classes of problem even though the symptom name looks similar. This dump is a data-type or logic-flow limit being hit, not a database or authorization issue.

Root causes that actually produce it

  • Runaway loop counter: a WHILE or DO loop whose exit condition is never satisfied keeps incrementing an integer indefinitely, most often after a logic change that altered the termination test or after a recursive call that fails to decrement a depth counter. This is the single most common trigger, especially in background jobs that run long enough to actually reach the overflow boundary.
  • Undersized data type for real volume: a counter or accumulator declared as TYPE I in custom code, sized for a small test dataset, later runs against production volumes (mass postings, IDoc counts, line item totals) that genuinely exceed the integer range. The code was never wrong for the test case, only for the eventual data volume.
  • Garbage or uninitialized value entering the addition: a field symbol or work area that was never properly assigned still holds residual memory content, or an interface field from an external system arrives already near the integer maximum, and a subsequent ADD or offset calculation pushes it over the edge.
  • Timestamp or duration arithmetic gone wrong: converting a date/time delta into seconds or milliseconds and then multiplying or accumulating across many records, particularly when the base unit chosen is too fine-grained for the volume being summed.
  • Unbounded index or sequence counters in custom RFC or BAPI wrapper code: a counter incremented once per call inside a mass processing loop, across millions of calls, with no reset or batching logic.
  • Type mismatch masking the real magnitude: a packed or floating value that legitimately holds a huge number gets moved into an integer work variable earlier in the code, and only the later addition step is where the dump surfaces, making the true origin harder to spot.

What to inspect in ST22

  • Runtime error name and exception class at the top of the dump, confirming COMPUTE_INT_PLUS_OVERFLOW and CX_SY_ARITHMETIC_OVERFLOW, and the exact timestamp
  • The 'Information on where terminated' block, giving the exact program, include, and line number of the ADD or increment statement that failed
  • The source code extract shown in ST22 around that line, to identify the two operands and the target field's declared type
  • The 'active calls/events' call stack, to see whether the failing statement sits inside a loop and how deep the call chain is
  • Whether the job ran in dialog or background; for background jobs check SM37 for the job's runtime and step list, since an unusually long runtime strongly suggests a runaway loop rather than a one-off bad value
  • Any variable values captured in the dump's variable list at the point of failure, to see how close to zero the operands started versus how large the accumulated result became
  • Cross-check ST22 for other dumps around the same time window on the same user or job, which can indicate a shared root cause such as a bad interface file
  • Reproduce with a debugger breakpoint set just before the failing statement if the dump is reproducible, to watch the counter grow across iterations

Resolution path

If the cause is a runaway loop, fix the exit condition or the recursion termination logic in the custom code; this is a code correction and needs a transport through the normal change process, tested against the scenario that triggered the infinite iteration. If the cause is an undersized data type for legitimate volume, change the field declaration to a wider integer type or to a packed type with sufficient length, and re-check every other place that field is used for type consistency; this also requires a change request and regression testing since the field may be a structure component used elsewhere. If the cause is garbage input from an uninitialized field symbol, fix the assignment logic so the field symbol is always bound before use, and add a defensive check; this is a code fix, not a data fix. If the cause is a genuinely huge but valid external value, add explicit range validation before the addition and reject or split the batch rather than letting the runtime enforce the limit. Standard SAP code producing this dump under normal volumes is rare and should be raised through the standard support channel rather than patched locally.

The fix people try first (and why it fails)

The reflex is to widen the data type, from TYPE I to a bigger integer or a packed field, and redeploy without asking why the value got that large in the first place. This makes the symptom disappear for a while but if the real cause is a runaway loop, the job now runs even longer before it eventually hits the new, larger ceiling, consuming far more work process time and background resources in the meantime. Wrapping the addition in a TRY CATCH block and silently ignoring the exception is worse: it hides the overflow entirely and the accumulated value becomes wrong from that point forward, corrupting downstream totals without any error trail.

Prevention

Enforce a code review rule that every WHILE or DO loop has a visibly bounded exit condition, and that counters intended to track business volumes are sized against realistic production data, not test data. Add explicit sanity assertions on accumulator values in custom mass-processing code so an abnormal growth trend is caught early rather than at the integer ceiling. Where interfaces pass numeric values from external systems, validate the range on entry rather than trusting the source. Monitor long-running background jobs for runtime creep over time, since a gradually lengthening runtime on the same job is an early warning of a loop that no longer terminates cleanly.

Whose problem this is

ABAP development owns this when the failing code is custom; the handover note should include the program and line from ST22, the operand values at failure, and whether the job's runtime has been growing over recent executions. Functional consultants get involved only to confirm whether the data volume behind the dump is expected business activity or itself abnormal. Basis involvement is limited to job scheduling context in SM37 unless the dump correlates with a memory or performance escalation.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-abap-dumps/compute-int-plus-overflowERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.