Why spool request is not generated?
Maybe data has been appended to an existing spool request!
By default, SAP tries to reuse existing spools with same characteristics, so your spool may have been appended to an existing spool. See rules in Note 85318 appending documents to existing spool requests. You may force data to be written to a new spool request by using a specific parameter when you call OPEN_FORM function module for sapscripts (OPTIONS parameter, component TDNEWID), or SSF_OPEN function module for smart forms (OUTPUT_OPTIONS parameter, component TDNEWID). The user may also use "New spool" checkbox via the interactive print dialog (if the dialog is displayed), or in the print parameters of background jobs.
You may also set all existing spool requests with flag "completed" on.
If a standard program ran in background
Maybe you printed sapscript to "NULL" special output device
See Note 181571 - Output device NULL: it explains how to NOT generate spool files. For lists and SAPscript, print on an output device with the name NULL. For smart forms and pdfs, you must generate them, but without immediate print, and call RSPO1041 daily to delete the spools.
Maybe the spool request is immediately deleted after being generated
There is an option to ask the system to delete it after ouput request has been generated (immediate output should have also been requested) when you call OPEN_FORM function module for sapscripts (OPTIONS parameter, component TDDELETE), or SSF_OPEN function module for smart forms (OUTPUT_OPTIONS parameter, component TDDELETE). The user may also have used "Delete after printing" checkbox via the interactive print dialog (if the dialog is displayed), or in the print parameters of background jobs.
Maybe your program has code to delete it (RSPO_R_RDELETE_SPOOLREQ function module call for example)
Maybe your program don't handle errors correctly
Use SAPscript or smart form debugger.
SM37 transaction (background jobs) displays zero or one spool by step, though more may have been generated
Use SP01 instead. See Note 422136 - Incorrect spool assignment for the background step for more information.
Maybe there are system errors
Check dumps using ST22 transaction and system log using SM21 transaction. You may also ask your admins to help you.