Різниця між виходом користувача та виходом клієнта SAP

⚡ Розумний підсумок

Виходи користувачів та виходи клієнтів у SAP ABAP — це перехоплювачі покращень, які додають користувацьку функціональність до стандартних програм без їхньої зміни. SAP код. На цій сторінці пояснюються типи виходів клієнтів, робочі приклади, транзакції SMOD та CMOD, виходи користувачів та відмінності між цими двома методами.

  • 🪝 Основне визначення: Вихід клієнта – це гачок, розміщений SAP всередині стандартної програми, екрана чи меню, на які клієнт налаштовує власну логіку.
  • 🧩 Три типи виходу: Вихід з функціонального модуля додає код, вихід з екрана додає поля через підекран, а вихід з меню додає елементи до випадаючого меню.
  • 🔍 Розташування виходів: Транзакція SMOD перераховує доступні виходи, а SE81 переглядає їх за областю застосування.
  • 🛠️ Реалізація: У CMOD створюється проект, йому призначається вихід, пишеться код і проект активується.
  • 📦 Вихід користувача: Вихід користувача служить тій самій меті, але існує лише в модулі SD, найвідомішим прикладом якого є MV45AFZZ.
  • 🇧🇷 Вибір техніки: Користувацькі виходи – це підпрограми SD, клієнтські виходи – міжмодульні та безпечні для оновлення, а BAdI є об'єктно-орієнтованим наступником обох.

Вихід користувача та вихід клієнта SAP

Що таке вихід клієнтів?

Клієнтські виходи є «гачки» надаються SAP у багатьох стандартних програмах, екранах і меню, на яких клієнти можуть "повісити" налаштовуваний функціонал для задоволення бізнес-вимог. Детальніше про це за мить…

Ключова перевага полягає в тому, що стандарт SAP об'єкт ніколи не змінюється. Користувацький код знаходиться в зарезервованому включенні або підекрані, який SAP викликає у потрібний момент, щоб покращення пережило оновлення системи, а не було перезаписано. Через це виходи належать до сімейства SAP методи покращення разом із новішим Business Add-In.

Типи виходів клієнтів

Існує три основних типи виходу клієнта:

  1. Вихід з функціонального модуля
  2. Вихід з екрана
  3. Вихід з меню

Вихід із функціонального модуляЦе дозволяє клієнту додавати код через функціональний модуль у певному місці в SAP прикладна програма

Syntax: CALL CUSTOMER-FUNCTION '004'

Вихід з екранаЦе дозволяє клієнту додавати поля на екран у SAP більшість квитків вже розпродано! через підекран. Підекран викликається в рамках логіки потоку стандартного екрана.

Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2

Вихід з меню: Це дозволяє клієнту додавати елементи до випадаючого меню у стандартному SAP програма. Ці елементи можна використовувати для виклику додаткових програм або користувацьких екранів.

Format: +CUS ( additional item in GUI status )

Приклади виходу клієнтів

Приклад виходу з екрана:

У транзакцію CAT2 – Запис у табелі робочого часу відділ кадрів бажає включити інтерактивне підтвердження того, що свідоме подання неправильних даних є підставою для звільнення.

Приклади виходу клієнтів

Приклад виходу з меню:

У транзакції SE38 – ABAP Editor команда розробників бажає включити посилання меню на транзакцію SE80 – Object Navigator для зручності використання.

ПЕРЕД

Приклади виходу клієнтів

ПІСЛЯ

Приклади виходу клієнтів

Приклад виходу функціонального модуля:

Компанія хоче, щоб банківські реквізити постачальників під час створення постачальника були обов’язковою подією. Тому вона має блимати повідомлення про помилку «Будь ласка, введіть банківські реквізити».

ПЕРЕД

Приклади виходу клієнтів

ПІСЛЯ

Приклади виходу клієнтів

Розташування виходів клієнтів

В транзакції SMOD і дивитися в деталі -

Розташування виходів клієнтів

Або в транзакції SE81 Ви можете використовувати відповідну область застосування

Розташування виходів клієнтів

Створіть клієнтський вихід

Щоб створити клієнтський вихід, спочатку потрібно створити проект у транзакції CMOD

Створіть клієнтський вихід

Later ви призначаєте клієнтський вихід для свого проекту.

Повна послідовність від пошуку виходу до активації коду коротка, і вона завжди складається з тих самих шести кроків.

  1. Знайдіть покращення: Знайдіть назву покращення в SMOD, наприклад, компонент EXIT_SAPMF02K_001 для основного запису постачальника.
  2. Створіть проєкт: У CMOD введіть назву проекту, яка починається з літери Z або Y, і виберіть «Створити».
  3. Призначити покращення: На екрані «Призначення покращень» додайте назву покращення, яка містить вихід.
  4. Напишіть код: Відкрийте вихід функціонального модуля та помістіть код всередину його зарезервованого включення, яке починається з ZX.
  5. Керування частинами екрана та меню: Для виходу з екрана створіть підекран CUSTSCR, а для виходу з меню заповніть код функції +CUS у статусі графічного інтерфейсу.
  6. Активуйте проєкт: Активуйте проєкт у CMOD, щоб виклик виходу відбувався під час виконання. Без активації код ігнорується.

💡 Порада: Включення вихідного коду функціонального модуля починається з ZX, тому він транспортується разом із проектом. Ніколи не розміщуйте користувацьку логіку безпосередньо в SAP функціональний модуль, оскільки це було б модифікацією, а не вдосконаленням.

Що таке вихід користувача?

Вихід користувача виконує ту саму мету, що й вихід клієнта, але доступний лише для SD модуль. Вихід реалізовано як виклик функціонального модуля. Код пише розробник.

Добре відомо, що вихід користувача в SD є MV45AFZZ

  • USEREXIT_FIELD_MODIFICATION – для зміни атрибутів екрана
  • USEREXIT_SAVE_DOCUMENT – для виконання операцій, коли користувач натискає «Зберегти».
  • USEREXIT_SAVE_DOCUMENT_PREPARE
  • USEREXIT_MOVE_FIELD_TO_VBAK – коли зміни заголовка користувача переміщуються до робочої області заголовка.
  • USEREXIT_MOVE_FIELD_TO_VBAP – коли зміни елемента користувача переміщуються до SAP робоча зона предмета

Вихід користувача технічно є підпрограмою (FORM) всередині SAP include, тому його можна редагувати безпосередньо та для цього потрібен ключ доступу. Це основна практична відмінність від клієнтського виходу, підсумована в наступному розділі.

Вихід користувача проти виходу клієнта

Обидва методи додають власну поведінку до стандартної SAP, але вони відрізняються обсягом, технологією та ступенем безпеки оновлення. У таблиці нижче їх порівнюють.

Критерії Вихід користувача Вихід клієнта
доступність Тільки SD-модуль Через все SAP Модулі
Техніка Підпрограма (FORM) у SAP включають такі, як MV45AFZZ Вихід з функціонального модуля, екрана або меню, керований у SMOD та CMOD
Ключ доступу Потрібен ключ доступу для модифікації Ключ доступу не потрібен
Upgrade поведінку Повинно бути перевірено під час оновлення за допомогою SPAU Upgrade безпечний, викликається із зарезервованого включення
Керує Редаговано безпосередньо у включенні Активовано через проект CMOD

Виходи для клієнтів є безпечнішими та загальнішими з двох. Для покращень, яких не може досягти жоден з виходів, SAP пізніше представив надбудову для бізнесу.

Виходи клієнтів проти BAdI

A Бізнес-додаток (BAdI) є об'єктно-орієнтованим наступником клієнтського виходу. Замість зарезервованого включення, BAdI визначає інтерфейс, а користувацька логіка знаходиться в класі, який його реалізує. Це дає дві переваги, яких немає у клієнтського виходу.

  • Кілька реалізацій: Багаторазове використання BAdI дозволяє кілька незалежних реалізацій одного й того ж покращення, тоді як клієнтський вихід дозволяє лише одну.
  • Орієнтація на об'єкт: BAdI працює з методами та класами, тому він відповідає сучасній розробці об'єктів ABAP та його легше фільтрувати за країною чи бізнес-сценарієм.

Практичне правило просте: використовуйте існуючий вихід клієнта або користувача, коли точка покращення вже існує, та використовуйте BAdI, коли потрібна нова точка покращення, яку можна використовувати повторно.

Поширені запитання

SMOD відображає SAP удосконалення та компоненти всередині них. CMOD групує одне або декілька удосконалень у проект клієнта, призначає код та активує його. SMOD призначений для перегляду, CMOD — для впровадження.

Ні. Вихід користувача – це покращення, а не модифікація, тому ключ доступу не потрібен. Вихід користувача редагується безпосередньо в SAP включає і тому вимагає ключа доступу для модифікації.

Запустіть транзакцію, відкрийте «Система», потім «Стан», щоб прочитати назву програми, а потім знайдіть покращення цієї програми в SMOD або SE81. Поширеним скороченням є пошук у таблиці MOD.SAP для функціональної групи програми.

Асистенти штучного інтелекту в інструментах розробки ABAP зчитують назву програми та пропонують відповідне покращення, вихід або BAdI, а також пояснюють, що змінює кожен з них. Розробник все одно підтверджує вибір і записує логіку всередині зарезервованого включення.

Консультанти зі штучного інтелекту зважують, чи вже існує точка вдосконалення та скільки впроваджень потрібно, а потім зазвичай рекомендують BAdI або точку вдосконалення для нової роботи, зберігаючиping класичні виходи для точок, які існують лише як виходи.

Підсумуйте цей пост за допомогою: