Vše o programování zpráv ABAP
SAP-ABAP podporuje dva typy programů – Report Programs & Dialog Programs. Programy sestav se používají, když je třeba zobrazit velké množství dat
Účel/použití programů sestav
- Používají se, když je třeba před prezentací vybrat a zpracovat data z několika tabulek
- Používá se, když zprávy vyžadují speciální formát
- Používá se, když je třeba stáhnout sestavu SAP do listu Excelu, který se má distribuovat.
- Používá se, když má být zpráva zaslána e-mailem konkrétní osobě.
Důležité body k poznámce o programu zpráv
- Programy sestav jsou vždy spustitelné programy. Typ programu je vždy 1.
- Každý Report program odpovídá konkrétnímu typu aplikace, tj. buď Sales & Distribution, FI – CO atd. Může to být také Cross Application, tj. typ '*'.
- Programování sestav je programování řízené událostmi.
- První řádek programu sestav je vždy Zpráva .
- Chcete-li potlačit záhlaví seznamu nebo název programu, přidání Žádné standardní záhlaví stránky se používá.
- Velikost řádku pro konkrétní sestavu lze nastavit pomocí doplňku velikost čáry .
- Počet řádků pro konkrétní stránku lze nastavit pomocí sčítání počet řádků n(n1). N je počet řádků stránky a N1 je počet řádků vyhrazených pro zápatí stránky.
- Pro zobrazení jakékoli informace nebo chybové zprávy přidáme do programu třídu zpráv pomocí dodatku: ID zprávy . Třídy zpráv jsou udržovány v SE91.
Ideální program sestav by proto měl začínat:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Obrazovka výběru
„Obrazovka výběru“ je obrazovka, kde se zadávají vstupní hodnoty, pro které má program běžet.
Obrazovka výběru je normálně generována z
- parametry
- Select-Options
Syntax
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
parametry
Parametry pomáhají při dynamickém výběru. Mohou pojmout pouze jednu hodnotu pro jeden cyklus provádění programu.
Syntax
Definování parametrů jako datového typu
Parameters p_id(30) type c.
Definování parametrů jako pole tabulky.
Parameter p_id like <table name>-<field name>.
Parametry mohou být zaškrtávací políčka i přepínací tlačítka.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Parametry mohou být seznamem.
Parameter p_id like <table name>-<field name> as listbox
Zvolte Volby
Volba Select-Option se používá k zadání rozsahu hodnot nebo sady hodnot do programu
Syntax
select-options s_vbeln for vbak-vbeln.
Můžete také definovat možnost výběru jako proměnnou
select-options s_vbeln for vbak-vbeln no intervals no-extension
Události v programu zpráv ABAP
Programy zpráv ABAP jsou programy řízené událostmi. Různé události v programu zprávy jsou:
Nabití programu
- Spustí přidruženou událost v interní relaci po načtení programu typu 1, M, F nebo S.
- Také spustí přidružený blok zpracování jednou a pouze jednou pro každý program a interní relaci.
- Procesní blok LOAD-OF-PROGRAM má zhruba stejnou funkci pro an program ABAP typu 1, M, F nebo S jako konstruktor pro třídy v ABAP Objects
Inicializace.
- Tato událost se provede před zobrazením obrazovky výběru.
- Inicializace všech hodnot.
- Můžete přiřadit jiné hodnoty, než jsou výchozí hodnoty na obrazovce výběru.
- Obrazovku výběru můžete za běhu vyplnit některými hodnotami.
Na obrazovce výběru.
- Událost je zpracována po zpracování obrazovky výběru (na konci PAI).
- Zde probíhají validace a kontroly zadaných hodnot
Začátek výběru.
- Zde program začne vybírat hodnoty z tabulek.
Konec výběru.
- Po výběru všech dat tato událost zapíše data na obrazovku.
Interaktivní akce
- Používá se pro interaktivní reportování. Slouží k vytvoření podrobného seznamu ze základního seznamu.
Formátování sestavy
ABAP umožňuje formátování sestav tak, jak si to uživatel přeje. Například „Alternativní řádky“ se musí objevit v různých barvách a řádek „Součty“ by měl být žlutý.
Syntax
Format Color n Format Color n Intensified On
n může odpovídat různým číslům
Upozorňujeme, že spolu s formátem existují i další doplňky
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programování interaktivních zpráv
- Pomocí interaktivního programování mohou uživatelé aktivně řídit načítání a zobrazování dat
- Používá se k vytvoření podrobného seznamu z velmi základního seznamu
- Podrobné údaje jsou zapsány na sekundárním seznamu.
- Sekundární seznam může buď zcela překrýt první obrazovku, nebo jej lze zobrazit na nové obrazovce
- Sekundární seznamy mohou být samy interaktivní.
- První seznam může také volat transakci.
- S interaktivním programováním jsou spojeny různé události.
Některé příkazy používané pro interaktivní programování
Hotspot
Pokud táhnete myší přes data zobrazená ve zprávě, kurzor se změní na Ruku s nataženým ukazováčkem. Hotspot lze dosáhnout pomocí příkazu FORMAT.
Syntax: Format Hotspot On (Off).
Skrýt
Tento příkaz vám pomůže uložit názvy polí, na základě kterých se bude dále zpracovávat, abyste získali podrobný seznam. Zapisuje se přímo za příkaz WRITE pro pole. Po výběru řádku se hodnoty automaticky doplní do proměnných pro další použití.
Syntax: Hide <field-name>.
Logické databáze
- Místo použití dotazů „Select“ můžete k načtení dat pro program použít logickou databázi.
- Logické databáze jsou vytvářeny transakcemi SE36
- Název logické databáze může mít až 20 znaků. Může začínat předponou jmenného prostoru.
- Data vybírá jiný program a lze k nim přistupovat pomocí GET příkaz, který umístí data do pracovní oblasti .
Výhody logické databáze oproti běžným výběrovým dotazům.
- Nabízí podmínky kontroly, zda je zadání správné, úplné a věrohodné
- Obsahuje centrální kontroly oprávnění pro přístup do databáze
- Vylepšení, jako je zlepšení výkonu, se okamžitě uplatní u všech sestav, které používají logickou databázi.
Poznámka: Kvůli složitosti se logické databáze ve většině případů nepoužívají