SAP-ABAP støtter to typer programmer - Rapportprogrammer og dialogprogrammer. Rapportprogrammer brukes når store datamengder må vises
I denne opplæringen lærer du:
- Valg skjerm
- Hendelser i et ABAP-rapportprogram
- Formatering av rapporten
- Programmering av interaktiv rapport
- Logiske databaser
Formål / bruk av rapportprogrammer
- De brukes når data fra en rekke tabeller må velges og behandles før de presenteres
- Brukes når rapporter krever et spesielt format
- Brukes når rapporten må lastes ned fra SAP til et Excel-ark som skal distribueres over.
- Brukes når rapporten må sendes til en bestemt person.
Viktige punkter å merke seg om rapportprogrammet
- Rapportprogrammer er alltid kjørbare programmer. Programtypen er alltid 1.
- Hvert rapportprogram tilsvarer en bestemt applikasjonstype, dvs. med salg og distribusjon, FI - CO osv. Det kan også være kryssapplikasjon, dvs. typen '*'.
- Rapportprogrammering er en hendelsesdrevet programmering.
- Den første linjen i et rapportprogram er alltid Rapport
. - For å undertrykke listeoverskriften eller navnet på programmet, legges ikke til noe standard sideoverskrift .
- Linjestørrelsen for en bestemt rapport kan angis ved å bruke tilleggsstørrelsen
. - Linjetellingen for en bestemt side kan stilles inn ved å bruke tilleggslinjeantallet n (n1) . N er antall linjer for siden og N1 er antallet linjer som er reservert for sidefoten.
- For å vise informasjon eller feilmelding legger vi til en meldingsklasse i programmet ved å bruke tillegget: Message-id
. Meldingsklasser opprettholdes i SE91.
Rapporteringen standard sideoverskriftlinjestørrelse linjetelling meldings-ID .
Valg skjerm
"Selection screen" er skjermen der man spesifiserer inngangsverdiene som programmet skal kjøres for.
Valgskjermen genereres normalt fra
- Parametere
- Velg-alternativer
Syntaks
Valg-skjermens begynnelse av skjermenvalg-skjerm begynnelse av blokk <#> med rammetittel ... ... valg-skjerm slutt på blokk <#>valgskjerm slutten av skjermen
Parametere
Parametere hjelper en å gjøre dynamisk valg. De kan bare ta imot en verdi for en utførelsessyklus av programmet.
Syntaks
Definere parametere som datatype
Parameter p_id (30) type c.
Definere parametere som et tabellfelt.
Parameter p_id som- .
Parametere kan være både avkrysningsruter og radioknapper.
Parameter p_id som avkrysningsrute Parameter p_id1 radioknappegruppe.Parameter p_id2 radioknappegruppe .
Parametere kan være listeboks.
Parameter p_id som- som listeboks
Velg Alternativer
A Velg-alternativet brukes til å legge inn en rekke verdier eller et sett med verdier til et program
Syntax
select-options s_vbeln for vbak-vbeln.
Du kan også definere et valgalternativ som en variabel
select-options s_vbeln for vbak-vbeln no intervals no-extension
Hendelser i et ABAP-rapportprogram
ABAP-rapportprogrammer er hendelsesdrevne programmer . De forskjellige hendelsene i en rapport Program er:
Load-of-program
- Utløser den tilknyttede hendelsen i en intern økt etter innlasting av et program av type 1, M, F eller S.
- Kjører også den tilhørende behandlingsblokken en gang og bare for hvert program og intern økt.
- Behandlingsblokken LOAD-OF-PROGRAM har omtrent samme funksjon for et ABAP-program av type 1, M, F eller S som en konstruktør har for klasser i ABAP Objects
Initialisering.
- Denne hendelsen utføres før valgskjermen vises.
- Initialisering av alle verdiene.
- Du kan tilordne andre verdier enn verdiene som er standard på valgskjermen.
- Du kan fylle valgskjermbildet med noen verdier ved kjøretid.
På Selection-Screen.
- Hendelsen behandles når utvalgsskjermen er behandlet (på slutten av PAI).
- Validering og sjekker av inngående verdier skjer her
Start-of-Selection.
- Her begynner programmet å velge verdier fra tabeller.
Slutten av utvalget.
- Etter at alle dataene er valgt, skriver denne hendelsen dataene til skjermen.
Interaktive hendelser
- Brukes til interaktiv rapportering. Den brukes til å lage en detaljert liste fra en grunnleggende liste.
Formatering av rapporten
ABAP lar rapportene formateres slik brukeren vil ha det. For eksempel må "Alternate Lines" vises i forskjellige farger, og "Totals" -linjen skal vises i gult.
Syntaks
Format Farge nFormat Farge n Intensifisert På
n kan tilsvare forskjellige tall.
Vær oppmerksom på at det også er andre tillegg sammen med formatet
FORMAT FARGE AV INTENSIFISERT AV INVERSE AV HOTSPOT AV INNGANG AV
Programmering av interaktiv rapport
- Bruk av interaktiv programmering kan brukere aktivt kontrollere datainnhenting og visning av data
- Brukes til å lage en detaljert liste fra en veldig grunnleggende liste
- De detaljerte dataene er skrevet på en sekundær liste.
- Den sekundære listen kan enten legge det første skjermbildet helt eller så kan det vises på et nytt skjermbilde
- 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