Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

Many times I've had to develop a program for sending email, the code I've used is always the same except te part to get and fomat the informations to be sent, so I decided to develop a function, a little tool to be used and call as soon as I need to create a program for email.

My idea was to create a function module where all main activities were already managed and so I need only to take care to develop the code to get the informations.

IMPORTING PARAMETERS

the main parameters are:

- SUBJECT: it's email subject

- MY_RECEIVERS: it's a table filled with the receivers, it's arranged on dictionary type table ZMAIL_RECEIVERS:

and the structure ZMAIL_RECEIVER is:

the field

- ZZGROUP          is to group several receivers together

- SMTP_ADDR     is email address

The rest of importing paramenters are optional because it depends on what it needs to insert in the mail:

- TEXT               is the text for the body of email;

- MY_SENDER    the current user is the sender by default, but it's possible to set another use

I've tried to manage all main attachments I'm used to use:

- TXT_ATTACH     is simple attachment for a text file, the parameter is a table in order to attach several files:

The fields

- OBJTP            is for the file type, usually TXT

- OBJDES         is for file name

- TEXT_DATA    is for the text

- BIN_ATTACH     is simple attachment for a binary file, the parameter is a table in order to attach several files:

The fields

- OBJTP            is for the file type, for example PDF

- OBJDES         is for file name

- BIN_DATA      is for the data file

- OTF_ATTACH is if it needs to attach a SAP print generated by sapscript or smartform, here it needs only to transfer the OTF data without any convertion

The fields

- OBJTP            is for the file type, usually PDF (actually the OTF data is always converted to ASCII or PDF file, the standard function CONVERT_OTF is used                           for convertion)

- OBJDES         is for file name

- OTF_DATA      is for the print data

- SPOOL_ATTACH is if it needs to attach a SAP spool

The fields

- OBJDES       is for file name

- RQIDENT      is spool number

The function module RSPO_GET_ATTRIBUTES_SPOOLJOB is used to get the spool informations and the function modules CONVERT_OTFSPOOLJOB_2_PDF or CONVERT_ABAPSPOOLJOB_2_PDF (it depends on the kind of spool) convert the spool to PDF format.

- ZIP_FILE_NAME is for the name of zip file, so all attachments can be zipped before being sent

The function module Z_SEND_MAIL uses the class CL_BCS to create and send the email and the class CL_ABAP_ZIP to generate the zip file, the result is exported into exporting parameters:

- RESULT will be equal to 0 if the email is sent successfully else will be equal to 1

- ERROR_MSG returns an eventual error message catched by exception class CX_BCS

This is very easy solution in order to create a little tool manages an email sending, I hope can be usefull to somebody and it can be used as model, I often read many topics about how to sent an email, here it can find all abap code it needs (or at least I hope so, just a little help)


1 Comment