2020-08-18 09:06发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好团队,
我需要根据发票输出和所有GOS文档创建一个文档,然后将其作为邮件发送。
我知道如何发送邮件,但在检索所有GOS pdf文档并将其与发票输出合并为一个pdf时需要帮助。
请帮助。
您好 Harshad Ramesh Kapley ,
用于阅读GOS附件并将其添加到我在下面使用的电子邮件附件中 代码-这只是方法的一部分,但应该可以为您提供图片。
呼叫功能" BDS_GOS_CONNECTIONS_GET" 出口 classname ='VBRK' objkey = iv_objkey 桌子 gos_connections = lt_gos_connections [] 例外情况 no_objects_found = 1 internal_error = 2 internal_gos_error = 3 其他= 4。 检查sy-subrc = 0。 循环至lt_gos_connections []分配。 清除lt_content_hex []。 lv_value = -docuclass。 将lv_value转换为大写。 "不要发送选定类型的附件(可以使用SM30在TVARV中自定义) 如果lr_excluded_doc_types []不是初始的,并且 lv_value IN lr_excluded_doc_types []。 继续。 万一。 lv_document_id = -loio_id。 "获取附件内容 通话功能'SO_DOCUMENT_READ_API1' 出口 document_id = lv_document_id 桌子 object_header = lt_attachment_head"以获取具有正确扩展名的完整文件名 object_content = lt_object_content contents_hex = lt_content_hex 例外情况 document_id_not_exist = 1 operation_no_authorization = 2 x_错误= 3 其他= 4。 如果sy-subrc = 0。 尝试。 如果lt_content_hex []不是INITIAL。 清除lv_text_line。 lv_title = -描述。 lv_attachment_type = -docuclass。 "设置文件名 如果不是lt_attachment_head为INITIAL。 lo_header = cl_bcs_objhead => create(lt_attachment_head [])。 lv_title = lo_header-> get_filename()。 万一。 CONCATENATE'&SO_FILENAME ='lv_title INTO lv_text_line。 刷新lt_attachment_head。 附加lv_text_line至lt_attachment_head []。 "在邮件中添加附件 ir_document-> add_attachment(i_attachment_type = lv_attachment_type i_attachment_subject = lv_title i_attachment_size = lv_len i_att_content_text = lt_object_content i_att_content_hex = lt_content_hex i_attachment_header = lt_attachment_head)。 万一。 捕获cx_bcs INTO lr_bcs_exception。 通话功能'NAST_PROTOCOL_UPDATE' 出口 msg_arbgb ='ME' msg_nr = syst-msgno msg_ty = syst-msgty msg_v1 = syst-msgv1 msg_v2 = syst-msgv2 msg_v3 = syst-msgv3 msg_v4 = syst-msgv4 例外情况 其他= 1。 ENDTRY。 万一。 结局。
要获取PDF文件,可以使用功能模块SX_OBJECT_CONVERT_OTF_PDF。
调用功能'SX_OBJECT_CONVERT_OTF_PDF' 出口 format_src='OTF' format_dst ='PDF' 改变 transfer_bin = lv_transfer_bin content_txt = lt_content_txt [] content_bin = lt_content_hex [] objhead = lt_objhead [] len = lv_len 例外情况 err_conv_failed = 1 其他= 2。
问候,
Bartosz
HI Bartosz,
是的,谢谢。
但是在将所有pdf合并为一个文档时,我遇到了问题。
我检查了一些类,但是在ECC版本中不存在。
如果您知道的话,请提供帮助。
谢谢
您好 Harshad Ramesh Kapley
有 Z * ABAP类,用于处理PDF文档。 看一下这个站点: http://www.pdfencryption.de/
该类主要是设计的 允许PDF加密,但是有一种方法(ADD_TRAILER_PAGES)应该可以为您提供帮助。
此致, Mateusz
您好,Harshad Ramesh Kapley
显然,有用于合并PDF的标准SAP类:CL_RSPO_PDF_MERGE或CL_PDF_MERGER。
请查看以下答案:
/img/answers/596980/view.html
/img/answers/13054659/view.html
致谢, Mateusz
最多设置5个标签!
您好 Harshad Ramesh Kapley ,
用于阅读GOS附件并将其添加到我在下面使用的电子邮件附件中 代码-这只是方法的一部分,但应该可以为您提供图片。
要获取PDF文件,可以使用功能模块SX_OBJECT_CONVERT_OTF_PDF。
问候,
Bartosz
HI Bartosz,
是的,谢谢。
但是在将所有pdf合并为一个文档时,我遇到了问题。
我检查了一些类,但是在ECC版本中不存在。
如果您知道的话,请提供帮助。
谢谢
您好 Harshad Ramesh Kapley
有 Z * ABAP类,用于处理PDF文档。 看一下这个站点: http://www.pdfencryption.de/
该类主要是设计的 允许PDF加密,但是有一种方法(ADD_TRAILER_PAGES)应该可以为您提供帮助。
此致,
Mateusz
您好,Harshad Ramesh Kapley
显然,有用于合并PDF的标准SAP类:CL_RSPO_PDF_MERGE或CL_PDF_MERGER。
请查看以下答案:
/img/answers/596980/view.html
/img/answers/13054659/view.html
致谢,
Mateusz
一周热门 更多>