我是新来的SAP & ABAP,我正在努力通过实践方法尽可能多地学习。ABAP,GOS,附件下载
基本上我有一些附件列在通用对象服务(GOS)中,我需要将它们全部下载到我的电脑中。我需要知道如何从程序/报告中以编程方式下载这些附件。
我是新来的SAP & ABAP,我正在努力通过实践方法尽可能多地学习。ABAP,GOS,附件下载
基本上我有一些附件列在通用对象服务(GOS)中,我需要将它们全部下载到我的电脑中。我需要知道如何从程序/报告中以编程方式下载这些附件。
我从来没有真正不得不这样做我自己,但我觉得这是它是如何做:
通过调用cl_binary_relation=>read_links
在对象的ID
轻描淡写地说,附着物的附着获取附件列表。该it_relation_options表应该充满像这样的关系:
la_relat-sign = 'I'.
la_relat-option = 'EQ'.
la_relat-low = 'ATTA'. "Attachements
APPEND la_relat TO lt_relat.
这告诉read_links得到列为附件的相关对象。
成功获取附件详细信息后,您应该能够遍历结果表并将其传递给SO_OBJECT_READ
功能模块(如果该功能模块不起作用,请尝试SO_DOCUMENT_READ_API1
)。这需要一个文件夹ID和一个文档ID;在read_links的结果中,这些可以连接在一起形成一个字符串(对象类型,例如前面的SOFM
)。
SO_OBJECT_READ
会给你二进制内容。您可以拨打电话SO_OBJECT_DOWNLOAD
(我认为)filetype = 'BIN'
。
希望有帮助!
要仅选择某些附件,您可以查询SGTBREL表,然后从instid_b字段提取必要的键以查询SOOD(SAP Office对象定义)表,以获取文件大小,扩展名和描述等字段。然后搜索so3c表中的附件,从中可以获取必要的信息以最终使用SO_OBJECT_DOWNLOAD函数。 – user3175371