Автор Тема: CL_GOS_API - Класс по работе с данными GOS-объектов  (Прочитано 368 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 755
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
CL_GOS_API - Класс по работе с данными GOS-объектов, например если необходимо получить список прикрепленных документов к объекту или получить содержимое вложения. В общем полезный класс для работы из собственных программ. Пример базируется на получении списка вложений к контракту на закупку и получения содержимого для каждого из вложений. Пример простой базируется на использовании бизнес-объектов, которые существуют практически для каждого документа или сущности в системе.

Код: You are not allowed to view links. Register or Login
  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.