Step-1 - Define a report rule to fire an e-mail when a report is executed (here you can pick email id dynamically based on customer contact or supplier contact or employee)
Step-2 - Execute the report using PLSQL Code say looping each Customer (as a Custom Menu or Quick Report or from a PLSQL tool)
Multiple report execution happens and the RRE fires multiple e-mails. These are background queued jobs and hence should not choke other processes (if you allocate a dedicated process)
I have a problem with the bulk send, having multiple crystal failures when producing a large number of reports.
Quite like the idea of executing the report in pl/sql with a loop to ensure jobs run 1 at a time but my pl/sql skills are lacking. Would prefer to use custom menu. Do you have an example of the code needed?