Page tree
Skip to end of metadata
Go to start of metadata


SPOOL_INTERNAL_ERROR dumps occur in SAP and can be seen in transaction ST22. This dump can have different reasons and here I discuss some of the underlying reasons I have seen.


This SPOOL_INTERNAL_ERROR dump can have many different causes and further analysis is needed to discover the underlying reason in each case. When you open the dump from transaction ST22, it is possible to look internally for the possible underlying cause of this dump with the generic title SPOOL_INTERNAL_ERROR. Within the dump, there is a section "Error analysis". Here there is a line with the heading:

More detailed description of error:..............................

This will give a more detailed reason for the SPOOL_INTERNAL_ERROR dump. The most common I have seen are:

  1. More detailed description of error: "spool overflow "
  2. More detailed description of error: "invalid writer-count"
  3. More detailed description of error: "no more memory for open spool handle"

This page is part of:


Tiny link (useful for e-mail):

Spool Overflow

There are a limited amount of spool numbers in the spool system. These spool numbers are then re-used for new spools after spools are deleted.

If all spool numbers are used, then no new spools can be created and you will get SPOOL_INTERAL_ERROR(SPOOL OVERFLOW) errors. This can cause update processes to be blocked and can slow down or block the entire system in extreme cases. At the very least no printing is possible from the system.

The following actions are needed to resolve this and prevent a re-occurrence:

  1. Log on to the system in client 000 change the spool number range to 999,999 via transaction SNRO:
  2. SNRO -> Change -> Click on button 'Number Ranges' -> Click on button Change 'Intervals'. In the "To No." column, change the upper limit of the interval SPO_NUM to 999,999. The value has no meaning in any other client than client 000. ( See SAP Note 48284 )

  3. Ensure that you daily spool deletion and consistency check jobs(reports RSPO1041 and RSPO1043) run daily with a suitable variant.  The default retention period for spools is 8 days. You can increase or decrease this in the variant of the RSPO1041 job. You need to take into account the number of spools created each day, the required retention period and the spool number range setting.

There was a known issue with spools being incorrectly created with a deletion date 'Do not Delete'. This is described in SAP Note 1422843 and is resolved by a kernel patch. A workaround is also described in the note.

Invalid writer-count

In this case the dump is caused by locks on spool requests being deleted by spool consistency check for spools belonging to long running BTC jobs.

This can be for 2 different reasons:

  1. The spool consistency check job with report RSPO1043 or RSPO0043 is running with a variant with a variant where the setting "Release locks after .. minutes" is shorter than the default setting '10080'.
  2. Somebody is running the spool consistency check directly from transaction SPAD

When this setting is lower, then the problem can occur when the locks are deleted for a BTC job that is still running

The solution is to apply the code correction of SAP Note 16534. The code correction ensure that 10080 is set as the default for write locks in report RSPO0043. This report is also ran when running the consistency check from SPAD. The standard value for RSPO1043 is 10080 minutes, which is seven days. The problem should not occur with this value as usually no batch jobs will have a runtime of seven days.

In addition ensure that the variant in the daily deletion job does not have a setting shorter than the default setting '10080'. 

No more memory for open spool

You can have SPOOL_INTERNAL_ERROR or SPOOL_NO_CONVERSION with this error. in the system log you may see R2B errors. Also in the work process trace file, there are errors 'ERROR => EmIAllocMmResourceEg: EgAlloc(.... '.

This error indicates that the global part of the extended memory is exhausted. Within the extended memory allocation, there is a section reserved for global data like printing that are user-independent and work process-independent.

The amount of extended memory reserved for global tasks is controlled by the parameter em/global_area_MB. For this problem, you need to increase the parameter em/global_area_MB as per SAP Note 329021. In newer releases it may be possible to increase the parameter further if necessary.

  • No labels