Alt om ABAP-rapportprogrammering

Indholdsfortegnelse:

Anonim

SAP-ABAP understøtter to typer programmer - Rapportprogrammer og dialogprogrammer. Rapportprogrammer bruges, når store mængder data skal vises

I denne vejledning lærer du:

  • Valg skærm
  • Begivenheder i et ABAP-rapportprogram
  • Formatering af rapporten
  • Programmering af interaktiv rapport
  • Logiske databaser

Formål / brug af rapportprogrammer

  • De bruges, når data fra et antal tabeller skal vælges og behandles, inden de præsenteres
  • Anvendes, når rapporter kræver et specielt format
  • Bruges, når rapporten skal downloades fra SAP til et Excel-ark, der skal distribueres over.
  • Bruges, når rapporten skal sendes til en bestemt person.

Vigtige punkter at bemærke om rapportprogrammet

  • Rapportprogrammer er altid eksekverbare programmer. Programtype er altid 1.
  • Hvert rapportprogram svarer til en bestemt applikationstype, dvs. enten med salg og distribution, FI - CO osv. Det kan også være krydsapplikation, dvs. typen '*'.
  • Rapportprogrammering er en hændelsesdrevet programmering.
  • Den første linje i et rapportprogram er altid Rapport .
  • For at undertrykke listeoverskriften eller navnet på programmet, tilføjes der ingen standard sideoverskrift .
  • Linjestørrelsen for en bestemt rapport kan indstilles ved hjælp af tilføjelseslinjestørrelsen .
  • Linjetællingen for en bestemt side kan indstilles ved hjælp af tilføjelseslinjetællingen n (n1) . N er antallet af linjer for siden, og N1 er antallet af linjer, der er reserveret til sidefoden.
  • For at få vist oplysninger eller fejlmeddelelser tilføjer vi en beskedklasse til programmet ved hjælp af tilføjelsen: Message-id . Beskedklasser opretholdes i SE91.
Derfor bør et ideelt rapportprogram starte med:
Rapport  ingen standard sideoverskriftlinjestørrelse linjetælling besked-id .

Valg skærm

"Selektionsskærm" er det skærmbillede, hvor man specificerer de inputværdier, som programmet skal køre for.
Valgskærmen genereres normalt fra

  1. Parametre
  2. Vælg-indstillinger

Syntaks

Valgskærmens begyndelse af skærmen valgskærm begynder blok <#> med rammetitel …… valgskærms slutning af blok <#>valg-skærm slutning af skærm 

Parametre
Parametre hjælper en med at udføre dynamisk valg. De kan kun rumme en værdi for en cyklus af udførelsen af ​​programmet.
Syntaks
Definition af parametre som en datatype

Parametre p_id (30) type c.

Definere parametre som et tabelfelt.

Parameter p_id som  - .

Parametre kan være afkrydsningsfelter såvel som radioknapper.

Parametre p_id som afkrydsningsfelt Parametre p_id1 radioknappegruppe .Parametre p_id2 radioknappegruppe .

Parametre kan være listeboks.

Parameter p_id som  -  som listeboks

Vælg indstillinger
En valg-indstilling bruges til at indtaste et række værdier eller et sæt værdier til et programs
syntaks

vælg-indstillinger s_vbeln for vbak-vbeln.

Du kan også definere en valgmulighed som en variabel

vælg-indstillinger s_vbeln for vbak-vbeln ingen intervaller ingen udvidelse

Begivenheder i et ABAP-rapportprogram

ABAP-rapportprogrammer er hændelsesstyrede programmer . De forskellige begivenheder i en rapport Program er:
Load-of-program

  • Udløser den tilknyttede begivenhed i en intern session efter indlæsning af et program af type 1, M, F eller S.
  • Kører også den tilknyttede behandlingsblok en gang og kun for hvert program og intern session.
  • Behandlingsblokken LOAD-OF-PROGRAM har omtrent den samme funktion for et ABAP-program af type 1, M, F eller S som en konstruktør har for klasser i ABAP-objekter

Initialisering.

  • Denne begivenhed udføres inden valgskærmen vises.
  • Initialisering af alle værdier.
  • Du kan tildele andre værdier end standardværdierne på valgskærmen.
  • Du kan udfylde din valgskærm med nogle værdier ved kørsel.

På valgskærmen.

  • Begivenheden behandles, når valgskærmen er behandlet (i slutningen af ​​PAI).
  • Validering og kontrol af indtastede værdier sker her

Start-of-Selection.

  • Her begynder programmet at vælge værdier fra tabeller.

Afslutning af udvælgelse.

  • Efter at alle data er valgt, skriver denne begivenhed dataene til skærmen.

Interaktive begivenheder

  • Bruges til interaktiv rapportering. Det bruges til at oprette en detaljeret liste fra en grundlæggende liste.

Formatering af rapporten

ABAP gør det muligt at formatere rapporterne, som brugeren ønsker det. For eksempel skal "alternative linjer" vises i forskellige farver, og linjen "Totaler" skal vises i gul.
Syntaks

Format Farve nFormat Farve n Intensificeret Til

n kan svare til forskellige numre.
Bemærk, at der også er andre tilføjelser sammen med formatet

FORMAT FARVE OFF INTENSIFICERET OFF INVERSE OFF HOTSPOT OFF INPUT OFF

Programmering af interaktiv rapport

  • Brug af interaktiv programmering kan brugere aktivt kontrollere datahentning og visning af data
  • Bruges til at oprette en detaljeret liste fra en meget grundlæggende liste
  • De detaljerede data er skrevet på en sekundær liste.
  • Den sekundære liste kan enten overlejre den første skærm fuldstændigt, eller man kan vise den på en ny skærm
  • 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.

  1. It offers check conditions to see whether the input is correct, complete and plausible
  2. It contains central authorization checks for database access
  3. 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