ABAP发送邮件(含EXCEl附件) | 您所在的位置:网站首页 › excel表格发送邮件预览格式不对 › ABAP发送邮件(含EXCEl附件) |
邮箱配置请见SAP系统配置SMPT邮箱_Nathan的博客-CSDN博客_sap 邮件配置SAP系统配置SMPT邮箱首先要获取可以使用发送协议SMTP的邮件服务器地址,以及一个用于服务器验证的邮箱地址及其密码。1,登陆SAP系统进入事务码RZ10,通过以下路径可以查看当前可用的参数文件,通过搜索帮助带出文件名可自动带出活动的版本填入参数文件名选择扩展维护单击修改,这里我们需要填入两个参数参数:is/SMTP/virt_host_0 值:*:25;参数:ic... *&---------------------------------------------------------------------**& Form FRM_SENDMAIL*&---------------------------------------------------------------------**& text*&---------------------------------------------------------------------**& --> p1 text*& GC_TAB, LC_CTRL TYPE C VALUE CL_BCS_CONVERT=>GC_CRLF. DATA SY_VLINE TYPE I. DATA: BUKRS TYPE STRING, MATNR_MJ TYPE STRING, EXTWG TYPE STRING, ERSDA TYPE STRING, ZMCQS TYPE STRING, ZMJQS TYPE STRING, ZMCCN TYPE STRING, ZMJDM TYPE STRING, ZBRAN TYPE STRING, ZTEXT TYPE STRING, ZCNDW TYPE STRING, MJCSM TYPE STRING, MSMRQ TYPE STRING, MJYSM1 TYPE STRING, MSMRQ1 TYPE STRING, MJYSM2 TYPE STRING, MSMRQ2 TYPE STRING, MJYSM3 TYPE STRING, MSMRQ3 TYPE STRING, MENGE TYPE STRING, ZYUPS TYPE STRING, ZFLAG1 TYPE STRING, MJCSM_LJ TYPE STRING, MJCSY_PS TYPE STRING, MJCSY_SL TYPE STRING, MATNR_CP TYPE STRING, MAKTX TYPE STRING, MJCCP_SL TYPE STRING, NETWR TYPE STRING, ZFLAG TYPE STRING, BUDAT_MKPF TYPE STRING . CLEAR GT_ZTMM16[]. SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ZTMM16 FROM ZTMM16 WHERE BUKRS = P_BUKRS AND ZBRAN IN S_ZBRAN . IF GT_ZTMM16[] IS NOT INITIAL. LV_DOCUMENT_DATA-OBJ_DESCR = '模具管理报表' . LV_DOCUMENT_DATA-PRIORITY = '1'. LV_DOCUMENT_DATA-OBJ_NAME = 'OFFER'. LV_DOCUMENT_DATA-OBJ_LANGU = SY-LANGU.* ****邮件正文信息 GT_CONTENT_TXT = '各位:'. APPEND GT_CONTENT_TXT. GT_CONTENT_TXT = ' '. APPEND GT_CONTENT_TXT. GT_CONTENT_TXT = '附件模具寿命已到期或即将到期,请及时处理!'. APPEND GT_CONTENT_TXT. GT_CONTENT_TXT = ' '. APPEND GT_CONTENT_TXT. GT_CONTENT_TXT = ''. APPEND GT_CONTENT_TXT. GT_CONTENT_TXT = 'Thanks and regards,'. APPEND GT_CONTENT_TXT. DESCRIBE TABLE GT_CONTENT_TXT LINES SY_VLINE. LV_DOCUMENT_DATA-DOC_SIZE = 255 * ( SY_VLINE - 1 ) + STRLEN( GT_CONTENT_TXT ). GT_PACKING_LIST-TRANSF_BIN = SPACE. GT_PACKING_LIST-HEAD_START = 1. GT_PACKING_LIST-HEAD_NUM = 0 . GT_PACKING_LIST-BODY_NUM = SY_VLINE. GT_PACKING_LIST-BODY_START = 1. GT_PACKING_LIST-DOC_TYPE = 'RAW'. APPEND GT_PACKING_LIST.***收件人信息 LOOP AT GT_ZTMM16. GT_RECEIVERS-RECEIVER = GT_ZTMM16-TELBX . GT_RECEIVERS-REC_TYPE = 'U'. GT_RECEIVERS-NOTIF_READ = 'X'. GT_RECEIVERS-COM_TYPE = 'INT'. GT_RECEIVERS-NOTIF_DEL = 'X'. GT_RECEIVERS-NOTIF_NDEL = 'X'. APPEND GT_RECEIVERS. CLEAR GT_RECEIVERS. CLEAR GT_ZTMM16. ENDLOOP. LOOP AT GT_DATA. AT FIRST. CONCATENATE '模具所在公司' LC_TAB '模具编号' LC_TAB '系列' LC_TAB '模具创建日期' LC_TAB '模具产品腔数' LC_TAB '模具腔数' LC_TAB '产能' LC_TAB '模具简码' LC_TAB '部门' LC_TAB '部门描述' LC_TAB '产能单位' LC_TAB '模具设计寿命(啤数)' LC_TAB '初始设计寿命日期' LC_TAB '模具延长设计寿命1(啤数)' LC_TAB '延长设计寿命1日期' LC_TAB '模具延长设计寿命2(啤数)' LC_TAB '延长设计寿命2日期' LC_TAB '模具延长设计寿命3(啤数)' LC_TAB '延长设计寿命3日期' LC_TAB '累计数量(2019年11月1号之后)' LC_TAB '期初已使用啤数' LC_TAB '模具是否归属客户' LC_TAB '模具累计生产啤数' LC_TAB '剩余寿命(啤数)' LC_TAB '剩余寿命(数量)' LC_TAB '产品编码' LC_TAB '产品名称' LC_TAB '模具对应物料总计划数量' LC_TAB '模具累计生产啤数占比(%)' LC_TAB '不启用标识' LC_TAB '最后一次使用日期' LC_CTRL INTO LC_MAIL_ATTACH. ENDAT. CLEAR BUKRS . CLEAR MATNR_MJ . CLEAR EXTWG . CLEAR ERSDA . CLEAR ZMCQS . CLEAR ZMJQS . CLEAR ZMCCN . CLEAR ZMJDM . CLEAR ZBRAN . CLEAR ZTEXT . CLEAR ZCNDW . CLEAR MJCSM . CLEAR MSMRQ . CLEAR MJYSM1 . CLEAR MSMRQ1 . CLEAR MJYSM2 . CLEAR MSMRQ2 . CLEAR MJYSM3 . CLEAR MSMRQ3 . CLEAR MENGE . CLEAR ZYUPS . CLEAR ZFLAG1 . CLEAR MJCSM_LJ . CLEAR MJCSY_PS . CLEAR MJCSY_SL . CLEAR MATNR_CP . CLEAR MAKTX . CLEAR MJCCP_SL . CLEAR NETWR . CLEAR ZFLAG . CLEAR BUDAT_MKPF . BUKRS = GT_DATA-BUKRS . MATNR_MJ = GT_DATA-MATNR_MJ . EXTWG = GT_DATA-EXTWG . ERSDA = GT_DATA-ERSDA . ZMCQS = GT_DATA-ZMCQS . ZMJQS = GT_DATA-ZMJQS . ZMCCN = GT_DATA-ZMCCN . ZMJDM = GT_DATA-ZMJDM . ZBRAN = GT_DATA-ZBRAN . ZTEXT = GT_DATA-ZTEXT . ZCNDW = GT_DATA-ZCNDW . MJCSM = GT_DATA-MJCSM . MSMRQ = GT_DATA-MSMRQ . MJYSM1 = GT_DATA-MJYSM1 . MSMRQ1 = GT_DATA-MSMRQ1 . MJYSM2 = GT_DATA-MJYSM2 . MSMRQ2 = GT_DATA-MSMRQ2 . MJYSM3 = GT_DATA-MJYSM3 . MSMRQ3 = GT_DATA-MSMRQ3 . MENGE = GT_DATA-MENGE . ZYUPS = GT_DATA-ZYUPS . ZFLAG1 = GT_DATA-ZFLAG1 . MJCSM_LJ = GT_DATA-MJCSM_LJ . MJCSY_PS = GT_DATA-MJCSY_PS . MJCSY_SL = GT_DATA-MJCSY_SL . MATNR_CP = GT_DATA-MATNR_CP . MAKTX = GT_DATA-MAKTX . MJCCP_SL = GT_DATA-MJCCP_SL . NETWR = GT_DATA-NETWR . ZFLAG = GT_DATA-ZFLAG . BUDAT_MKPF = GT_DATA-BUDAT_MKPF . CONCATENATE LC_MAIL_ATTACH BUKRS LC_TAB MATNR_MJ LC_TAB EXTWG LC_TAB ERSDA LC_TAB ZMCQS LC_TAB ZMJQS LC_TAB ZMCCN LC_TAB ZMJDM LC_TAB ZBRAN LC_TAB ZTEXT LC_TAB ZCNDW LC_TAB MJCSM LC_TAB MSMRQ LC_TAB MJYSM1 LC_TAB MSMRQ1 LC_TAB MJYSM2 LC_TAB MSMRQ2 LC_TAB MJYSM3 LC_TAB MSMRQ3 LC_TAB MENGE LC_TAB ZYUPS LC_TAB ZFLAG1 LC_TAB MJCSM_LJ LC_TAB MJCSY_PS LC_TAB MJCSY_SL LC_TAB MATNR_CP LC_TAB MAKTX LC_TAB MJCCP_SL LC_TAB NETWR LC_TAB ZFLAG LC_TAB BUDAT_MKPF LC_CTRL INTO LC_MAIL_ATTACH. CLEAR GT_DATA . ENDLOOP. MIMETYPE = 'APPLICATION/MSEXCEL;CHARSET=UTF-16LE'. CALL FUNCTION 'SCMS_STRING_TO_XSTRING' EXPORTING TEXT = LC_MAIL_ATTACH MIMETYPE = MIMETYPE* ENCODING = IMPORTING BUFFER = LC_MAIL_XATTACH EXCEPTIONS FAILED = 1 OTHERS = 2. IF SY-SUBRC = 0. CONCATENATE CL_ABAP_CHAR_UTILITIES=>BYTE_ORDER_MARK_LITTLE LC_MAIL_XATTACH INTO LC_MAIL_XATTACH IN BYTE MODE. ENDIF. CALL FUNCTION 'SCMS_XSTRING_TO_BINARY' EXPORTING BUFFER = LC_MAIL_XATTACH* APPEND_TO_TABLE = ' '* IMPORTING* OUTPUT_LENGTH = TABLES BINARY_TAB = GT_CONTENT_HEX. GT_OBJECT_HEADER = '寿命到期模具'. APPEND GT_OBJECT_HEADER. DESCRIBE TABLE GT_CONTENT_HEX LINES SY_VLINE. GT_PACKING_LIST-TRANSF_BIN = 'X'. GT_PACKING_LIST-HEAD_START = 1 . GT_PACKING_LIST-HEAD_NUM = 0 . GT_PACKING_LIST-BODY_START = 1. GT_PACKING_LIST-BODY_NUM = SY_VLINE. GT_PACKING_LIST-DOC_TYPE = 'XLS'. GT_PACKING_LIST-DOC_SIZE = SY_VLINE * 255. GT_PACKING_LIST-OBJ_NAME = '寿命到期模具'. GT_PACKING_LIST-OBJ_DESCR = GT_PACKING_LIST-OBJ_NAME. APPEND GT_PACKING_LIST. CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' EXPORTING DOCUMENT_DATA = LV_DOCUMENT_DATA PUT_IN_OUTBOX = 'X' COMMIT_WORK = 'X' IMPORTING SENT_TO_ALL = LV_SENT_TO_ALL* NEW_OBJECT_ID = TABLES PACKING_LIST = GT_PACKING_LIST[] OBJECT_HEADER = GT_OBJECT_HEADER[]* CONTENTS_BIN = CONTENTS_TXT = GT_CONTENT_TXT[] CONTENTS_HEX = GT_CONTENT_HEX[]* OBJECT_PARA =* OBJECT_PARB = RECEIVERS = GT_RECEIVERS[] EXCEPTIONS* TOO_MANY_RECEIVERS = 1 DOCUMENT_NOT_SENT = 1* DOCUMENT_TYPE_NOT_EXIST = 3 OPERATION_NO_AUTHORIZATION = 2 PARAMETER_ERROR = 3 X_ERROR = 4 ENQUEUE_ERROR = 5 OTHERS = 6. ENDIF.ENDFORM. |
CopyRight 2018-2019 实验室设备网 版权所有 |