HI
this is my code:
1)
FORM popola_destinatari CHANGING l_it_recvlist TYPE somlreci1_t.
DATA: wa_somlreci1 TYPE somlreci1.
wa_somlreci1-receiver = 'alessandro.ieva@finconsgroup.com'.
wa_somlreci1-rec_type = 'U'.
wa_somlreci1-com_type = 'INT'.
APPEND wa_somlreci1 TO l_it_recvlist.
CLEAR wa_somlreci1.
ENDFORM. " POPOLA_DESTINATARI
2)
FORM document_data USING l_it_contents TYPE srm_t_solisti1
CHANGING l_document TYPE sodocchgi1
t_contents_bin TYPE swftlisti1.
DATA: wa_solisti1 TYPE solisti1,
tablines TYPE i,
fieldlen TYPE i,
wa_contents_bin TYPE solisti1.
DESCRIBE FIELD wa_solisti1-line LENGTH fieldlen IN BYTE MODE.
DESCRIBE TABLE l_it_contents LINES tablines.
MULTIPLY fieldlen BY tablines.
l_document-obj_name = 'MAIL'.
l_document-obj_descr = 'DESCRIPTION'.
l_document-obj_langu = sy-langu.
l_document-obj_prio = 9.
l_document-priority = 9.
READ TABLE t_contents_bin INTO wa_contents_bin INDEX tablines.
l_document-doc_size = ( tablines - 1 ) * 255 + strlen( wa_contents_bin ).
ENDFORM. " DOCUMENT_DATA
3)
FORM packing_list TABLES t_pdf TYPE tttext
USING l_it_contents TYPE srm_t_solisti1
CHANGING l_it_packlist TYPE sopcklsti1_t
t_contents_bin TYPE swftlisti1 .
DATA: wa_sopcklsti1 TYPE sopcklsti1,
wa_contents TYPE solisti1,
wa_pdf TYPE tline,
wa_contents_bin TYPE solisti1.
*---------------------------------------
CLEAR wa_sopcklsti1-transf_bin.
wa_sopcklsti1-head_start = 1.
wa_sopcklsti1-head_num = 0.
wa_sopcklsti1-body_start = 1.
DESCRIBE TABLE l_it_contents LINES wa_sopcklsti1-body_num.
wa_sopcklsti1-doc_type = 'RAW'.
APPEND wa_sopcklsti1 TO l_it_packlist.
wa_sopcklsti1-transf_bin = 'X'.
wa_sopcklsti1-head_start = 1.
wa_sopcklsti1-head_num = 0.
wa_sopcklsti1-body_start = 1.
DESCRIBE TABLE t_contents_bin LINES wa_sopcklsti1-body_num.
wa_sopcklsti1-doc_type = 'PDF'.
wa_sopcklsti1-obj_descr = 'Pdf prova'.
wa_sopcklsti1-obj_name = 'Pdf prova'.
wa_sopcklsti1-doc_size = wa_sopcklsti1-body_num * 255.
APPEND wa_sopcklsti1 TO l_it_packlist.
ENDFORM. " PACKING_LIST
3)
FORM send_email USING l_document TYPE sodocchgi1
l_packlist TYPE sopcklsti1_t
l_contents TYPE srm_t_solisti1
l_recvlist TYPE somlreci1_t
t_contents_bin TYPE swftlisti1.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = l_document
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = l_packlist
contents_bin = t_contents_bin
contents_txt = l_contents
receivers = l_recvlist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
ENDFORM. " SEND_EMAIL