2014-01-08 4 views
2

Я новичок в SAP & ABAP, и я стараюсь учиться как можно больше с практическим подходом.ABAP, GOS, attachment загрузить

В основном у меня есть некоторые вложения, перечисленные в службах общих служб (GOS), и мне нужно загрузить их все на свой компьютер. Мне нужно знать, как загружать эти вложения программно из моей программы/отчета.

ответ

1

Я никогда на самом деле должен был сделать это сам, но я думаю, что это, как это делается:

Получить список вложений, вызвав 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'.

Надеюсь, что это поможет!

+0

Чтобы выбрать только определенные вложения, вы можете запросить таблицу SGTBREL, а затем извлечь необходимые ключи из поля instid_b для запроса таблицы SOOD (определение объекта Office), чтобы получить такие поля, как размер файла, расширение и описание. Затем найдите вложения в таблице so3c, из которой вы можете получить необходимую информацию, чтобы в конечном итоге использовать функцию SO_OBJECT_DOWNLOAD. – user3175371

Смежные вопросы