ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:18.64KB ,
资源ID:10251962      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10251962.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Smartform导出为PDF并且作为附加资料进行邮件发送.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Smartform导出为PDF并且作为附加资料进行邮件发送.docx

1、Smartform导出为PDF并且作为附加资料进行邮件发送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_con

2、trol_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

3、 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_li

4、nes 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、处理邮件主题,附件,收件人,发件人(默认会

5、是登陆用户配置的邮箱)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 =

6、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_objpa

7、ck-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_re

8、clist-rec_type = U.i_reclist-receiver = xxx.“收件人地址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 recei

9、vers = 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

10、 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

11、 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* hea

12、der_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_exceptio

13、n = 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

14、-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),*

15、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 tab

16、le 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,

17、 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 RE

18、F 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 somlrec

19、i1 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

20、_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 FUNCTI

21、ON 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_opti

22、ons 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

23、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

24、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

25、.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

26、.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 .

27、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 = xxx.APPEND i_

28、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.*.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1