第一范文网 - 专业文章范例文档资料分享平台

Smartform转换PDF并发送邮件

来源:用户分享 时间:2025/5/21 12:53:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

FORM mail .

\打印参数 DATA:fm_name TYPE rs38l_fnam, DATA :l_page TYPE i.

DATA:fm_name TYPE rs38l_fnam.

DATA: ls_control_param TYPE ssfctrlop,

ls_composer_param TYPE ssfcompop. DATA lv_menge LIKE it_lips-lfimg.

DATA: lt_likp LIKE it_likp OCCURS 0 WITH HEADER LINE, lt_lips LIKE it_lips OCCURS 0 WITH HEADER LINE. DATA wa_lips LIKE LINE OF it_lips.

DATA:out_tab LIKE TABLE OF it_likp WITH HEADER LINE. DATA lv_vbeln TYPE vbeln_vl. DATA: gs_control TYPE ssfctrlop. DATA: gs_compop TYPE ssfcompop. DATA: gs_return TYPE ssfcrescl.

DATA: control_parameters TYPE ssfctrlop. DATA: job_output_info TYPE ssfcrescl. DATA: job_output_options TYPE ssfcresop.

\转OTF

DATA: gt_otf TYPE itcoo OCCURS 0 WITH HEADER LINE, gt_tline TYPE tline OCCURS 0 WITH HEADER LINE, gt_record LIKE solisti1 OCCURS 0 WITH HEADER LINE.

DATA: g_len_in TYPE i, \文件大小(邮件附件大小) g_lines_txt TYPE i, \邮件文本行数 g_lines_bin TYPE i. \邮件附件行数 DATA: g_benfile TYPE xstring.

DATA: g_object(50) TYPE c.\邮件主题

DATA pdf_name TYPE string.

DATA: gt_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE, \邮件内容 正文+附件 gt_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE, \正文内容 gt_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE, \附件内容 gt_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,\收件人 wa_doc_chng TYPE sodocchgi1. \邮件属性 LOOP AT it_alv WHERE check = 'X'. IF it_alv-dflag = 'X'.

MESSAGE '所选的打印条目中含有被冻结的客户,请申请临时信用额度之后再进行打印!' TYPE 'E'. ENDIF.

READ TABLE out_tab WITH KEY vbeln = it_alv-vbeln. IF sy-subrc <> 0.

LOOP AT it_likp WHERE vbeln = it_alv-vbeln. out_tab = it_likp.

out_tab-vgbel = it_alv-vgbel. APPEND out_tab. ENDLOOP. ENDIF. ENDLOOP.

*獲取表頭數量

l_page = LINES( out_tab ).

*如果表頭數量為0,則彈出警告‘NO DATA FOUND’ IF l_page = 0.

MESSAGE s001 WITH '没有数据被选择,请选择!' DISPLAY LIKE 'E'. EXIT. ENDIF.

LOOP AT out_tab.

IF out_tab-bahns = ''.

out_tab-bahns = '盖章+签字'. MODIFY out_tab. ENDIF. ENDLOOP.

gs_control-no_open = 'X'. gs_control-no_close = 'X'. gs_control-getotf = 'X'. gs_control-langu = '1'. gs_control-no_dialog = 'X'.

gs_compop-tdnoprev = 'X'. LOOP AT out_tab. CLEAR lt_likp[].

MOVE out_tab TO lt_likp.

\ lt_likp-bldat = '20121001'. \更改打印日期 APPEND lt_likp. CLEAR lt_lips[].

LOOP AT it_lips2 WHERE vbeln EQ lt_likp-vbeln. MOVE it_lips2 TO lt_lips.

WRITE lt_lips-lfimg TO lt_lips-lfimg_c DECIMALS 3. CONDENSE lt_lips-lfimg_c. APPEND lt_lips. ENDLOOP.

CLEAR lv_menge. CLEAR lv_vbeln.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING

formname = 'ZZKTEST1' \附件-采购合同条款 IMPORTING

fm_name = fm_name EXCEPTIONS

no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.

CALL FUNCTION 'SSF_OPEN' EXPORTING

output_options = gs_compop control_parameters = gs_control user_settings = 'X' IMPORTING

job_output_options = job_output_options EXCEPTIONS

formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.

CALL FUNCTION fm_name EXPORTING

output_options = gs_compop control_parameters = gs_control user_settings = ' ' IMPORTING

job_output_info = gs_return TABLES

it_head = lt_likp it_body = lt_lips EXCEPTIONS

formatting_error = 1

internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSE. ENDIF.

CALL FUNCTION 'SSF_CLOSE' IMPORTING

job_output_info = job_output_info EXCEPTIONS

formatting_error = 1 internal_error = 2 send_error = 3 OTHERS = 4. IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSE.

APPEND LINES OF job_output_info-otfdata TO gt_otf. ENDIF. ENDLOOP.

CALL FUNCTION 'CONVERT_OTF' EXPORTING

format = 'PDF' pdf_username = 'TIANCZ' IMPORTING

bin_filesize = g_len_in bin_file = g_benfile TABLES

otf = gt_otf lines = gt_tline EXCEPTIONS

err_max_linewidth = 1 err_format = 2 err_conv_not_possible = 3 err_bad_otf = 4 OTHERS = 5. IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.

搜索更多关于: Smartform转换PDF并发送邮件 的文档
Smartform转换PDF并发送邮件.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8c27t4plk44oweh0pitk_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top