ABAP FileOS: Добавление своего узла в GOS-меню
Сегодня поговорим о добавлении своего пункта меню.
Добавление своего пункта меню осуществляется через таблицу SGOSATTR (через SM30).
Добавим пункт «Список ОЗМ» в GOS-меню для основной записи материала.
1. Сначала просто создадим запись в таблице SGOSATTR (через SM30) (лучше копированием) (например, с пункта VIEW_ATTA / CL_GOS_SRV_ATTACHMENT_LIST).
В параметрах меняем описание объекта и только (это на первом шаге; потом еще вернемся).
2. На следующем шаге нам необходимо создать класс для сервиса (то есть заполнить поле «Класс для реализации сервиса» своей реализацией).
Класс нужно создавать наследованием от класса CL_GOS_SERVICE.
Создадим ZCL_ABAPFILEOS_GOS_SRV_MAT и сделаем наследование.
При создании галочку «Конечный» лучше убрать, чтобы в будущем у коллег или у Вас было больше возможностей при меньшем объеме изменений.
В классе на первом шаге нужно реализовать (переопределить) 2 метода: EXECUTE и CHECK_STATUS.
ZCL_ABAPFILEOS_GOS_SRV_MAT
~EXECUTE
method EXECUTE. BREAK-POINT. endmethod.
ZCL_ABAPFILEOS_GOS_SRV_MAT
~CHECK_STATUS
METHOD check_status. CONSTANTS: BEGIN OF mc_serv_stat , active TYPE sgs_status VALUE '0' , not_active TYPE sgs_status VALUE '1' , hidden TYPE sgs_status VALUE '2' , END OF mc_serv_stat . CONSTANTS lc_target_business_obj TYPE sibftypeid VALUE 'BUS1001006'. IF is_lporb-objtype-typeid NE lc_target_business_obj. ep_status = mc_serv_stat-hidden. RETURN. ENDIF. IF is_lporb-instid IS INITIAL. ep_status = mc_serv_stat-not_active. RETURN. ENDIF. ep_status = mc_serv_stat-active. RETURN. ENDMETHOD.
После реализации класса вернемся в настройки и укажем наш созданный класс ZCL_ABAPFILEOS_GOS_SRV_MAT.
Также подменим ICON (для того, чтобы корректно отображалось в настройках и запись не вводила в заблуждение).
3. Следующим шагом нам нужно понять, в каком месте меню должен располагаться сервис.
Место сервиса в меню определяется полем «Следующий сервис».
Для простоты сделаем его в конце меню. То есть:
Для этого определяем ID для сервиса «Справка для сервисов объектов»:
Однако, затем нам нужно проследить цепочку «непоказанных сервисов» и уже после последнего вставить наш ID.
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти