Меню

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

|

В процессе работы с системой 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 Пример фрейма «Общие данные договора»

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

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев1

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

Олег Точенюк

  |  23 декабря 2014, 15:20

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