SAP-ABAP podporuje dva typy programů - Report Programy a Dialogové programy. Programy sestav se používají, když je třeba zobrazit velké množství dat
V tomto výukovém programu se naučíte:
- Obrazovka výběru
- Události v programu zpráv ABAP
- Formátování zprávy
- Interaktivní programování reportů
- Logické databáze
Účel / použití reportovacích programů
- Používají se, když je třeba před prezentací vybrat a zpracovat data z několika tabulek
- Používá se, když sestavy vyžadují speciální formát
- Používá se, když musí být sestava stažena ze systému SAP do listu aplikace Excel, aby byla distribuována napříč.
- Používá se, když musí být zpráva zaslána konkrétní osobě.
Důležité poznámky k programu zpráv
- Programy sestav jsou vždy spustitelné programy. Typ programu je vždy 1.
- Každý program zpráv odpovídá určitému typu aplikace, tj. Buď s prodejem a distribucí, FI - CO atd. Může to být také křížová aplikace, tj. Typ '*'.
- Programování zpráv je programování řízené událostmi.
- První řádek programu reportů je vždy Report
. - Chcete-li potlačit záhlaví seznamu nebo název programu, použije se přidání Bez standardního záhlaví stránky .
- Velikost řádku pro konkrétní sestavu lze nastavit pomocí přidání velikosti řádku
. - Počet řádků pro konkrétní stránku lze nastavit pomocí přidání počtu řádků n (n1) . N je počet řádků pro stránku a N1 je počet řádků vyhrazených pro zápatí stránky.
- Chcete-li zobrazit jakékoli informace nebo chybovou zprávu, přidáme do programu třídu zpráv pomocí přidání: Message-id
. Třídy zpráv jsou udržovány v SE91.
Sestavažádné standardní záhlaví stránkyvelikost řádku . line-size počet řádků message-id .
Obrazovka výběru
„Obrazovka výběru“ je obrazovka, na které lze určit vstupní hodnoty, pro které by měl program běžet.
Obrazovka výběru je obvykle generována z
- Parametry
- Vyberte možnosti
Syntax
Výběr obrazovky začátek obrazovkyzačátek obrazovky výběru bloku <#> s nadpisem rámce …… konec obrazovky výběru na obrazovce <#>výběr obrazovky konec obrazovky
Parametry
Parametry pomáhají dynamickému výběru. Mohou pojmout pouze jednu hodnotu pro jeden cyklus provádění programu.
Syntaxe
Definování parametrů jako datového typu
Parametry p_id (30) typ c.
Definování parametrů jako pole tabulky.
Parametr p_id jako- .
Parametry mohou být zaškrtávací políčka i rádiová tlačítka.
Parametry p_id jako zaškrtávací políčko. Parametry p_id1 skupina radiobuttonů.Parametry skupina radiobuttonů p_id2 .
Parametry mohou být listbox.
Parametr p_id jako- jako seznam
Select Options
A Select-Option is used to input a range of values or a set of values to a program
Syntax
select-options s_vbeln pro vbak-vbeln.
Můžete také definovat možnost výběru jako proměnnou
select-options s_vbeln pro vbak-vbeln žádné intervaly bez rozšíření
Události v programu zpráv ABAP
Programy zpráv ABAP jsou programy řízené událostmi . Různé události v programu sestavy jsou:
Načtení programu
- Spustí přidruženou událost v interní relaci po načtení programu typu 1, M, F nebo S.
- Spustí také přidružený blok zpracování jednou a jednou pouze pro každý program a interní relaci.
- Procesní blok LOAD-OF-PROGRAM má zhruba stejnou funkci pro 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ž hodnoty výchozí 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, když byla zpracována obrazovka výběru (na konci PAI).
- Ověření a kontroly zadaných hodnot zde probíhají
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í události
- Používá se pro interaktivní hlášení. Slouží k vytvoření podrobného seznamu ze základního seznamu.
Formátování zprávy
ABAP umožňuje formátovat sestavy 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 se měl zobrazit žlutě.
Syntax
Formátovat barvu čFormat Color n Intensified On
n může odpovídat různým číslům
Vezměte prosím na vědomí, že spolu s formátem existují i další doplňky
FORMÁT BARVA VYPNUTO Zintenzivněno VYPNUTO INVERZE VYPNUTO HOTSPOT VYPNUTO VSTUP VYPNUTO
Interaktivní programování reportů
- Pomocí Interaktivního programování mohou uživatelé aktivně řídit načítání a zobrazování dat
- Slouží k vytvoření podrobného seznamu ze zcela základního seznamu
- Podrobné údaje jsou zapsány na sekundárním seznamu.
- Sekundární seznam může buď úplně překrýt první obrazovku, nebo ji lze zobrazit na nové obrazovce
- The secondary lists can be themselves interactive.
- The first list may also call a transaction.
- There are different events associated with interactive programming.
Some commands used for interactive programming
HotspotIf one drags the mouse over the data displayed in the report the cursor changes to a Hand with an Outstretched Index finger. An hotspot can be achieved using the FORMAT statement.
Syntax: Format Hotspot On (Off).
HideThis command helps you to store the field names based on which one will be doing further processing to get a detailed list. It is written directly after the WRITE statement for a field. When a row is selected the values get automatically filled in the variables for further use.
Syntax: Hide.
Logical Databases
- Instead of using "Select" queries you can use logical database to retrieve data for a program.
- Logical databases are created by transaction SE36
- The name of a logical database can be up to 20 characters long. It may begin with a namespace prefix.
- The data is selected by another program and one can access the data using GET
command which places the data in the work area .
Advantages of a logical database over normal Select queries.
- It offers check conditions to see whether the input is correct, complete and plausible
- It contains central authorization checks for database access
- Enhancements such as improvement in performance immediately apply to all reports which use logical database.
Note: Due to the complexities involved, logical databases are not used in most of the cases