Комментарии по теме

«Тра­нза­кция SM02: сообщения в SAP системе»
Олег Башкатов:
С помощью ФМ TH_POPUP можно отправить сообщение конкретному пользователю :-)
«Тра­нспо­ртная система SAP для чайников»
Вячеслав Шиболов:
Хорошая метафора с коробками. Наглядная.
«Вызов тра­нза­кции SAP из писем в MS Outlook»
Олег Точенюк:
Из ABAP для работы с фронт-эндом можно воспользоваться классом CL_GUI_FRONTEND_SERVICES, там есть методы по работе с реестром виндовс.

База знаний

Конфигурация регистров на примере добавления новых вкладок в договор IS-U


2570
1

В процессе работы с системой SAP R/3 зачастую возникает задача по расширению стандартных объектов для добавления пользовательских полей. При этом существуют несколько основных видов расширений:

  1. USER-EXIT
  2. BADI
  3. ENHANCEMENT
  4. BTE
  5. BDT

USER_EXIT-ы представляют собой функциональные модули (ФМ), в которых, задав входные и выходные параметры можно добавлять дополнительную логику в стандартный ABAP-код SAP. USER-EXIT-ы реализуются в виде вставок вида CALL CUSTOMER-FUNCTION '001'. Как и любые ФМ, USER-EXIT-ы объединены в группы функций. Имена этих групп функций начинаются на литеру X. Зачастую USER-EXIT-ы позволяют также добавлять пользовательские подэкраны. Активация USER-EXIT-ов происходит при помощи транзакции SMOD. Сходные по функциональности USER-EXIT-ы группируются в проекты, которые можно просматривать при помощи транзакции CMOD. Примеры использования и активации USER-EXIT можно посмотреть здесь.

BADI – расширения представляют собой аналог USER-EXIT. Отличие состоит в том, что USER-EXIT – это функциональный модуль, а BADI – это класс. BADI-расширения можно создавать и изменять при помощи транзакций SE18 и SE19. Рекомендации по поиску USER-EXIT и BADI в стандартном коде SAP можно посмотреть здесь.

ENHANCEMENT – расширения применяются в тех случаях, когда не удается найти подходящего расширения вышеперечисленных типов. ENHANCEMENT представляет собой прямые вставки в стандартный SAP код, но тем не менее все реализации сохраняются при обновлении системы. ENHANCEMENT нельзя вставлять в PBO и PAI модули. Обычно SAP позволяет вставлять ENHANCEMENT в начале и конце подпрограмм (FORMS). Подробнее об ENHANCEMENT можно прочитать здесь.

BTE (Business Transaction Events) позволяет прикреплять дополнительные компоненты в формы и функциональные модули. BTE представляет собой функциональный модуль (внедренный пользователем), который имеет стандартный интерфейс, предопределенный SAP. Вызов BTE из стандартной SAP программы происходит посредством функциональных модулей OPEN_FI_PERFORM_<BTE-номер> или OUTBOUND_CALL_<BTE-номер>. BTE используется в основном в модуле FI. Подробнее об использовании расширений BTE можно прочитать здесь.

BDT (Business Data Toolset) – центральное средство для настройки диалоговых программ SAP. Если бизнес-транзакция поддерживает технологию BDT, вы можете добавлять новые пользовательские поля, скрывать стандартные поля, перемещать стандартные поля из одного экрана на другой, добавлять новые опции меню и добавлять пользовательские проверки, без модификации кода самой транзакции. Основными объектами SAP, для которых применима технология BDT, является Центральный деловой партнер и Контокоррентный счет. Пример расширения транзакции BP при помощи технологии BDT можно посмотреть здесь.

Рассмотрим одну технологию, которая стоит особняком от перечисленных выше расширений. Это, реализованная в SAP, возможность конфигурировать регистр экранов. В статье рассматривается практическая реализация этой технологии в контексте добавления новых вкладок на объект IS-U «Договор энергоснабжения» (Рис. 1). На мой взгляд, настройка является близкой к технологии BDT и представляет собой её упрощенный вариант.\

Рис. 1 Объект IS-U «Договор энергоснабжения»

Настройка состоит из трёх этапов:

Этап 1. Конфигурирование регистра.

Необходимо зайти в транзакцию SPRO и выбрать следующую настройку по пути (Рис. 2) «Отраслевой компонент: энергетика и коммунальное хозяйство ® Основные данные ® Договор снабжения ® Сконфигурировать регистр для договоров снабжения»

Рис. 2 Конфигурирование регистра для договора на энергоснабжение

В окне изменения формата я создал новый формат «ZISU» и назвал его «Польз. ведение договора ISU» (Рис. 3)

Рис. 3 Создание нового формата

Далее необходимо выделить строку с собственным форматом и дважды кликнуть по папке слева «Заголовки закладок» (Рис. 4)

Рис. 4 Создание нового формата

В появившемся окне (Рис. 5) необходимо «вести» первые три стандартные закладки. При этом, как видно из скриншота, их можно переименовать: вместо лист 1, 2 и 3 ввести более информативные имена. Наша 4-ая закладка будет называться «Доп. данные».

Рис. 5 Настройка закладок

Теперь необходимо настроить «Позиции групп в закладках» для каждой закладки. Группы в закладках представляют собой, по сути, фрейм c полями. Пример фрейма общих данных договора приведен на Рис. 6

Рис. 6 Пример фрейма «Общие данные договора»

Если мы не хотим менять данные, которые находятся на первых трех закладках, то необходимо

Ограниченный доступ

Для прочтения полной версии статьи необходимо зайти как зарегистрированный пользователь.

Комментарии:

Олег Точенюк (Рейтинг: 10749) 15:20, 23 декабря 2014

Небольшое примечание: Вот то что вы написали, это так называемый CUSTOMER EXIT, а USER_EXIT это вставка вызова в коде, в виде perform user_exit_xxxx наблюдается в такой функциональности как SD например.

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП»