Here is a solution to prevent printing of “empty reports”.
This solution will update the copies to zero on the concurrent request – and prevent any print of empty (or nearly empty) pages.
The trick is to add a counter of lines or whatever – then update the AfterReport trigger with this code:
function AfterReport return boolean is begin
if :cs_count = 0 then
update FND_CONC_PP_ACTIONS set NUMBER_OF_COPIES = 0 where concurrent_REQUEST_ID = :p_conc_request_id; commit;
end if;
SRW.USER_EXIT( 'FND SRWEXIT');
return (TRUE); end;