Výukový program ABAP Subscreens: Volání dílčí obrazovky v SAP

Obsah:

Anonim

Než si přečtete tento návod, ujistěte se, co je to Dialogový program ...

ZAVOLEJTE NÁS

  • Dílčí obrazovka je nezávislá obrazovka, která se zobrazuje v oblasti jiné („hlavní“) obrazovky.
  • Dílčí obrazovky umožňují za běhu vložit jednu obrazovku do jiné. Na hlavní obrazovku můžete zahrnout více dílčích obrazovek.
  • Termín podobrazovka se vztahuje jak na obrazovku, kterou vložíte, tak na oblast na hlavní obrazovce, do které ji umístíte. Tento výukový program se týká oblastí podobrazovky. Skutečné obrazovky vytvořené prostřednictvím transakce SE51 se nazývají obrazovky pod obrazovkou, pokud jsou definovány v atributech obrazovky.
  • Když používáte podobrazovku, logika toku vložené obrazovky je také vložena do logiky toku hlavní obrazovky. Používání podřízených obrazovek na obrazovkách je tedy jako použití zahrnuje v programech ABAP.

Chcete-li použít podobrazovku, musíte postupovat podle tří jednoduchých kroků

  1. Definujte oblasti podobrazovky na obrazovce
  2. Definujte vhodné podřízené obrazovky
  3. Zahrňte obrazovku podřízené obrazovky do oblasti podobrazovky.

Rovněž je třeba upravit rámeček vedlejší obrazovky a hlavní obrazovky. Musíte to pojmenovat do pole s názvem pole.
Dále musíte také upravit pole na podřízené obrazovce, aby se zobrazila na hlavní obrazovce. V případě, že je dílčí obrazovka definována jako větší než dostupná oblast na hlavní obrazovce, bude viditelná pouze ta část dílčí obrazovky, která zapadá do dostupné oblasti. Oblast se vždy měří z levého horního rohu obrazovky. Proto byste měli při definování oblastí dílčích obrazovek a vytváření dílčích obrazovek věnovat náležitou péči.
PŘÍKLAD

Například zde jsme definovali dvě oblasti dílčí obrazovky na hlavní obrazovce a připojili jsme dvě různé dílčí obrazovky k odpovídajícím oblastem. Kdykoli je vyvolána hlavní obrazovka, je vyvolána PBO hlavní obrazovky. Ale před zobrazením se také nazývají PBO každé obrazovky připojené k oblastem dílčí obrazovky na hlavní obrazovce.

Obrazovku podřízené obrazovky můžete zahrnout pomocí příkazu CALL SUBSCREEN v logice toku hlavní obrazovky.
Chcete-li do podřízené obrazovky hlavní obrazovky zahrnout obrazovku podřízené obrazovky a zavolat její logiku toku PBO, použijte v události PBO hlavní obrazovky následující příkaz:

PROCES PŘED VÝSTUPEM.VOLEJTE NÁSOBKU  VČETNĚ [
] .

Tento příkaz přiřadí obrazovce pod obrazovku s číslem oblasti pod obrazovku s názvem . Můžete také určit program, ve kterém je definována obrazovka podřízené obrazovky (volitelné). Pokud program nezadáte explicitně, systém vyhledá obrazovku podřízené obrazovky ve stejném programu ABAP jako hlavní program. Pokud nenajde odpovídající obrazovku podřízené obrazovky, dojde k runtime chybě. Logika toku PBO obrazovky podřízené obrazovky je také zahrnuta ve stejném bodě. To může volat PBO moduly programu ABAP, ve kterém je definována obrazovka podřízené obrazovky. Na konci PBO podřízené obrazovky se globální pole z programu předají všem shodně pojmenovaným polím obrazovky na obrazovce podřízené obrazovky. Logika toku PBO obrazovky podřízené obrazovky může sama obsahovat další podřízené obrazovky.

Název oblasti podobrazovky musí být zadán přímo bez převrácených čárek. Názvy a můžete zadat buď jako literály, nebo jako proměnné. Pokud používáte proměnné, musíte deklarovat a vyplnit shodně pojmenované proměnné v programu ABAP. Číslo obrazovky musí mít 4 znaky. Pokud nepřiřadíte oblasti podřízenou obrazovku, zůstane prázdná.
Chcete-li volat logiku toku PAI na obrazovce podřízené obrazovky, použijte následující příkaz v logice toku PAI na hlavní obrazovce:

PROCES PO VSTUPU.VOLEJTE NÁSOBKU .

Toto prohlášení obsahuje logiku toku PAI obrazovky podřízené obrazovky zahrnuté v oblasti podobrazovky v události PBO. To může volat PAI moduly programu ABAP, ve kterém je definována obrazovka podřízené obrazovky. Data se přenášejí mezi identicky pojmenovanými poli na obrazovce podřízené obrazovky a programem ABAP, buď když je spuštěna událost PAI, nebo prostřednictvím odpovídajících příkazů FIELD v logice toku PAI obrazovky podřízené obrazovky.
Body k zapamatování

  • Názvy prvků dílčích obrazovek na obrazovce by měly být jedinečné
  • K dílčí obrazovce byste neměli mít připojený OK_CODE nebo FCODE. Samotný OK_CODE hlavní obrazovky je OK_CODE podobrazovky
  • Dílčí obrazovky nemohou mít žádné dialogové moduly obsahující SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN nebo LEAVE TO SCREEN. To způsobí běhovou chybu.
  • Musíte to vyvolat logikou toku (PBO i PAI) na hlavní obrazovce.
  • CALL SUBSCREEN není v příkazech CHAIN… ENDCHAIN ​​a LOOP ENDLOOP povoleno
  • Nelze mít modul AT EXIT-COMMAND
  • Pole, která používáte, jsou globální pole. Musí být deklarovány v horní části
  • Pokud používáte podřízené obrazovky z jiného dialogového programu, k přenosu dat nedojde, pokud nepřidáte konkrétní kód.