If you have read send email with attachment from an ABAP program post you will see how to send a mail with an attachment. Using SAP mail server and Business Communication Service namely CL_BCS we can send mails from SAP. These sent mails drop into a pool and wait to be executed by a background program. You can monitor all mails and communication related requests in SOST . The background job that executes waiting request according to period configuration by basis team. Duration period can be 15 minutes or 1 hour or any custom number according to your companys need.
I have described the use of SUBMIT command variantions here. In that post VIA SELECTION-SCREEN variant was aimed to be used for reports with an already created variant. What if we want to create our variant in run-time according to our input. In that case we can use RS_CREATE_VARIANT in order to dynamically create a report variant and then we are able to call our ABAP report with that variant.