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.
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.
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
Click on “Intervals” with the change icon.
Change the value for “To Number” to 999999 and click on save. This range is sufficient to avoid these dumps.
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.
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
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