SAP-ABAP ondersteunt twee soorten programma's: Rapportprogramma's en dialoogprogramma's. Rapportprogramma's worden gebruikt wanneer grote hoeveelheden gegevens moeten worden weergegeven
In deze tutorial leer je:
- Selectiescherm
- Gebeurtenissen in een ABAP-rapportprogramma
- Het rapport opmaken
- Interactieve rapportprogrammering
- Logische databases
Doel / gebruik van rapportageprogramma's
- Ze worden gebruikt wanneer gegevens uit een aantal tabellen moeten worden geselecteerd en verwerkt voordat ze worden gepresenteerd
- Wordt gebruikt wanneer rapporten een speciaal formaat vereisen
- Wordt gebruikt wanneer het rapport moet worden gedownload van SAP naar een Excel-sheet om te worden verspreid.
- Wordt gebruikt wanneer het rapport naar een bepaalde persoon moet worden gemaild.
Belangrijke punten om op te merken over het rapportprogramma
- Rapportprogramma's zijn altijd uitvoerbare programma's. Programmatype is altijd 1.
- Elk rapportageprogramma komt overeen met een bepaald applicatietype, dwz ofwel met verkoop en distributie, FI-CO enz. Het kan ook een cross-applicatie zijn, dwz type '*'.
- Rapportprogrammering is een gebeurtenisgestuurde programmering.
- De eerste regel van een rapportageprogramma is altijd Rapport
. - Om de lijstkop of de naam van het programma te onderdrukken, wordt de toevoeging Geen standaard paginakop gebruikt.
- De regelgrootte voor een bepaald rapport kan worden ingesteld met de toevoeging line-size
. - Het aantal regels voor een bepaalde pagina kan worden ingesteld met behulp van het aantal regels voor optellen n (n1) . N is het aantal regels voor de pagina en N1 is het aantal regels dat is gereserveerd voor de voettekst van de pagina.
- Om informatie of foutberichten weer te geven, voegen we een berichtklasse aan het programma toe met de toevoeging: Message-id
. Berichtklassen worden onderhouden in SE91.
Rapportgeen standaard paginakopline-size line-count bericht-id .
Selectiescherm
"Selectiescherm" is het scherm waarin men de invoerwaarden specificeert waarvoor het programma moet draaien.
Het selectiescherm wordt normaal gesproken gegenereerd vanuit het
- Parameters
- Selecteer opties
Syntaxis
Selectiescherm begin van schermselectiescherm begin blok <#> met frametitel …… selectiescherm einde blok <#>selectiescherm einde van scherm
Parameters
Parameters helpen iemand om dynamische selectie te doen. Ze kunnen slechts één waarde bevatten voor één cyclus van uitvoering van het programma.
Syntaxis
Parameters definiëren als een gegevenstype
Parameters p_id (30) type c.
Parameters definiëren zoals een tabelveld.
Parameter p_id zoals- .
Parameters kunnen zowel selectievakjes als radioknoppen zijn.
Parameters p_id als checkbox Parameters p_id1 radiobutton group.Parameters p_id2 radiobutton group .
Parameters kunnen listbox zijn.
Parameter p_id zoals- als keuzelijst
Opties selecteren
Een selectieoptie wordt gebruikt om een reeks waarden of een reeks waarden in te voeren in de
syntaxis van een programma
select-options s_vbeln voor vbak-vbeln.
U kunt ook een selectieoptie definiëren zoals een variabele
select-options s_vbeln voor vbak-vbeln geen intervallen geen-extensie
Gebeurtenissen in een ABAP-rapportprogramma
ABAP-rapportprogramma's zijn gebeurtenisgestuurde programma's . De verschillende gebeurtenissen in een rapport Programma zijn:
Load-of-program
- Activeert de bijbehorende gebeurtenis in een interne sessie na het laden van een programma van type 1, M, F of S.
- Voert ook het bijbehorende verwerkingsblok eenmalig uit voor elk programma en elke interne sessie.
- Het verwerkingsblok LOAD-OF-PROGRAM heeft ongeveer dezelfde functie voor een ABAP-programma van type 1, M, F of S als een constructor heeft voor klassen in ABAP-objecten
Initialisatie.
- Deze gebeurtenis wordt uitgevoerd voordat het selectiescherm wordt weergegeven.
- Initialisatie van alle waarden.
- U kunt andere waarden toewijzen dan de standaardwaarden op het selectiescherm.
- U kunt uw selectiescherm tijdens runtime vullen met enkele waarden.
Op selectiescherm.
- De gebeurtenis wordt verwerkt als het selectiescherm is verwerkt (aan het einde van PAI).
- Validatie en controles van ingevoerde waarden gebeuren hier
Start-van-selectie.
- Hier begint het programma waarden uit tabellen te selecteren.
Einde van selectie.
- Nadat alle gegevens zijn geselecteerd, schrijft deze gebeurtenis de gegevens naar het scherm.
Interactieve evenementen
- Gebruikt voor interactieve rapportage. Het wordt gebruikt om een gedetailleerde lijst te maken op basis van een basislijst.
Het rapport opmaken
Met ABAP kunnen de rapporten worden opgemaakt zoals de gebruiker dat wil. "Alternatieve lijnen" moeten bijvoorbeeld in verschillende kleuren verschijnen en de lijn "Totalen" moet in geel worden weergegeven.
Syntaxis
Formaat Kleur nFormaat Kleur n Intensiever Aan
n kan overeenkomen met verschillende nummers.
Houd er rekening mee dat er naast het formaat ook andere toevoegingen zijn
FORMAAT KLEUR UIT VERSTERKT UIT INVERSE UIT HOTSPOT UIT INGANG UIT
Interactieve rapportprogrammering
- Met behulp van interactieve programmering kunnen gebruikers actief het ophalen en weergeven van gegevens beheren
- Wordt gebruikt om een gedetailleerde lijst te maken op basis van een zeer eenvoudige lijst
- De gedetailleerde gegevens worden op een secundaire lijst geschreven.
- De secundaire lijst kan het eerste scherm volledig bedekken of men kan het in een nieuw scherm weergeven
- 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