Allt om ABAP-rapportprogrammering

Innehållsförteckning:

Anonim

SAP-ABAP stöder två typer av program - Rapportprogram och dialogprogram. Rapportprogram används när stora mängder data måste visas

I denna handledning lär du dig:

  • Urvalsskärm
  • Händelser i ett ABAP-rapportprogram
  • Formatera rapporten
  • Programmering av interaktiv rapport
  • Logiska databaser

Syfte / användning av rapportprogram

  • De används när data från ett antal tabeller måste väljas och bearbetas innan de presenteras
  • Används när rapporter kräver ett speciellt format
  • Används när rapporten måste laddas ner från SAP till ett Excel-ark som ska distribueras över.
  • Används när rapporten måste skickas till en viss person.

Viktiga punkter att notera om rapportprogrammet

  • Rapporteringsprogram är alltid körbara program. Programtyp är alltid 1.
  • Varje rapportprogram motsvarar en viss applikationstyp, dvs antingen med försäljning och distribution, FI - CO etc. Det kan också vara tvärapplikation, dvs typ '*'.
  • Rapportprogrammering är en händelsestyrd programmering.
  • Den första raden i ett rapportprogram är alltid Rapportera .
  • För att undertrycka listrubriken eller namnet på programmet används tillägget Ingen standard sidrubrik .
  • Radstorleken för en viss rapport kan ställas in med hjälp av tilläggsstorleken .
  • Linjeantalet för en viss sida kan ställas in med hjälp av tilläggsräkningen n (n1) . N är antalet rader för sidan och N1 är antalet rader som är reserverade för sidfoten.
  • För att visa information eller felmeddelanden lägger vi till en meddelandeklass i programmet med tillägget: Meddelande-ID . Meddelandeklasser upprätthålls i SE91.
Därför bör ett perfekt rapportprogram börja med:
Rapportera  ingen standard sidrubrikradstorlek radräkning meddelande-id .

Urvalsskärm

"Urvalsskärm" är den skärm där man anger de ingångsvärden som programmet ska köras för.
Valskärmen genereras normalt från

  1. Parametrar
  2. Välj inställningar

Syntax

Urvalsskärmens början av skärmen urvalsskärmens början av block <#> med ramtitel  ... ... urvalsskärms slut på block <#>urvalsskärm slutet av skärmen 

Parametrar
Parametrar hjälper en att göra dynamiskt val. De kan bara rymma ett värde för en programcykel.
Syntax
Definiera parametrar som datatyp

Parametrar p_id (30) typ c.

Definiera parametrar som ett tabellfält.

Parameter p_id som  - .

Parametrar kan vara kryssrutor såväl som radioknappar.

Parametrar p_id som kryssruta Parametrar p_id1 radioknappsgrupp .Parametrar p_id2 radioknappgrupp .

Parametrar kan vara listbox.

Parameter p_id som  -  som listruta

Välj alternativ
A Välj-alternativ används för att mata in ett värdeintervall eller en uppsättning värden till ett program
Syntax

välj-alternativ s_vbeln för vbak-vbeln.

Du kan också definiera ett alternativ som en variabel

välj-alternativ s_vbeln för vbak-vbeln inga intervaller ingen förlängning

Händelser i ett ABAP-rapportprogram

ABAP-rapportprogram är evenemangsdrivna program . De olika händelserna i ett rapportprogram är:
Load-of-program

  • Utlöser tillhörande händelse i en intern session efter inläsning av ett program av typ 1, M, F eller S.
  • Kör också tillhörande behandlingsblock en gång och bara för varje program och intern session.
  • Bearbetningsblocket LOAD-OF-PROGRAM har ungefär samma funktion för ett ABAP-program av typ 1, M, F eller S som en konstruktör har för klasser i ABAP-objekt

Initiering.

  • Denna händelse utförs innan urvalsskärmen visas.
  • Initialisering av alla värden.
  • Du kan tilldela andra värden än standardvärdena på urvalsskärmen.
  • Du kan fylla din urvalsskärm med några värden vid körning.

På urvalsskärmen.

  • Händelsen behandlas när urvalsskärmen har bearbetats (i slutet av PAI).
  • Validering och kontroller av inmatade värden sker här

Start-of-Selection.

  • Här börjar programmet att välja värden från tabeller.

Val av slut.

  • När alla data har valts skriver denna händelse data till skärmen.

Interaktiva händelser

  • Används för interaktiv rapportering. Den används för att skapa en detaljerad lista från en grundläggande lista.

Formatera rapporten

Med ABAP kan rapporterna formateras som användaren vill att de ska vara. Till exempel måste "Alternativa linjer" visas i olika färger och "Totals" -raden ska visas i gult.
Syntax

Format Färg nFormat Färg n Intensifierad På

n kan motsvara olika nummer.
Observera att det finns andra tillägg tillsammans med format också

FORMAT FÄRG AV INTENSIFIERAD AV INVERSE OFF HOTSPOT OFF INPUT OFF

Programmering av interaktiv rapport

  • Med hjälp av interaktiv programmering kan användare aktivt styra datainhämtningen och visa data
  • Används för att skapa en detaljerad lista från en mycket grundläggande lista
  • De detaljerade uppgifterna är skrivna på en sekundär lista.
  • Den sekundära listan kan antingen lägga över den första skärmen helt eller så kan den visas i 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