SPOOL_INTERNAL_ERROR dumps in SAP

SPOOL_INTERNAL_ERROR dumps normally occur due to spool overflow or with error: no more memory for open spool handle. There are certain steps that you can follow to troubleshoot such issues and resolve them quickly.

How to analyze the SPOOL_INTERNAL_ERROR dump?

Execute ST22 and open the dump, to check the exact cause of the issue.

Under the error analysis section, a detailed description of the error will be displayed. In the below screenshot, the error occurred due to “spool overflow”. This points to an overflow of the number range object SPO_NUM.

St22 dump SPOOL_INTERNAL_ERROR

How to monitor or check the available spool numbers?

Execute report RSPO_SHOW_SPO_NUM to check the current number of spool requests in the system.

report RSPO_SHOW_SPO_NUM output

In the above screenshot, we can see that the current number of spool requests in the system is 28,142 and the maximum number of spool requests allowed is 32,000 as per the SPO_NUM number range interval. So, when the spool number reaches the 32000 limits, SAP will start throwing SPOOL_INTERNAL_ERROR dumps and the jobs will start failing. Also, the overall printing would get impacted.

How to resolve SPOOL_INTERNAL_ERROR dumps?

1) Increase the interval for number range object SPO_NUM to a maximum of 999,999 (Check note 48284 for reference)

Login to client 000 and Execute SNRO, enter object value SPO_NUM. Then click on “Goto” –> Interval Editing

SNRO --> SPO_NUM --> Go to --> Interval Editing

Click on “Intervals” with the change icon.

Edit Intervals for object SPO_NUM

Change the value for “To Number” to 999999 and click on save. This range is sufficient to avoid these dumps.

Change the interval to 999999

2) Deletion of old spools

Execute report RSPO1041 and delete spools older than the required days as per the customer requirements. The default retention period is 8 days (Profile Parameter rspo/req_lifetime). So, adjust this value using report RSPO1041. Select the required options as shown below and execute the report.

report RSPO1041
Another way to delete the spools is to execute SPAD. Then, click on “Full administration” and under the “Admin” tab, you should see the “Delete Old Spool Requests” button.
SPAD --> Full administration --> Delete Old Spool Requests

Select options as per your need and click on the “Continue” button.

After this, remember to run “Consistency Check of Spool Database” or execute report RSPO1043

RSPO1043: Spool consistency check

Remember to schedule report RSPO1041 as a daily job. So that the spools will be removed on daily basis as per the retention policy.

Spool error: no more memory for open spool handle

If you see errors like ERROR => EmIAllocMmResourceEg: EgAlloc(…. in workprocess trace files along with SPOOL_INTERNAL_ERROR or SPOOL_NO_CONVERSION dumps, then it indicates that the global part of the extended memory is not sufficient.

Solution: Review memory profile parameter em/global_area_MB and em/initial_size_MB

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top