Alt om ABAP-rapportprogrammering

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

Formål/brug af rapportprogrammer

  • De bruges, når data fra en række tabeller skal udvælges og behandles før præsentation
  • Bruges, når rapporter kræver et særligt format
  • Anvendes når rapporten skal downloades fra SAP til et Excel-ark, der skal distribueres på tværs.
  • 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 & Distribution, FI – CO osv. Det kan også være Cross Application, dvs. type '*'.
  • Rapportprogrammering er en begivenhedsdrevet programmering.
  • Den første linje i et rapportprogram er altid Rapport .
  • Tilføjelsen for at undertrykke listeoverskriften eller navnet på programmet Ingen standardsideoverskrift anvendes.
  • Linjestørrelsen for en bestemt rapport kan indstilles ved at bruge tilføjelsen linje-størrelse .
  • Linjeantal for en bestemt side kan indstilles ved at bruge tilføjelsen linjeantal n(n1). N er antallet af linjer for siden, og N1 er antallet af linjer, der er reserveret til sidefoden.
  • For at vise enhver information eller fejlmeddelelse tilføjer vi en meddelelsesklasse til programmet ved hjælp af tilføjelsen: Besked-id . Meddelelsesklasser opretholdes i SE91.

Derfor bør et ideelt rapportprogram starte med:

Report <report name> no standard page heading

line-size <size>

line-count <n(n1)>

message-id <message class>.

Valg skærm

"Udvalgsskærm" er den skærm, hvor man angiver de inputværdier, som programmet skal køre for.

Valgskærmen genereres normalt fra

  1. Driftsparametre
  2. Vælg-Indstillinger

Syntaks

Selection-screen begin of screen <screen #>
selection-screen begin of block <#>  with frame title <text>
.........
.........
selection-screen end of block <#>
selection-screen end of screen <screen #>

Driftsparametre

Parametre hjælper en med at foretage dynamisk udvælgelse. De kan kun rumme én værdi for én cyklus af programmets udførelse.

Syntaks

Definition af parametre som en datatype

Parameters p_id(30) type c.

Definition af parametre som et tabelfelt.

Parameter p_id like <table name>-<field name>.

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

Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>.
Parameters p_id2  radiobutton group <group name>.

Parametre kan være listeboks.

Parameter p_id like <table name>-<field name> as listbox

Vælg Valg

En Select-Option bruges til at indtaste en række værdier eller et sæt værdier til et program

Syntaks

select-options s_vbeln for vbak-vbeln.

Valg skærm

Du kan også definere en valgmulighed som en variabel

select-options s_vbeln for vbak-vbeln no intervals no-extension

Begivenheder i et ABAP-rapportprogram

ABAP rapport programmer er begivenhedsdrevne programmer. De forskellige begivenheder i et rapportprogram er:

Indlæsning af programmet

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

Initialisering.

  • Denne hændelse udføres før valgskærmen vises.
  • Initialisering af alle værdier.
  • Du kan tildele andre værdier end de værdier, der er standard på valgskærmen.
  • Du kan fylde din valgskærm med nogle værdier under kørsel.

På Udvælgelsesskærm.

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

Start af udvælgelse.

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

Slut på valg.

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

Interaktive begivenheder

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

Formatering af rapporten

ABAP tillader, at rapporterne formateres, som brugeren ønsker det. For eksempel skal "Alternative Lines" vises i forskellige farver, og "Totals"-linjen skal vises med gult.

Syntaks

Format Color n

Format Color n Intensified On

n kan svare til forskellige tal

Bemærk venligst, at der også er andre tilføjelser sammen med format

FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF

Interaktiv rapportprogrammering

  • Ved at bruge interaktiv programmering kan brugere aktivt kontrollere datahentning og visning af data
  • Bruges til at oprette en detaljeret liste ud 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
  • De sekundære lister kan selv være interaktive.
  • Den første liste kan også kalde en transaktion.
  • Der er forskellige begivenheder forbundet med interaktiv programmering.

Nogle kommandoer bruges til interaktiv programmering

Hotspot

Hvis man trækker musen hen over de data, der vises i rapporten, skifter markøren til en hånd med en udstrakt pegefinger. Et hotspot kan opnås ved hjælp af FORMAT-sætningen.

Syntax:      Format Hotspot On (Off).

Skjule

Denne kommando hjælper dig med at gemme feltnavnene baseret på, hvilken der skal udføre yderligere behandling for at få en detaljeret liste. Det skrives direkte efter WRITE-sætningen for et felt. Når en række er valgt, bliver værdierne automatisk udfyldt variablerne til videre brug.

Syntax:     Hide <field-name>.

Logiske databaser

  • I stedet for at bruge "Vælg"-forespørgsler kan du bruge logisk database til at hente data til et program.
  • Logiske databaser oprettes ved transaktion SE36
  • Navnet på en logisk database kan være op til 20 tegn langt. Det kan begynde med et navneområdepræfiks.
  • Dataene vælges af et andet program, og man kan få adgang til dataene ved hjælp af GET kommando, som placerer dataene i arbejdsområdet .

Fordele ved en logisk database i forhold til normale Select-forespørgsler.

  1. Det tilbyder kontrolbetingelser for at se, om inputtet er korrekt, fuldstændigt og plausibelt
  2. Den indeholder centrale autorisationstjek for databaseadgang
  3. Forbedringer såsom forbedring af ydeevnen gælder umiddelbart for alle rapporter, der bruger logisk database.

Bemærk: På grund af kompleksiteten, bruges logiske databaser ikke i de fleste tilfælde