REPORT ZREPORT_TO_EMAIL NO STANDARD PAGE HEADING LINE-SIZE 200.
DATA : BEGIN OF ITAB OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
END OF ITAB.
DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE,
receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,
packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,
listobject LIKE abaplist OCCURS 10,
compressed_attachment LIKE soli OCCURS 100 WITH HEADER LINE,
w_object_hd_change LIKE sood1,
compressed_size LIKE sy-index.
REPORT ZREPORT_TO_EMAIL NO STANDARD PAGE HEADING LINE-SIZE 200.
DATA : BEGIN OF ITAB OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
END OF ITAB.
DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE,
receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,
packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,
listobject LIKE abaplist OCCURS 10,
compressed_attachment LIKE soli OCCURS 100 WITH HEADER LINE,
w_object_hd_change LIKE sood1,
compressed_size LIKE sy-index.
START-OF-SELECTION.
SELECT PERNR ENAME
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM PA0001
WHERE PERNR < recextnam =" 'EXTERNAL-MAIL-ID@GMAIL.COM'.">
* EMAIL ADDRESS
RECEIVER_list-RECESC = 'E'. "<- RECEIVER_list-SNDART = 'INT'."<- RECEIVER_list-SNDPRI = '1'."<- APPEND receiver_list. * General data w_object_hd_change-objla = sy-langu. w_object_hd_change-objnam = 'Object name'. w_object_hd_change-objsns = 'P'. * Mail subject w_object_hd_change-objdes = 'Message subject'. * Mail body APPEND 'Message content' TO message_content. * Attachment CALL FUNCTION 'SAVE_LIST' EXPORTING list_index = '0' TABLES listobject = listobject. CALL FUNCTION 'TABLE_COMPRESS' IMPORTING compressed_size = compressed_size TABLES in = listobject out = compressed_attachment. DESCRIBE TABLE compressed_attachment. CLEAR packing_list. packing_list-transf_bin = 'X'. packing_list-head_start = 0. packing_list-head_num = 0. packing_list-body_start = 1. packing_list-body_num = sy-tfill. packing_list-objtp = 'ALI'. packing_list-objnam = 'Object name'. packing_list-objdes = 'Attachment description'. packing_list-objlen = compressed_size. APPEND packing_list. CALL FUNCTION 'SO_OBJECT_SEND' EXPORTING object_hd_change = w_object_hd_change object_type = 'RAW' owner = sy-uname TABLES objcont = message_content receivers = receiver_list packing_list = packing_list att_cont = compressed_attachment.