CL_GOS_API - Класс по работе с данными GOS-объектов, например если необходимо получить список прикрепленных документов к объекту или получить содержимое вложения. В общем полезный класс для работы из собственных программ. Пример базируется на получении списка вложений к контракту на закупку и получения содержимого для каждого из вложений. Пример простой базируется на использовании бизнес-объектов, которые существуют практически для каждого документа или сущности в системе.
DATA: ls_appl_object TYPE gos_s_obj,
lo_gos_api TYPE REF TO cl_gos_api,
ls_atta_key TYPE gos_s_attkey,
lt_role_filter TYPE gos_t_rol.
* Бизнес объект контракты на закупку ММ (Транзация создания ME31K)
ls_appl_object-typeid = 'BUS2014'.
ls_appl_object-instid = '4610000135'. "Номер контракта
ls_appl_object-catid = 'BO'.
lo_gos_api = cl_gos_api=>create_instance( ls_appl_object ).
* Получить список вложений
DATA(lt_attachment_list) = lo_gos_api->get_atta_list( lt_role_filter ).
LOOP AT lt_attachment_list INTO DATA(ls_attachment).
* Получить данные каждого вложения
MOVE-CORRESPONDING ls_attachment TO ls_atta_key.
DATA(ls_attachm_cont) = lo_gos_api->get_al_item( ls_atta_key ).
ENDLOOP.