Výukový program programování v dialogu: Module Pool in SAP ABAP
SAP-ABAP podporuje dva typy programů – Report Program a Dialog Program.
Pokud váš program ABAP vyžaduje uživatelský vstup, použije se dialogové programování.
V tomto tutoriálu se naučíte:
- Rozdíl mezi programy Report a Dialog
- Ukázkové zpracování transakcí v dialogovém programování
- Komponenty programu Dialog
Uživatelský dialog je jakákoliv forma interakce mezi uživatelem a programem a může být kteroukoli z následujících
- Zadávání údajů
- Výběr položky nabídky
- Kliknutím na tlačítko
- Kliknutím nebo dvojitým kliknutím na položku
Dialogový program se také používá, když potřebujeme přecházet tam a zpět mezi obrazovkami
Dialogové programy jsou vytvářeny s typem „M“ – Module Pool. Nelze je provádět nezávisle a musí být připojeny alespoň k jednomu kódu transakce, ve kterém zadáte úvodní obrazovku.
Rozdíl mezi programy Report a Dialog
Program zpráv:
Sestava je program, který obvykle čte a analyzuje data v databázových tabulkách beze změny databáze.
Dialogový program:
Dialogový program umožňuje interaktivně pracovat se systémem a měnit obsah databázových tabulek. Každý dialogový program má určitou sekvenci obrazovek, které systém zpracovává jednu po druhé.
A Ukázkové zpracování transakcí v dialogovém programování
Komponenty programu Dialog
Na rozdíl od zprávy což obecně znamená vytvoření jednoho autonomního programu, který lze spouštět nezávisle na jiných objektech, vývoj dialogových programů zahrnuje vývoj více objektů, z nichž žádný nelze spustit samostatně. Místo toho jsou všechny objekty hierarchicky propojeny s hlavním programem a jsou spouštěny v pořadí diktovaném Dialogovým hlavním programem..
Komponenty dialogového programu jsou:
Kód transakce
- Kód transakce spustí sekvenci obrazovky.
- Kódy transakcí vytvoříte v prohlížeči úložiště v ABAP Workbench nebo pomocí Transaction SE93.
- Transakční kód je propojen s programem ABAP a úvodní obrazovkou.
- Sekvenci obrazovek můžete spustit z libovolného programu ABAP pomocí příkazu CALL SCREEN.
Screens
- Každý dialog v an SAP systém je řízen jednou nebo více obrazovkami.
- Obrazovky vytváříte pomocí obrazovky Painter v ABAP Workbench prostřednictvím transakce SE51
- Každá obrazovka patří k program ABAP.
- Tyto obrazovky se skládají z „masky obrazovky“ nebo „rozvržení“ a její logiky toku. Obrazovka má rozložení, které určuje pozice vstupních/výstupních polí a dalších grafických prvků, jako jsou zaškrtávací políčka a přepínače. Logika toku určuje logické zpracování na obrazovce.
Stav GUI
- Každá obrazovka má stavy GUI, které jsou nezávislými součástmi programu.
- Tím se ovládají lišty nabídek, standardní lišta nástrojů, lišta nástrojů aplikace, pomocí kterých může uživatel vybírat funkce v aplikaci.
- Vytvoříte je v ABAP Workbench pomocí Menu Painter.
Program ABAP
- Každá obrazovka a stav GUI v systému R/3 náleží jednomu programu ABAP.
- Program ABAP obsahuje dialogové moduly, které jsou volány logikou toku obrazovky a také zpracovávají uživatelský vstup ze stavu GUI.
- Programy ABAP, které používají obrazovky, jsou také známé jako dialogové programy.
- Ve fondu modulů (program typu M); prvním volaným blokem zpracování je vždy modul dialogu. Obrazovky však můžete použít i v jiných programech ABAP, jako jsou spustitelné programy nebo funkční moduly. První blok zpracování se pak nazývá odlišně; například běhovým prostředím nebo voláním procedury. Sekvence obrazovek se pak spustí pomocí příkazu CALL SCREEN.
Logika toku obrazovky
Logika Screen Flow je primárně rozdělena do čtyř komponent.
- Proces před výstupem (Ops) událost: která je zpracována před zobrazením obrazovky
- Proces po zadání (PAI) událost: která je zpracována po akci uživatele na obrazovce
- Proces na žádost o pomoc (P.O.H.): který se zpracuje po stisku F1
- Proces na žádost o hodnotu (POV): který se zpracuje po stisknutí F4
Dynpro
- Obrazovka spolu s její logikou Flow se nazývá Dynpro („Dynamický program“, protože logika toku obrazovky ovlivňuje tok programu)
- Každý dynpro řídí přesně jeden krok vašeho Dialogového programu.
- Obrazovky patřící k programu jsou číslovaných. Sekvence toku síta může být lineární nebo cyklická. V rámci řetězce obrazovky můžete dokonce vyvolat další řetězec obrazovky a po jeho zpracování se vrátit k původnímu řetězci. Můžete také přepsat staticky definovanou další obrazovku z modulů dialogu programu ABAP.
Pool modulů ABAP
- Při události PBO nebo PAI Dynpro vyvolá dialogový program ABAP. Soubor takových programů se nazývá ABAP module pool.
- Například moduly volané při události PAI se používají ke kontrole vstupu uživatele a ke spuštění příslušných kroků dialogu, jako je úloha aktualizace.
- Všichni dynpro musí být voláni zevnitř jedna transakce odkazují na společný fond modulů.
Struktura dialogového programu
Průběh procesu pro dialogový program




