点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试将智能表格pdf作为附件发送到电子邮件。 该代码会将智能表单文档转换为pdf。
=========调用智能表格并获取作业输出数据的代码=============
呼叫功能lv_fm_name"""""调用Smartform功能模块
导出
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient mail_sender = br> output_options = ls_composer_param
user_settings = l_user_settings
l_ponumber = lv_po
l_adrnr = l_adrnr
gs_frgct1 = l_frgct11
gs_frgct2 = l_frgct1 << >> IMPORTING br> gt_lines = gt_lines
例外情况
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
其他= 5。
将ls_job_info-otfdata移动到lt_tsfotf。
=======将OTF转换为PDF的代码====================
调用功能'CONVERT_OTF'""""""将OFT数据转换为xstring
EXPORTING
格式='PDF'
* max_linewidth = 132
IMPORTING
bin_filesize = lv_pdf_len
bin_file = lv_xstring"二进制文件
表格
otf = lt_tsfotf" lt_tstotf
行= lt_lines
例外
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3 err_bad_otf = 4
其他= 5。
调用方法cl_bcs_convert => xstring_to_solix
导出
iv_xstring = lv_xstring
接收
et_solix = lt_pdf_xstring。
将lt_pdf_xstring到lt_pdf_final的附加行。
========追加身体回执和附件的代码============
清除ls_message。
ls_message-line ='<!DOCTYPE html>
将ls_message添加到lt_message。
清除ls_message。
ls_message-line =' '。
将ls_message附加到lt_message。
清除ls_message。
ls_message-line ='尊敬的客户,
'。
附加ls_message至 lt_message。
清除ls_message。
ls_message-line ='查找附件,
'。
将ls_message附加到lt_message。
清除ls_message。
ls_message-line =' '。
将ls_message添加到lt_message。
lv_start =1。
> ls_pack_list-transf_bin ='X'。
ls_pack_list-head_start =1。
ls_pack_list-head_num =1。
ls_pack_list-body_start = lv_start。
描述表lt_pdf_xstring LINES ls_pack_list-body
ls_pack_list-doc_type ='PDF'。
合并'发票''Test'INTO ls_pack_list-obj_descr用'_'分隔。
ls_pack_list-obj_name ='测试'。
ls_pack_list- doc_size = ls_pack_list-body_num * 255.
lv_start = lv_start + ls_pack_list-body_num。
APPEND ls_pack_list到lt_pack_list。
清除ls_pack_list。
MOVE sylanguage到ls_doc_data 。
将'Test'移动到ls_doc_data-obj_descr。
描述表lt_message行ls_pack_list-body_num。
清除lv_length。
移动ls_pack_list-body_num到lv_length。
MOVE'HTM'。 到ls_pack_list-doc_type。
移动空间到ls_pack_list-transf_bin。
移动'1'到ls_pack_l ist-head_start。
将'0'移至ls_pack_list-head_num。
将'1'移至ls_pack_list-body_start。
插入ls_pack_list INTO lt_pack_list索引1。
清除ls_pack_list。
将'test@ex.com '移动到ls_receivers-receiver。 " *电子邮件ID
将'U'移动到ls_receivers-rec_type。
ls_receivers-com_type ='INT'。
ls_receivers-notif_del ='X'。
ls_receivers-notif_ndel ='X'。 br>将ls_receivers附加到lt_receivers。
调用功能'SO_NEW_DOCUMENT_ATT_SEND_API1'
导出
document_data = ls_doc_data
put_in_outbox = c_x
commit_work = c_x
packing_list = lt_pack_list
内容= txt = lt_message
接收者= lt_receivers
* contents_bin = lt_pdf_xstring
contents_hex = lt_pdf_final
EXCEPTIONS
too_many_receivers = 1
document_not_exent = 2
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8。
功能模块引发sy-subrc 6,在调试中我发现SBCOMS_SR_FROM_DOCUMENT_CREATE引发了异常。 该问题所附的图片中显示了例外情况。
api1-error.jpg (19.6 kB)
解决了这个问题! 在调试中,我发现内容服务器未运行。
嗨,G Lakshmipathi该代码在其他服务器中也有效,除了具有此要求的客户端服务器:'(。
一周热门 更多>