




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Smartform导出为PDF并且作为附件进行邮件发送1、首先获取Smartform生成的功能函数,CALL FUNCTION SSF_FUNCTION_MODULE_NAME EXPORTING formname = c_formname IMPORTING fm_name = v_fm_name EXCEPTIONS no_form = 1 no_function_module = 2OTHERS = 3.2、 调用该函数并且在参数中设定获取OTF数据st_control_parameters-no_dialog = X.st_control_parameters-getotf = X.CALL FUNCTION v_fm_name EXPORTING control_parameters = st_control_parameters output_options = st_output_options IMPORTING document_output_info = st_document_output_info job_output_info = st_job_output_info job_output_options = st_job_output_options TABLES pt_data = gt_data EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4OTHERS = 5.3、 将OTF数据转换成PDF文件CALL FUNCTION CONVERT_OTF EXPORTING format = PDF IMPORTING bin_filesize = v_bin_filesize bin_file = g_binfile TABLES otf = st_job_output_info-otfdata* doctab_archive = it_docs lines = it_lines EXCEPTIONS err_max_linewidth = 1 err_format = 2 err_conv_not_possible = 3 err_bad_otf = 4 OTHERS = 5.IF g_binfile IS NOT INITIAL. CALL FUNCTION SCMS_XSTRING_TO_BINARY EXPORTING buffer = g_binfile IMPORTING output_length = v_bin_filesize TABLES binary_tab = gt_record.ENDIF.4、 处理邮件主题,附件,收件人,发件人(默认会是登陆用户配置的邮箱)APPEND LINES OF GT_record TO i_objbin.*Mail Bodyi_objtxt-line = 邮件正文.APPEND i_objtxt.DESCRIBE TABLE i_objtxt LINES v_lines_txt.wa_doc-obj_langu = SY-LANGU.wa_doc-obj_name = smartform.wa_doc-expiry_dat = sy-datum + 10.wa_doc-obj_descr = 邮件标题题题题题题题题题.wa_doc-sensitivty = F.wa_doc-doc_size = v_lines_txt * 255 + v_bin_filesize.* Main TextCLEAR 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.* Attachment (pdf-Attachment)CLEAR v_lines_bin.i_objpack-transf_bin = X.i_objpack-head_start = 1.i_objpack-head_num = 1.i_objpack-body_start = 1.DESCRIBE TABLE i_objbin LINES v_lines_bin.i_objpack-doc_size = v_bin_filesize .i_objpack-body_num = v_lines_bin.i_objpack-doc_type = PDF.i_objpack-obj_name = smart.i_objpack-obj_descr = PDF.”这里是附件名APPEND i_objpack.CLEAR i_reclist.i_reclist-rec_type = U.i_reclist-receiver = .“收件人地址APPEND i_reclist.5、 调用发送邮件的函数CALL FUNCTION SO_NEW_DOCUMENT_ATT_SEND_API1 EXPORTING document_data = wa_doc put_in_outbox = commit_work = X TABLES packing_list = i_objpack* object_header = wa_objhead contents_bin = i_objbin contents_txt = i_objtxt receivers = i_reclist 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 = 7OTHERS = 8.邮件发送后可在sost中查看到、6、 如果需要保存PDF到本地*.GET THE FILE NAME TO STORE.*CONCATENATE smrt .pdf INTO v_name.*CREATE OBJECT v_guiobj.*CALL METHOD v_guiobj-file_save_dialog* EXPORTING* default_extension = pdf* default_file_name = v_name* file_filter = v_filter* CHANGING* filename = v_name* path = v_path* fullpath = v_fullpath* user_action = v_uact.*IF v_uact = v_guiobj-action_cancel.* EXIT.*ENDIF.*.DOWNLOAD AS FILE.*MOVE v_fullpath TO v_filename.*CALL FUNCTION GUI_DOWNLOAD* EXPORTING* bin_filesize = v_bin_filesize* filename = v_filename* filetype = BIN* TABLES* data_tab = it_lines* EXCEPTIONS* file_write_error = 1* no_batch = 2* gui_refuse_filetransfer = 3* invalid_type = 4* no_authority = 5* unknown_error = 6* header_not_allowed = 7* separator_not_allowed = 8* filesize_not_allowed = 9* header_too_long = 10* dp_error_create = 11* dp_error_send = 12* dp_error_write = 13* unknown_dp_error = 14* access_denied = 15* dp_out_of_memory = 16* disk_full = 17* dp_timeout = 18* file_not_found = 19* dataprovider_exception = 20* control_flush_error = 21* OTHERS = 22.完整代码请见下面:*&-*& Report ZTEST_MAIL3 *& *&-*& *& *&-*REPORT ztest_mail3 .TYPES:BEGIN OF ty_data.TYPES: matkl TYPE mara-matkl, wgbez TYPE t023t-wgbez, matnr TYPE mara-matnr, maktx TYPE makt-maktx, ebeln TYPE ekko-ebeln, ebelp TYPE ekpo-ebelp, ekgrp TYPE ekko-ekgrp, bukrs TYPE ekko-bukrs, werks TYPE ekpo-werks, lifnr TYPE ekko-lifnr, netpr TYPE ekpo-netpr, normt TYPE mara-normt, groes TYPE mara-groes, kdatb TYPE ekko-kdatb, kdate TYPE ekko-kdate, jiaohuo(30), waibu(30),*增加物料基本单位,订单单位 meins(3), bstme(3),*BO C2014080601 增加车间和生产线 labor_t(30), spart_t(20),*EO C2014080601 增加车间和生产线*BO C2014082101 增加物料长文本,规格型号,供应商描述,采购订单文* beizhu(100),* zeinr(22),* lifnr_d(35),* caigou(100),*EO C2014082101 增加车间和生产线END OF ty_data.DATA:gt_data TYPE TABLE OF ty_data WITH HEADER LINE.DATA:g_binfile TYPE xstring,gt_record TYPE TABLE OF solisti1 WITH HEADER LINE.* Internal table declarationDATA: it_otf TYPE STANDARD TABLE OF itcoo, it_docs TYPE STANDARD TABLE OF docs, it_lines TYPE STANDARD TABLE OF tline WITH HEADER LINE.* Declaration of local variables.DATA: st_job_output_info TYPE ssfcrescl, st_document_output_info TYPE ssfcrespd, st_job_output_options TYPE ssfcresop, st_output_options TYPE ssfcompop, st_control_parameters TYPE ssfctrlop, v_len_in TYPE so_obj_len, v_language TYPE sflangu VALUE E, v_e_devtype TYPE rspoptype, v_bin_filesize TYPE i, v_name TYPE string, v_path TYPE string, v_fullpath TYPE string, v_filter TYPE string, v_uact TYPE i, v_guiobj TYPE REF TO cl_gui_frontend_services, v_filename TYPE string, v_fm_name TYPE rs38l_fnam.CONSTANTS c_formname TYPE tdsfname VALUE ZPVNP21_CN01.DATA wa_buffer TYPE string. To convert from 132 to 255DATA: i_record TYPE TABLE OF solisti1 WITH HEADER LINE, wa_doc TYPE sodocchgi1, i_reclist TYPE TABLE OF somlreci1 WITH HEADER LINE,* Objects to send mail. i_objpack TYPE TABLE OF sopcklsti1 WITH HEADER LINE, i_objtxt TYPE TABLE OF solisti1 WITH HEADER LINE, i_objbin TYPE TABLE OF solisti1 WITH HEADER LINE,* Work Area declarations wa_objhead TYPE soli_tab,* Variables declarations* v_len_in TYPE sood-objlen, v_lines_txt TYPE i, v_lines_bin TYPE i.CALL FUNCTION SSF_GET_DEVICE_TYPE EXPORTING i_language = v_language i_application = SAPDEFAULT IMPORTING e_devtype = v_e_devtype.st_output_options-tdprinter = v_e_devtype.st_control_parameters-no_dialog = X.st_control_parameters-getotf = X.*.GET SMARTFORM FUNCTION MODULE NAME.*CALL FUNCTION SSF_FUNCTION_MODULE_NAME EXPORTING formname = c_formname IMPORTING fm_name = v_fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3.*.CALL SMARTFORM.*CALL FUNCTION v_fm_name EXPORTING control_parameters = st_control_parameters output_options = st_output_options IMPORTING document_output_info = st_document_output_info job_output_info = st_job_output_info job_output_options = st_job_output_options TABLES pt_data = gt_data EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5.*.CONVERT TO OTF TO PDF.*CALL FUNCTION CONVERT_OTF EXPORTING format = PDF IMPORTING bin_filesize = v_bin_filesize bin_file = g_binfile TABLES otf = st_job_output_info-otfdata* doctab_archive = it_docs lines = it_lines EXCEPTIONS err_max_linewidth = 1 err_format = 2 err_conv_not_possible = 3 err_bad_otf = 4 OTHERS = 5.IF g_binfile IS NOT INITIAL. CALL FUNCTION SCMS_XSTRING_TO_BINARY EXPORTING buffer = g_binfile IMPORTING output_length = v_bin_filesize TABLES binary_tab = gt_record.ENDIF.APPEND LINES OF GT_record TO i_objbin.*i_objbin = GT_record.*Mail Bodyi_objtxt-line = 邮件正文.APPEND i_objtxt.DESCRIBE TABLE i_objtxt LINES v_lines_txt.wa_doc-obj_langu = SY-LANGU.wa_doc-obj_name = smartform.wa_doc-expiry_dat = sy-datum + 10.wa_doc-obj_descr = 邮件标题.wa_doc-sensitivty = F.wa_doc-doc_size = v_lines_txt * 255 + v_bin_filesize.* Main TextCLEAR 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.* Attachment (pdf-Attachment)CLEAR v_lines_bin.i_objpack-transf_bin = X.i_objpack-head_start = 1.i_objpack-head_num = 1.i_objpack-body_start = 1.DESCRIBE TABLE i_objbin LINES v_lines_bin.i_objpack-doc_size = v_bin_filesize .i_objpack-body_num = v_lines_bin.i_objpack-doc_type = PDF.i_objpack-obj_name = smart.i_objpack-obj_descr = PDF.APPEND i_objpack.CLEAR i_reclist.i_reclist-rec_type = U.i_reclist-to_answer = X.i_reclist-notif_read = X.i_reclist-notif_del = X.i_reclist-notif_ndel = X.i_reclist-receiver = .APPEND i_reclist.CALL FUNCTION SO_NEW_DOCUMENT_ATT_SEND_API1 EXPORTING document_data = wa_doc put_in_outbox = commit_work = X TABLES packing_list = i_objpack* object_header = wa_objhead contents_bin = i_objbin contents_txt = i_objtxt receivers = i_reclist 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.IF sy-subrc = 0.*start SAPconnect process immediately* SUBMIT rsconn01 WITH mode EQ INT AND RETURN.* COMMIT WORK.ENDIF.*.GET THE FILE NAME TO STORE.*CONCATENATE smrt .pdf INTO v_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林避火知识培训课件
- 森林消防装备介绍
- 梓潼消防知识培训课件
- 2025年电子商务师专业技能认证考试模拟题库及解析
- 骨科膝关节试题与答案
- 桥梁架设培训课件
- 2025年智慧零售店员招聘面试题集
- 2025年游戏开发者面试预测题及设计思路解析
- 夏季消防检查工作方案
- 2025年建筑行业住建部遴选建筑师笔试预测试题及答案
- 2025年公平竞争审查知识竞赛考试练习题库(正式版)含答案
- 2025年重庆市中考英语试卷真题(含标准答案及解析)
- 员工社保补贴合同协议
- (11.7.1)-12.7-肺性脑病病理生理学
- GB/T 1303.4-2009电气用热固性树脂工业硬质层压板第4部分:环氧树脂硬质层压板
- 新编剑桥商务英语
- 普通高中新课程培训讲座《核心素养导向下的高中化学教学设计策略》2020年8月课件
- 科脉解决方案御商
- 高考英语高考核心词汇
- 腹部损伤AbdominalInjury教材课件
- ACS510变频器参数表
评论
0/150
提交评论