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:

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

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í

A Vzorové zpracování transakcí

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

Struktura dialogového programu

Průběh procesu pro dialogový program

Průběh procesu pro dialogový program

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