This article answers the following queries :
- What is spool overflow ?
- How to troubleshoot spool overflow ?
- How to delete old spool requests ?
- How to avoid spool overflow issue ?
- How to check spool numbers?
- How to set the spool number in SAP ?
- How to define storage location (Temse) of spool requests ?
What is spool overflow ? :
Spool request that got generated are stored in a temporary sequential file called Temse. Please note that these are stored in Temse because these are not stored permanently. The size of the Temse is limited by the parameter definition.
The default size of Temse is 32,000 and it can be increased till 2 billion. However, defining very high value can effect the database performance. Due to limited storage capacity of Temse, when this file got full, this throws an SAP spool overflow error.
If this happens, customers could not print from SAP. If you check in SM21 and ST22 transactions, you may encounter some error log or dumps like
- ERROR IN SPOOL call : SPOOL OVERFLOW
- System internal error in the spool system
How to troubleshoot spool overflow ?
To resolve this spool issue, some of the old spools can be deleted from the sap system. Goto transaction SPAD. From the initial screen, navigate to Administration -> Clean_up_spool. Once you click this, Spool Administration : Delete old spool requests screen will be displayed.
In that screen, you will be prompted to choose requests for deletion like
- Old spool requests older than the maximum set age
- Requests already printed
- All spool requests
and enter value for minimum age (in days) text box.
Select the check boxes as per the requirement (eg: delete all requests already printed and minimum age in days equal to 30 days) and execute to delete old spool requests, which will clear Temse and will resolve spool over flow issue.
Apart from this there are others ways of resolving spool overflow issue. They are
1) Run the report RSPO0041 from SE38 transaction to delete old spool requests
2) Run the report RSPO0043 from SE38 transaction, which checks the Temse/spool consistency and reorganizes the spool
How to avoid spool overflow issue ?
- These reports RSPO0041 and RSPO0043 should be scheduled as background jobs with proper variants on a periodic basis which avoids spool overflow issue.
- You can try to increase the spool numbers from default 32000 to a bit higher value but please note donot set this too high as it may impact database performance
- Proactive monitoring check can be made in RZ20 transaction to see how much is the fill level of spool numbers.
How to check spool numbers ?
To check spool numbers : Goto RZ20 transaction, navigate to SAP CCMS Monitor Templates -> Spool System.
Here you can check the status of spool servers and the used numbers percentage of spool numbers. If you find that used numbers is greater than 80%, you can manually run above mentioned reports or delete old spool requests from SPAD tcode as mentioned earlier.
How to set the spool number in SAP ?
Using Transaction SNRO (Number range object maintenance) and object SPO_NUM, you can set the spool number in an SAP system.
Once you provide object as SPO_NUM, click on change icon. It displays another screen. In that screen, click on Number Ranges push button. It displays another screen "Number range for spooler numbers". Click on change icon here and set the value of spooler(from number and to number). Please note that a change request may be generated here based on the client settings(if automatic recording of changes is set in SCC4 transaction of the client)
How to define storage location (Temse) of spool requests ?
Every Temse object contains a header in TST01 table and the actual object. This can be either stored in table TST03 or in file system. You can set a parameter rspo/store_location in RZ10 to define whether to store Temse objects TST03 table or in filesystem.
If value G is set to this parameter, it will be stored in filesystem and if it is db it is stored in TST03 table.