Rozdíl mezi odchodem uživatele a odchodem zákazníka SAP

⚡ Chytré shrnutí

Uživatelské a zákaznické výstupy v SAP ABAP jsou vylepšené hooky, které přidávají vlastní funkce ke standardním programům bez nutnosti úprav. SAP kód. Tato stránka vysvětluje typy zákaznických ukončení, zpracované příklady, transakce SMOD a CMOD, uživatelské ukončení a rozdíly mezi těmito dvěma technikami.

  • 🪝 Základní definice: Zákaznický výstup je hák umístěný SAP uvnitř standardního programu, obrazovky nebo nabídky, na kterou si zákazník zavěsí vlastní logiku.
  • 🧩 Tři typy východů: Funkční modul ukončí přidávání kódu, obrazovka ukončí přidávání polí přes podobrazovku a menu ukončí přidávání položek do rozbalovací nabídky.
  • 🔍 Lokalizace východů: Transakce SMOD vypíše dostupné ukončení a SE81 je prohledává podle oblasti aplikace.
  • 🛠️ Realizace: V CMODu se vytvoří projekt, přiřadí se mu ukončení, napíše se kód a projekt se aktivuje.
  • ???? Uživatelský výstup: Uživatelský výstup slouží stejnému účelu, ale existuje pouze v modulu SD, přičemž nejznámějším příkladem je MV45AFZZ.
  • 🇧🇷 Výběr techniky: Uživatelské procedury jsou SD podprogramy, zákaznické procedury jsou napříč moduly a bezpečné pro upgrade a BAdI je objektově orientovaným nástupcem obou.

Uživatelský výstup a zákaznický výstup SAP

Co je to odchod zákazníků?

Zákaznické východy jsou "háky" poskytované SAP v mnoha standardních programech, obrazovkách a nabídkách, na kterých mohou zákazníci "pověsit" přizpůsobitelné funkce pro splnění obchodních požadavků. Více o tom za chvíli…

Hlavní výhodou je, že standard SAP Objekt se nikdy nemění. Vlastní kód se nachází v rezervovaném include nebo subscreenu, který SAP volá ve správný okamžik, takže vylepšení přežije aktualizaci systému, místo aby bylo přepsáno. Z tohoto důvodu patří ukončení do rodiny SAP techniky vylepšení spolu s novějším doplňkem Business Add-In.

Typy zákaznických východů

Existují tři hlavní typy zákaznických východů:

  1. Funkční modul opouští
  2. Výstupy z obrazovky
  3. Nabídka se ukončí

Výstup funkčního moduluUmožňuje zákazníkovi přidat kód prostřednictvím funkčního modulu na konkrétní místo v SAP aplikačního programu

Syntax: CALL CUSTOMER-FUNCTION '004'

Ukončení obrazovkyUmožňuje zákazníkovi přidávat pole na obrazovku v SAP program přes dílčí obrazovku. Dílčí obrazovka se volá v rámci logiky toku standardní obrazovky.

Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2

Ukončení nabídky: Umožňuje zákazníkovi přidávat položky do rozbalovací nabídky ve standardním SAP naprogramovat. Tyto položky lze použít k vyvolání doplňkových programů nebo uživatelských obrazovek.

Format: +CUS ( additional item in GUI status )

Příklady zákaznických výstupů

Příklad výstupu obrazovky:

V transakci CAT2 – Time Sheet Entry chce HR zahrnout interaktivní potvrzení, že vědomé odeslání nesprávných údajů je důvodem k propuštění.

Příklady zákaznických výstupů

Příklad ukončení menu:

V transakci SE38 – ABAP Editor si vývojový tým přeje zahrnout odkaz nabídky na transakci SE80 – Object Navigator pro snadné použití.

PŘED

Příklady zákaznických výstupů

PO

Příklady zákaznických výstupů

Příklad výstupu funkčního modulu:

Společnost chce, aby byly bankovní údaje dodavatelů při vytváření dodavatele povinnou událostí. Musí tedy blikat chybová zpráva „Zadejte prosím bankovní údaje“.

PŘED

Příklady zákaznických výstupů

PO

Příklady zákaznických výstupů

Vyhledání zákaznických východů

V transakci SMOD a podívat se na detaily -

Vyhledání zákaznických východů

Nebo v transakci SE81 můžete použít příslušnou oblast použití

Vyhledání zákaznických východů

Vytvořte zákaznický výstup

Chcete-li vytvořit zákaznický výstup, musíte nejprve vytvořit projekt v transakci CMOD

Vytvořte zákaznický výstup

Later přiřadíte zákaznický výstup svému projektu.

Celá sekvence od nalezení východu až po aktivaci kódu je krátká a vždy se skládá ze stejných šesti kroků.

  1. Najděte vylepšení: Vyhledejte název vylepšení v SMOD, například komponentu EXIT_SAPMF02K_001 pro kmenový soubor dodavatele.
  2. Vytvořte projekt: V CMOD zadejte název projektu, který začíná písmenem Z nebo Y, a vyberte Vytvořit.
  3. Přiřadit vylepšení: Na obrazovce Přiřazení vylepšení přidejte název vylepšení, který obsahuje danou uživatelskou proceduru.
  4. Napište kód: Otevřete exit funkčního modulu a umístěte kód do jeho rezervovaného include, který začíná ZX.
  5. Ovládání obrazovek a částí nabídky: Pro ukončení na obrazovce vytvořte podobrazovku CUSTSCR a pro ukončení nabídkou vyplňte kód funkce +CUS ve stavu grafického rozhraní.
  6. Aktivujte projekt: Aktivujte projekt v CMOD, aby se za běhu volal výstup. Bez aktivace je kód ignorován.

💡 Tip: Vložení (include) funkčního modulu začíná znakem ZX, takže je přenášen s projektem. Nikdy neumísťujte vlastní logiku přímo do SAP funkční modul, protože by to byla modifikace, nikoli vylepšení.

Co je to uživatelský výstup?

User Exit slouží ke stejnému účelu jako Customer Exits, ale jsou dostupné pouze pro uživatele SD modul. Ukončení je implementováno jako volání funkčního modulu. Kód je napsán vývojářem.

Dobře víte, že User Exit v SD je MV45AFZZ

  • USEREXIT_FIELD_MODIFICATION – Pro úpravu atributů obrazovky
  • USEREXIT_SAVE_DOCUMENT – Pro provedení operací, když uživatel stiskne Uložit
  • USEREXIT_SAVE_DOCUMENT_PREPARE
  • USEREXIT_MOVE_FIELD_TO_VBAK – Když se změny záhlaví uživatele přesunou do pracovní oblasti záhlaví.
  • USEREXIT_MOVE_FIELD_TO_VBAP – Když jsou změny uživatelských položek přesunuty do SAP pracovní oblast položky

Uživatelský exit je technicky vzato podprogram (FORM) uvnitř SAP include, takže se upravuje přímo a vyžaduje přístupový klíč. Toto je hlavní praktický rozdíl oproti zákaznickému exitu, shrnutý v následující části.

Odchod uživatele vs. odchod zákazníka

Obě techniky přidávají ke standardnímu chování vlastní vlastnosti. SAP, ale liší se rozsahem, technologií a bezpečností upgradu. Níže uvedená tabulka je porovnává.

Kritéria Uživatelský odchod Východ zákazníka
dostupnost Pouze SD modul Napříč všemi SAP moduly
Technika Podprogram (FORM) v SAP zahrnují například MV45AFZZ Opuštění funkčního modulu, obrazovky nebo menu spravované v SMOD a CMOD
přístupový klíč Vyžaduje přístupový klíč pro úpravy Není potřeba žádný přístupový klíč
Upgrade chování Musí být zaškrtnuto v aktualizaci pomocí SPAU. Upgrade bezpečné, voláno z rezervovaného include
Spravovaný Upraveno přímo v include Aktivováno prostřednictvím projektu CMOD

Zákaznické východy jsou bezpečnější a obecnější z těchto dvou. Pro vylepšení, na která se žádný z východů nedostane, SAP později představil doplněk Business Add-In.

Odchody zákazníků vs. BAdI

A Doplněk pro firmy (BAdI) je objektově orientovaný nástupce zákaznického exitu. Místo rezervovaného include definuje BAdI rozhraní a vlastní logika je umístěna ve třídě, která ho implementuje. To přináší dvě výhody, které zákaznický exit nenabízí.

  • Více implementací: Vícenásobné použití BAdI umožňuje několik nezávislých implementací stejného vylepšení, zatímco zákaznický exit umožňuje pouze jednu.
  • Orientace objektu: BAdI pracuje s metodami a třídami, takže se hodí k modernímu vývoji objektů ABAP a je snazší jej filtrovat podle země nebo obchodního scénáře.

Praktické pravidlo je jednoduché: použijte existující zákaznický nebo uživatelský výstup, pokud bod vylepšení již existuje, a použijte BAdI, pokud je vyžadován nový, opakovaně použitelný bod vylepšení.

Nejčastější dotazy

SMOD zobrazuje SAP vylepšení a komponenty v nich. CMOD seskupí jedno nebo více vylepšení do zákaznického projektu, přiřadí kód a aktivuje ho. SMOD slouží k prohlížení, CMOD k implementaci.

Ne. Zákaznický exit je vylepšení, nikoli úprava, takže není potřeba žádný přístupový klíč. Uživatelský exit se upravuje přímo v SAP include a proto vyžaduje přístupový klíč pro modifikaci.

Spusťte transakci, otevřete Systém, poté Stav, kde si můžete přečíst název programu, a poté vyhledejte vylepšení daného programu v SMOD nebo SE81. Běžnou zkratkou je hledání v tabulce MOD.SAP pro funkční skupinu programu.

Asistenti umělé inteligence ve vývojových nástrojích ABAP čtou název programu a navrhují příslušné vylepšení, ukončení nebo BAdI a vysvětlují, co se mění. Vývojář stále potvrzuje volbu a zapisuje logiku do rezervovaného include.

Poradci v oblasti umělé inteligence zvažují, zda již existuje bod pro vylepšení a kolik implementací je potřeba, a poté obvykle doporučují BAdI nebo bod pro vylepšení pro novou práci.ping klasické východy pro body, které existují pouze jako východy.

Shrňte tento příspěvek takto: