SAP-ABAP podpira dve vrsti programov - poroča programe in dialoge. Programi poročil se uporabljajo, kadar je treba prikazati velike količine podatkov
V tej vadnici boste izvedeli:
- Izbirni zaslon
- Dogodki v programu poročanja ABAP
- Oblikovanje poročila
- Programiranje interaktivnega poročila
- Logične zbirke podatkov
Namen / uporaba poročilnih programov
- Uporabljajo se, kadar je treba podatke iz več tabel izbrati in obdelati pred predstavitvijo
- Uporablja se, kadar poročila zahtevajo posebno obliko
- Uporablja se, ko je treba poročilo prenesti iz SAP-a na Excel-ov list, da ga lahko porazdelite.
- Uporablja se, kadar je treba poročilo poslati določeni osebi.
Pomembne opombe o programu poročanja
- Programi za poročanje so vedno izvršljivi programi. Vrsta programa je vedno 1.
- Vsak program za poročanje ustreza določeni vrsti aplikacije, tj. S prodajo in distribucijo, FI - CO itd. Lahko je tudi navzkrižna aplikacija, tj. '*'.
- Programiranje poročil je programiranje na podlagi dogodkov.
- Prva vrstica programa za poročanje je vedno Poročilo
. - Za zatiranje naslova seznama ali imena programa je uporabljen dodatek Ni standardnega naslova strani .
- Velikost vrstice za določeno poročilo lahko nastavite z dodajanjem velikosti vrstice
. - Število vrstic za določeno stran lahko nastavite z dodajanjem števila vrstic n (n1) . N je število vrstic za stran, N1 pa število vrstic, rezerviranih za nogo strani.
- Za prikaz kakršnih koli informacij ali sporočil o napakah programu dodamo razred sporočila z dodatkom: Message-id
. Razredi sporočil se vzdržujejo v SE91.
Poročiloni standardnega naslova stranivelikost vrstice štetje vrstic message-id .
Izbirni zaslon
"Izbirni zaslon" je zaslon, na katerem so določene vhodne vrednosti, za katere naj se program izvaja.
Izbirni zaslon se običajno generira iz
- Parametri
- Izberite Možnosti
Sintaksa
Izbirni zaslon se začne na zaslonuizbirni zaslon začetek bloka <#> z naslovom okvirja ...… izbirni zaslon konec bloka <#>izbirni zaslon konec zaslona
Parametri
Parametri pomagajo pri dinamičnem izbiranju. Za en cikel izvajanja programa lahko sprejmejo samo eno vrednost.
Sintaksa
Določanje parametrov kot podatkovnega tipa
Parametri p_id (30) tip c.
Določanje parametrov, kot je polje tabele.
Parameter p_id kot- .
Parametri so lahko potrditvena polja in radijski gumbi.
Parametri p_id kot potrditveno polje. Parametri p_id1 skupina radijskih gumbov.Parametri p_id2 skupina radijskih gumbov .
Parametri so lahko seznam.
Parameter p_id kot- kot seznam
Izbira možnosti
Izbirna možnost se uporablja za vnos obsega vrednosti ali nabora vrednosti v
sintakso programa
select-options s_vbeln za vbak-vbeln.
Določite lahko tudi izbirno možnost, kot je spremenljivka
select-options s_vbeln za vbak-vbeln brez intervalov brez podaljšanja
Dogodki v programu poročanja ABAP
Programi poročil ABAP so programi, ki temeljijo na dogodkih . Različni dogodki v programu poročila so:
Load-of-program
- Sproži povezani dogodek v interni seji po nalaganju programa tipa 1, M, F ali S.
- Povezani blok obdelave zažene tudi enkrat in samo za vsak program in interno sejo.
- Procesni blok LOAD-OF-PROGRAM ima približno enako funkcijo za program ABAP tipa 1, M, F ali S kot konstruktor za razrede v objektih ABAP
Inicializacija.
- Ta dogodek se izvede, preden se prikaže izbirni zaslon.
- Inicializacija vseh vrednot.
- Na izbirnem zaslonu lahko dodelite različne vrednosti, ki niso privzete.
- Izbirni zaslon lahko med izvajanjem napolnite z nekaterimi vrednostmi.
Na izbirnem zaslonu.
- Dogodek se obdela, ko je izbirni zaslon obdelan (na koncu PAI).
- Tu se zgodi preverjanje veljavnosti in preverjanje vnesenih vrednosti
Začetek izbire.
- Tu začne program izbrati vrednosti iz tabel.
Konec izbire.
- Po izbiri vseh podatkov ta dogodek podatke zapiše na zaslon.
Interaktivni dogodki
- Uporablja se za interaktivno poročanje. Uporablja se za ustvarjanje podrobnega seznama iz osnovnega seznama.
Oblikovanje poročila
ABAP omogoča oblikovanje poročil, kot uporabnik želi. Na primer, »Nadomestne črte« se morajo prikazati v različnih barvah, vrstica »Seštevki« pa mora biti v rumeni barvi.
Sintaksa
Format Barva nFormat Color n Intensified On
n lahko ustreza različnim številkam.
Upoštevajte, da obstajajo tudi drugi dodatki, poleg oblike
FORMAT COLOR OFF INTENIFIED OFF OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programiranje interaktivnega poročila
- Z uporabo interaktivnega programiranja lahko uporabniki aktivno nadzorujejo pridobivanje in prikaz podatkov
- Uporablja se za ustvarjanje podrobnega seznama iz zelo osnovnega seznama
- Podrobni podatki so zapisani na sekundarnem seznamu.
- Sekundarni seznam lahko popolnoma prekriva prvi zaslon ali pa ga lahko prikaže na novem zaslonu
- 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