【问题标题】:Additional PDF Attachment in E-Mail (ABAP)电子邮件中的附加 PDF 附件 (ABAP)
【发布时间】:2019-01-09 11:59:43
【问题描述】:

我目前正在尝试通过电子邮件发送选择的结果,更准确地说是作为附件发送。我的目标是创建一个 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。

如何将内部表格的数据转换为 PDF 文件以将其附加到电子邮件中就像处理 XML 一样

【问题讨论】:

    标签: email attachment abap


    【解决方案1】:

    有多种创建PDF的方法:

    1. 使用 Smartform 创建报告并以 PDF 格式输出。 Sample code
    2. 如果您的系统有 adobe 表单许可证,请使用 adobe 表单创建。
    3. 使用 zcl_pdf 类创建原生 pdf 文件。
    4. 使用 CONVERT_ABAPSPOOLJOB_2_PDF FM 将打印机后台打印为 pdf(感谢 @Sandra Rossi)。

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

    【讨论】:

    • 我认为第一个选项对我来说是最好的,示例代码非常有帮助。但是之后如何将 pdf 附加到电子邮件中?
    • 与 xml 附件相同。
    • 还有另一个选项是创建一个ABAP列表作为假脱机文件,然后将其转换为PDF,使用功能模块CONVERT_ABAPSPOOLJOB_2_PDF。我知道 SCOT 中还有一个自定义功能,可以自动将附件转换为给定的格式,如 PDF,但我不确定它是否适用于您的特定情况。 PS:选项1对应功能模块CONVERT_OTF_2_PDF
    • 非常感谢,我现在实现了第一个选项并且效果很好。但是,我现在不知道如何用我的内部表中的数据填充智能表单?
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2016-01-18
    • 2019-03-14
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多