电子邮件(ABAP)中的其他PDF附件

时间:2019-01-09 11:59:43

标签: email sap attachment abap

我目前正在尝试通过电子邮件发送选择的结果,更确切地说,将其作为附件发送。我的目标是创建一个XML文件(到目前为止可以使用)和PDF,两者均从保存所选数据的内部表中获取。内部表使用自定义类型声明。我当前用于发送带有XML附件的电子邮件的代码如下:

lr_send_request = cl_bcs=>create_persistent( ).

lr_document = cl_document_bcs=>create_document( i_type    = 'HTM'
                                                i_text    = lt_text
                                                i_subject = lv_subject ).

* ----- converting data of internal table so it is suitable for XML
    ...
* -----

lr_document->add_attachment( i_attachment_type     = 'BIN'
                             i_attachment_subject  = 'output.xml'
                             i_attachment_size     = xml_size
                             i_attachment_language = sy-langu
                             i_att_content_hex     = xml_content ).

lr_send_request->set_document( lr_document ).

在网上,我只能找到如何将spooljob(无论是:/)转换为PDF。有了这样的功能,我也许可以解决我的问题,但是之后我就无法附加XML。

如何以与处理XML 相同的方式将内部表的数据转换为PDF文件,以将其附加到电子邮件

1 个答案:

答案 0 :(得分:4)

有多种创建PDF的方法:

  1. 使用Smartform创建报告并获取PDF格式的输出。 Sample code
  2. 如果您的系统具有Adobe表单许可证,请使用Adobe表单创建。
  3. 使用zcl_pdf类创建本机pdf文件。
  4. 使用CONVERT_ABAPSPOOLJOB_2_PDF FM以pdf格式获取打印机线轴(感谢@Sandra Rossi)。

如果您的PDF很简单(不包括复杂的表格,垂直文本,图像等),请使用第三个选项,否则请尝试第一个或第二个。