ABAP 发邮件程序
来源:互联网 发布:c语言 flag 编辑:程序博客网 时间:2024/05/21 15:03
*&---------------------------------------------------------------------*
*& ReportZZ_TEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZZ_TEST.
DATA: i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
i_objtxt LIKE solisti1 OCCURS 0 WITH HEADERLINE,
i_objbin LIKE solisti1 OCCURS 0 WITH HEADERLINE,
i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
i_record LIKE solisti1 OCCURS 0 WITH HEADERLINE,
v_objhead TYPE soli_tab ,
v_lines_txt TYPE i,
v_lines_bin TYPE i,
v_docchgi TYPE sodocchgi1,
v_lines_bin_all TYPE i ,
filelen TYPE i.
DATA: BEGIN OF itab_text OCCURS 0 , "内表作为邮件附件
ff1(20) ,
ff2(40) ,
ff3 TYPE i,
END OF itab_text.
START-OF-SELECTION.
itab_text-ff1 = 'skdfksd'.
itab_text-ff2 = '第一行'.
itab_text-ff3 = 123.
APPEND itab_text.
itab_text-ff1 = 'ksssd'.
itab_text-ff2 = '第二行'.
itab_text-ff3 = 456.
APPEND itab_text.
PERFORM send_mail.
*&---------------------------------------------------------------------*
*& Form send_mail
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM send_mail .
v_docchgi-obj_name = 'Text'.
v_docchgi-expiry_dat = sy-datum + 2 ."过期日期
v_docchgi-sensitivty = 'F'. "Functionalobject
v_docchgi-doc_size = v_lines_txt * 255.
v_docchgi-obj_descr = 'Mail标题'.
i_objtxt = 'Line1第一行'.
APPEND i_objtxt.
i_objtxt = 'Line2第二行'.
APPEND i_objtxt.
DESCRIBE TABLE i_objtxt LINES v_lines_txt.
i_objpack-transf_bin = ''.
i_objpack-head_start = 1.
i_objpack-head_num = 0.
i_objpack-body_start = 1.
i_objpack-body_num = v_lines_txt.
i_objpack-doc_type = 'RAW'.
APPEND i_objpack.
**内表作为邮件附件
DATA: tmpstr TYPE string .
CLEAR: tmpstr,i_record,i_record[].
PERFORM itabtostr TABLES itab_text USINGtmpstr.
PERFORM strtorecord TABLES i_record USING tmpstrfilelen.
APPEND LINES OF i_record TO i_objbin.
DESCRIBE TABLE i_record LINES v_lines_bin.
DESCRIBE TABLE i_objbin LINESv_lines_bin_all.
i_objpack-transf_bin = 'X'.
i_objpack-body_start = v_lines_bin_all -v_lines_bin + 1 .
i_objpack-body_num = v_lines_bin.
i_objpack-doc_type = 'XLS'.
i_objpack-obj_name = 'text'.
i_objpack-doc_size = v_lines_bin * 255.
CONCATENATE 'itab_attch.xls' '' INTOi_objpack-obj_descr."附件名
APPEND i_objpack.
**接收人
CLEAR i_reclist.
i_reclist-receiver = 'liuandr@gmail.com'.
i_reclist-express = 'X'.
i_reclist-rec_type = 'U'.
APPEND i_reclist.
CALL FUNCTION'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = v_docchgi
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = i_objpack
object_header = v_objhead
contents_bin
*& Report
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT
DATA: i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
DATA: BEGIN OF itab_text OCCURS 0 , "内表作为邮件附件
START-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
FORM send_mail .
**内表作为邮件附件
**接收人