ALV-rapporter i SAP-vejledning - ABAP List Viewer

Indholdsfortegnelse:

Anonim

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

I denne vejledning lærer du:

  • Enkel rapport
  • Bloker rapport
  • Hierarkiske rapporter
  • Displayvarianter

Hver af disse rapporter giver funktionsmoduler, som hjælper med at producere ønsket output uden megen anstrengelse. Lad os se nærmere på dem -

Enkel rapport

Vigtige funktionsmoduler i denne rapport er -

  • Genbrug_alv_fieldcatalog_merge
  • Genbrug_alv_liste_display
  • Genbrug_alv_events_get
  • Genbrug_alv_grid_display
  • Genbrug_alv_kommentar_skriv

REUSE_ALV_FIELDCATALOG_MERGE
Dette funktionsmodul bruges til at udfylde et feltkatalog, som er vigtigt for at få vist dataene i ALV.
Hvis outputdataene kommer fra en enkelt ordbogstabel, og alle kolonnerne er valgt, behøver vi ikke udelukkende oprette feltkataloget. Det er nok til at nævne tabelnavnet som en parameter (I_structure_name) i REUSE_ALV_LIST_DISPLAY. Men i andre tilfælde er vi nødt til at skabe det.
Bemærk: Feltkatalog kan også udfyldes manuelt ved at udfylde alle de nødvendige detaljer i den interne tabel.
Vigtige parametre er:
1. Eksport:

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

2. Ændring

  • ct_fieldcat: en intern tabel med typen SLIS_T_FIELDCAT_ALV, der er deklareret i typen pool SLIS.

REUSE_ALV_LIST_DISPLAY
Dette er funktionsmodulet, der udskriver dataene.
De vigtige parametre er:
1. Eksport:

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

2. Tabeller:

  • en. t_outtab: intern tabel med de data, der skal sendes

REUSE_ALV_EVENTS_GET:
Returnerer tabel over mulige begivenheder for en en listetype
1. Import:
Et_Events: Begivenhedstabellen returneres med alle mulige CALLBACK-begivenheder for den angivne listetype (kolonne 'NAVN'). For at begivenheder skal behandles af tilbagekaldet, skal deres 'FORM' -felt udfyldes. Hvis feltet initialiseres, ignoreres begivenheden. Posten kan læses fra begivenhedstabellen, feltet 'FORM' udfyldes og posten ændres ved hjælp af konstanter fra typen pool SLIS.
2. Eksport:
I_list_type: 0 = enkel liste REUSE_ALV_LIST_DISPLAY
1 = hierarkisk-sekventiel liste REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = enkel blokliste REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarkisk-sekventiel blokliste REUSE_ALV_BL_
REUSE_ALV_GRID_DISPLAY
En ny funktion fra ABAP4.6-version, der viser resultaterne i gitter snarere end en forhåndsvisning.
Parametre: samme som reuse_alv_list_display

Bemærk: Gitteret kan ikke håndtere store volumener. Funktioner som sortering, rulning ned bruger en masse ressourcer / tid, hvis datamængden, der skal vises, er høj. Der er ingen klar definition, således at hvis datamængden er X, skal du gå til listen eller gitteret, men udvikleren er nødt til at tage et opkald baseret på hans erfaring. Hvis det ikke er sikkert, er listen den bedre mulighed

REUSE_ALV_COMMENTARY_WRITE
Dette bruges i toppen af ​​siden 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: teksten, der skal udskrives

Bloker rapport

Dette ligner en simpel rapport, men denne rapport har kun funktionerne ved sortering og filtrering. Denne rapport bruges, hvis du skal vise mere end en rapport om output. Teknisk set, hvis du har flere interne tabeller med data, der skal vises som separate blokke, går vi til blokrapport om 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 svarer til den, der bruges i reuse_alv_list_display eller reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
Dette funktionsmodul føjer dataene til blokken.
Vigtige parametre 1.
Eksport:

  • is_layout: layoutindstillinger for blok
  • it_fieldcat: feltkatalog
  • I_tabname: internt tabelnavn med alle mulige begivenheder

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 valgfri.

Hierarkiske rapporter

Hierarkisk skærm bruges til at vise relaterede data. Ligesom salgsordre og varedetaljer. Her kan salgsorderdetaljer være overskriftsdataene, hvorimod varerne i salgsordren kan være varedataene
. 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: Navnet på den interne tabel i programmet, der indeholder outputdataene for det højeste hierarkiniveau.
  • I_tabname_item: Navnet på den interne tabel i programmet, der indeholder outputdata for det laveste hierarkiniveau.
  • Is_keyinfo: Denne struktur indeholder feltnavne for overskrift og varetabel, der forbinder de to tabeller (delt nøgle).

Tabeller

  • t_outtab_header: Overskriftstabel med data, der skal udføres
  • t_outtab_item: Navnet på den interne tabel i programmet, der indeholder outputdata for det laveste hierarkiniveau.

Alle definitioner af interne tabeller, strukturer og konstanter er deklareret i en typepool kaldet SLIS. Denne interne tabel kan udfyldes automatisk ved hjælp af REUSE_ALV_FIELDCATALOG_MERGE '.

Displayvarianter

  • Displayvarianter bruges til at indstille standardegenskaberne for en alv-output som sorteringskriterier, filtreringskriterier, total og subtotaling osv.
  • Displayvarianter kan være brugerspecifikke og standard (standardvarianter kan bruges af enhver bruger)
  • Typen af ​​displayvarianter, der kan gemmes, styres af parameteren i_save, der sendes i funktionsmoduler reuse_alv_list_display / reuse_alv_grid_display
  • Du kan give en mulighed på valgskærmen for at vælge, hvilken displayvariant der skal bruges

De almindelige funktionsmoduler relateret til valg / validering af skærmvarianter er

  1. Genbrug_alv_variant_default_get
  2. Genbrug_alv_variant_f4
  3. Genbrug_alv_variant_eksistens

Det er alt sammen med ABAP-ALV programmering!