ALV-rapporter i SAP Tutorial – ABAP List Viewer

De fælles ønskede funktioner i enhver rapport er "kolonnejustering", sortering, filtrering, subtotaler, totaler osv. For at implementere disse fra bunden, skal der lægges en masse kodningsindsats. For at undgå det kan vi bruge et koncept kaldet ABAP List Viewer (ALV).

Hver af disse rapporter giver funktionsmoduler som hjælper med at producere det ønskede output uden stor indsats. Lad os se på dem i detaljer -

Simpel rapport

Vigtige funktionsmoduler i disse indberette er -

  • Genbrug_alv_fieldcatalog_merge
  • Genbrug_alv_liste_visning
  • Genbrug_alv_events_get
  • Genbrug_alv_gitter_display
  • Genbrug_alv_kommentar_skriv

REUSE_ALV_FIELDCATALOG_MERGE

Dette funktionsmodul bruges til at udfylde et feltkatalog, som er essentielt for at vise dataene i ALV.

Hvis outputdata er fra en enkelt ordbogstabel, og alle kolonnerne er valgt, behøver vi ikke udelukkende at oprette feltkataloget. Det er nok at nævne tabelnavnet som en parameter (I_structure_name) i REUSE_ALV_LIST_DISPLAY. Men i andre tilfælde skal vi skabe det.

Bemærk: Feltkatalog kan også udfyldes manuelt ved at udfylde alle de nødvendige details ind i den interne tabel

Vigtige parametre i er:

1. Eksport:

  • I_program_name : rapport-id
  • I_internal_tabname : den interne outputtabel
  • I_inclname : inkludere eller rapportnavnet, hvor alle de dynamiske formularer håndteres.

2. Ændring

  • ct_fieldcat : en indvendigt bord med typen SLIS_T_FIELDCAT_ALV, som er deklareret i typepuljen SLIS.

REUSE_ALV_LIST_DISPLAY

Dette er funktionsmodulet, som udskriver dataene.

De vigtige parametre er:

1. Eksport:

  • I_callback_program: rapport-id
  • jeg_omgår_buffer : 'X'
  • I_buffer_active : ' '
  • I_callback_pf_status_set : rutine, hvor en bruger kan indstille sin egen pf-status eller ændre funktionaliteten af ​​den eksisterende pf-status.
  • I_callback_user_command : rutine hvor funktionskoderne håndteres.
  • I_structure name : navn på ordbogstabellen
  • Is_Layout: struktur til at indstille layoutet af rapporten
  • It_fieldcat : intern tabel med listen over alle felter og deres attributter, som skal udskrives (denne tabel kan udfyldes automatisk af funktionen)
  • It_events : intern tabel med en liste over alle mulige hændelser i ALV og deres tilsvarende formnavne.

2. Tabeller:

  • en. t_outtab : intern tabel med de data, der skal udlæses

REUSE_ALV_EVENTS_GET:

Returnerer tabel over mulige hændelser for en listetype

1. Importer:

Et_Begivenheder:Hændelsestabellen returneres med alle mulige CALLBACK hændelser for den angivne listetype (kolonne 'NAVN'). For at hændelser kan behandles af tilbagekaldet, skal deres 'FORM'-felt være udfyldt. Hvis feltet initialiseres, ignoreres hændelsen. Indtastningen kan læses fra hændelsestabellen, feltet 'FORM' udfyldes, og indtastningen kan ændres ved hjælp af konstanter fra typepuljen SLIS.

2. Eksport:

I_list_type: 0 = simpel liste REUSE_ALV_LIST_DISPLAY

1 = herarchical-sekventiel liste REUSE_ALV_HIERSEQ_LIST_DISPLAY

2 = simpel blokeringsliste REUSE_ALV_BLOCK_LIST_APPEND

3 = herarchical-sekventiel blokeringsliste REUSE_ALV_BLOCK_LIST_HS_APPEND

REUSE_ALV_GRID_DISPLAY

En ny funktion fra ABAP4.6 versionen, til at vise resultaterne i gitter i stedet for en forhåndsvisning.

Parametre: samme som genbrug_alv_liste_visning

Bemærk: Grid kan ikke håndtere høje volumener. Funktioner som sortering, scrollning ned bruger mange ressourcer/tid, hvis mængden af ​​data, der skal visesyed er høj. Der er ingen klar definition, sådan at hvis mængden af ​​data er X, gå efter liste eller gitter, men udvikleren skal tage et opkald baseret på sin erfaring. Hvis du ikke er sikker, så er listen den bedre mulighed

REUSE_ALV_COMMENTARY_WRITE

Dette bruges i Top-of-page-begivenheden til at udskrive overskrifter og andre kommentarer til listen.

Vigtige parametre

  • It_list_commentary : Intern tabel med overskrifter af typen slis_t_listheader.

Denne interne tabel har tre felter:

  1. Typ : 'H' – overskrift, 'S' – valg, 'A' – handling
  2. Nøgle: kun når typ er 'S'.
  3. Info: den tekst, der skal udskrives

Bloker rapport

Dette ligner en simpel rapport, men denne rapport har kun funktionerne sortering og filtrering. Denne rapport bruges, hvis du skal vise mere end én rapport på outputtet. Teknisk set, hvis du har flere interne tabel med data, der skal displayed som separate blokke så går vi efter blokrapport af ALV.

De vigtige funktioner, der bruges til at oprette denne rapport, er:

  • REUSE_ALV_BLOCK_LIST_INIT
  • REUSE_ALV_BLOCK_LIST_APPEND
  • REUSE_ALV_BLOCK_LIST_DISPLAY

REUSE_ALV_BLOCK_LIST_INIT

Dette funktionsmodul bruges til at indstille standard gui-status osv. Parametrene ligner den, der bruges i reuse_alv_list_display eller reuse_alv_grid_display

REUSE_ALV_BLOCK_LIST_APPEND

Dette funktionsmodul tilføjer data til blokken.

Vigtige parametre

1. Eksport :

  • is_layout : layoutindstillinger for blok
  • it_fieldcat : feltkatalog
  • I_tabname : internt tabelnavn med alle mulige hændelser

2. Tabeller:

  • t_outtab : intern tabel med outputdata.

REUSE_ALV_BLOCK_LIST_DISPLAY

Dette funktionsmodul viser listen med data tilføjet af ovenstående funktion.

Parametre: Alle parametre er valgfrie.

herarchical Rapporter

herarchical display bruges til at vise data, der er relateret. Ligesom salgsordre og vare details. Her salgsordre details kan være overskriftsdata, mens disse varer i salgsordren kan være varedata

Funktionsmodulet der bruges til dette er

REUSE_ALV_HIERSEQ_LIST_DISPLAY

Eksport:

  • I_CALLBACK_PROGRAM
  • I_CALLBACK_PF_STATUS_SET
  • I_CALLBACK_USER_COMMAND
  • IS_LAYOUT
  • It_fieldcat
  • Det_begivenheder
  • I_tabname_header : Navn på den interne tabel i programmet, der indeholder outputdata fra det højeste hierarkiniveau.
  • I_tabname_item : Navn på den interne tabel i programmet, der indeholder outputdata fra det laveste hierarkiniveau.
  • Is_keyinfo : Denne struktur indeholder hoved- og elementtabelfeltnavnene, som forbinder de to tabeller (delt nøgle).

tabeller

  • t_outtab_header : Overskriftstabel med data, der skal udlæses
  • t_outtab_item : Navn på den interne tabel i programmet, der indeholder outputdata fra det laveste hierarkiniveau.

Alle definitioner af interne tabeller, strukturer og konstanter er deklareret i en type-pool kaldet SLIS. Denne interne tabel kan udfyldes automatisk ved at bruge REUSE_ALV_FIELDCATALOG_MERGE'.

Vis varianter

  • Visningsvarianter bruges til at indstille standardegenskaberne for et alv-output som sorteringskriterier, filtreringskriterier, summering og subtotaler osv.
  • Displayvarianter kan være brugerspecifikke og standard (standardvarianter kan bruges af enhver bruger)
  • Slags visningsvarianter, der kan gemmes, styres af parameteren i_save, der sendes i funktionsmodulerne reuse_alv_list_display / reuse_alv_grid_display
  • Du kan give en mulighed på valgskærmen for at vælge, hvilken skærmvariant, der skal bruges

De almindelige funktionsmoduler relateret til valg/validering af displayvarianter er

  1. Genbrug_alv_variant_default_get
  2. Genbrug_alv_variant_f4
  3. Genbrug_alv_variant_eksistens

Det er alt til ABAP – ALV programmering!