Разлика между изход на потребител и изход на клиент в SAP

⚡ Умно обобщение

Изходи на потребители и изходи на клиенти SAP ABAP са подобрения, които добавят персонализирана функционалност към стандартни програми, без да ги модифицират. SAP код. Тази страница обяснява типовете изходи на клиенти, работещи примери, SMOD и CMOD транзакциите, потребителските изходи и как се различават двете техники.

  • 🪝 Основна дефиниция: Изходът на клиента е кука, поставена от SAP в рамките на стандартна програма, екран или меню, върху което клиентът закача персонализирана логика.
  • 🧩 Три вида изходи: Функционалният модул завършва добавяне на код, екранът завършва добавяне на полета през подекран, а менюто завършва добавяне на елементи към падащо меню.
  • 🔍 Локализиране на изходи: Транзакцията SMOD изброява наличните изходи, а SE81 ги преглежда по област на приложение.
  • 🛠️ Изпълнение: В CMOD се създава проект, присвоява му се изход, пише се кодът и проектът се активира.
  • 📦 Изход на потребителя: Потребителски изход служи за същата цел, но съществува само в SD модула, като MV45AFZZ е най-известният пример.
  • ️ Избор на техника: Потребителските изходи са SD подпрограми, клиентските изходи са междумодулни и безопасни за надграждане, а BAdI е обектно-ориентираният наследник и на двата.

Изход на потребител и изход на клиент SAP

Какво представляват изходите на клиенти?

Клиентските изходи са "куки" предоставена от SAP в много стандартни програми, екрани и менюта, на които клиентите могат "виси" персонализирана функционалност, която да отговаря на бизнес изискванията. Повече за това след малко…

Основното предимство е, че стандартът SAP обектът никога не се променя. Персонализираният код се намира в резервиран include или подекран, който SAP извиквания в точния момент, така че подобрението да оцелее след системна надстройка, вместо да бъде презаписано. Поради това изходите принадлежат към семейството на SAP техники за подобрение заедно с по-новата добавка за бизнес.

Видове изходи на клиенти

Има три основни вида изходи на клиента:

  1. Излиза от функционалния модул
  2. Излиза от екрана
  3. Менюто излиза

Функционален модул ИзходТова позволява на клиента да добавя код чрез функционален модул на определено място в SAP приложна програма

Syntax: CALL CUSTOMER-FUNCTION '004'

Изход от екрана: Позволява на клиента да добавя полета към екран в SAP програма чрез подекран. Подекранът се извиква в рамките на логиката на потока на стандартния екран.

Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2

Изход от менюто: Това позволява на клиента да добавя елементи към падащо меню по стандартен начин. SAP програма. Тези елементи могат да се използват за извикване на допълнителни програми или потребителски екрани.

Format: +CUS ( additional item in GUI status )

Примери за излизане на клиенти

Пример за изход от екрана:

В транзакция CAT2 – Въвеждане на график за работно време, HR желае да включи интерактивно потвърждение, че съзнателното подаване на неверни данни е основание за уволнение.

Примери за излизане на клиенти

Пример за изход от меню:

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

ПРЕДИ

Примери за излизане на клиенти

СЛЕД

Примери за излизане на клиенти

Пример за изход от функционален модул:

Компанията иска банковите данни на Доставчиците при създаването на Доставчик да бъдат задължително събитие. Така че трябва да мига съобщение за грешка „Моля, въведете банковите данни“

ПРЕДИ

Примери за излизане на клиенти

СЛЕД

Примери за излизане на клиенти

Намиране на изходи на клиенти

В транзакция SMOD и погледнете в детайлите -

Намиране на изходи на клиенти

Или в транзакция SE81 можете да използвате подходящата област на приложение

Намиране на изходи на клиенти

Създайте клиентски изход

За да създадете клиентски изход, първо трябва да създадете проект в транзакция CMOD

Създайте клиентски изход

Later вие присвоявате Customer Exit на вашия проект.

Пълната последователност от намирането на изхода до активирането на кода е кратка и винаги следва едни и същи шест стъпки.

  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 включва, така че се редактира директно и изисква ключ за достъп. Това е основната практическа разлика от клиентския изход, обобщена в следващия раздел.

Изход на потребител срещу Изход на клиент

И двете техники добавят персонализирано поведение към стандартното SAP, но те се различават по обхват, технология и колко безопасни са за надграждане. Таблицата по-долу ги сравнява.

Критерии Изход на потребителя Изход на клиента
Наличност Само SD модул През всички SAP модули
Техника Подпрограма (FORM) в SAP включват например MV45AFZZ Изход от функционален модул, екран или меню, управляван в SMOD и CMOD
Ключ за достъп Изисква ключ за достъп до модификация Не е необходим ключ за достъп
Upgrade поведение Трябва да се провери при надстройката със SPAU Upgrade безопасно, извикано от резервирано включване
Управлявано от Редактирано директно във включване Активирано чрез CMOD проект

Изходите за клиенти са по-безопасните и по-общи от двата. За подобрения, до които нито един от изходите не може да достигне, SAP по-късно представи добавката Business.

Излизане на клиенти срещу BAdI

A Бизнес добавка (BAdI) е обектно-ориентираният наследник на customer exit. Вместо резервирано включване, BAdI дефинира интерфейс, а персонализираната логика се намира в клас, който го имплементира. Това носи две предимства, които customer exit не предлага.

  • Множество реализации: Многократно използваният BAdI позволява няколко независими реализации на едно и също подобрение, докато клиентски изход позволява само една.
  • Ориентация на обекта: BAdI работи с методи и класове, така че е подходящ за съвременна разработка на ABAP обекти и е по-лесен за филтриране по държава или бизнес сценарий.

Практическото правило е просто: използвайте съществуващ клиентски или потребителски изход, когато точката за подобрение вече съществува, и използвайте BAdI, когато е необходима нова, многократно използваема точка за подобрение.

Въпроси и Отговори

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

Не. Изходът за клиент е подобрение, а не модификация, така че не е необходим ключ за достъп. Потребителският изход се редактира директно в SAP включва и следователно изисква ключ за достъп до модификация.

Стартирайте транзакцията, отворете System (Система), след това Status (Състояние), за да прочетете името на програмата, след което потърсете подобренията на тази програма в SMOD или SE81. Често срещан пряк път е търсенето в таблица MOD.SAP за функционалната група на програмата.

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

Консултантите по ИИ преценяват дали вече съществува точка за подобрение и колко внедрявания са необходими, след което обикновено препоръчват BAdI или точка за подобрение за нова работа, keeping класически изходи за точки, които съществуват само като изходи.

Обобщете тази публикация с: