Smart Send - Adding custom reports
While out of the box functionality is for the business forms listed here, the solution can be extended on further business forms or reports. This technical guide describes how the DXC Smart Business Form Email Manager solution can be extended by adding custom report.
Refer to the sample model file that demonstrates how to extend SmartSend to support Request for Quote report (note the Request for Quote is now supported by DXC Smart Business Form Email Manager).
Minimum solution required is DXC Smart Business Form Email Manager Version 10.0.0.10018.
To extend a new report format, there are 4 elements that need to be developed.
Object | Changes |
---|---|
Base enum | Extend ECL_AutoPrintReport enum by adding an enum value. |
Action menu item | Create a new action menu item. Make sure the enum parameters are set to your newly created enum value. |
Table extension | Create a table extension based on your primary table Add the following 3 fields. * ESS_EmailSent * ESS_SavedToBlobStorage * ESS_BlobStorage_URL |
Class | Create a new class that extends ESSReport class. Fill in the following methods. * getPrintMgmtDocumentType – if the report that you wish to implement is part of print management. Then ensure this method is updated. * getEmailAddress – Implement how to resolve the email address. * getReference – Implement to return references that will be stamped on the email queue table. * updateBlobStorageFlag – Implement to update the fields on the primary table to indicate it has been saved to blob storage. * updateFlag – Implement to update the fields on the primary table to indicate it has been sent via smart send. * buildTokenMap – Implement to have custom tokens. This is an optional method as smart send supports dynamic tokens. Refer to the user guide. Avoid the use of special characters when creating custom tokens. * sendEmailFromForm – implement to allow the menu item on the form to work. Sample code is provided. If you have a report that is not part of print management, you may need to split the report accordingly. |