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

  1. parametry
  2. 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.

Obrazovka výběru

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.

  1. Nabízí podmínky kontroly, zda je zadání správné, úplné a věrohodné
  2. Obsahuje centrální kontroly oprávnění pro přístup do databáze
  3. 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í