Я никогда на самом деле должен был сделать это сам, но я думаю, что это, как это делается:
Получить список вложений, вызвав 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
). Это ожидает идентификатор папки и идентификатор документа; в результатах read_links они могут быть объединены вместе в одну строку (с типом объекта, например SOFM
спереди).
SO_OBJECT_READ
предоставит вам двоичный контент. Затем вы можете позвонить SO_OBJECT_DOWNLOAD
с (я думаю) filetype = 'BIN'
.
Надеюсь, что это поможет!
Чтобы выбрать только определенные вложения, вы можете запросить таблицу SGTBREL, а затем извлечь необходимые ключи из поля instid_b для запроса таблицы SOOD (определение объекта Office), чтобы получить такие поля, как размер файла, расширение и описание. Затем найдите вложения в таблице so3c, из которой вы можете получить необходимую информацию, чтобы в конечном итоге использовать функцию SO_OBJECT_DOWNLOAD. – user3175371