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.
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)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
4 | |
3 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 |