ALV Rapporterer inn SAP Opplæring – ABAP List Viewer

De vanlige ønskede funksjonene til enhver rapport er "kolonnejustering", sortering, filtrering, delsummer, totaler osv. For å implementere disse fra bunnen av, må det legges ned mye kodingsinnsats. For å unngå det kan vi bruke et konsept kalt ABAP List Viewer (ALV).

Hver av disse rapportene gir funksjonsmoduler som hjelper til med å produsere ønsket utgang uten mye anstrengelse. La oss se på dem i detalj -

Enkel rapport

Viktige funksjonsmoduler i disse rapporterer er -

  • Gjenbruk_alv_feltkatalog_sammenslåing
  • Gjenbruk_alv_liste_visning
  • Gjenbruk_alv_events_get
  • Gjenbruk_alv_grid_display
  • Gjenbruk_alv_kommentar_skriv

REUSE_ALV_FIELDCATALOG_MERGE

Denne funksjonsmodulen brukes til å fylle ut en feltkatalog som er avgjørende for å vise dataene i ALV.

Hvis utdataene er fra en enkelt ordboktabell og alle kolonnene er valgt, trenger vi ikke utelukkende å lage feltkatalogen. Det er nok til å nevne tabellnavnet som en parameter (I_structure_name) i REUSE_ALV_LIST_DISPLAY. Men i andre tilfeller må vi lage det.

Merk: Feltkatalog kan også fylles ut manuelt ved å fylle opp alle nødvendige detaljer i den interne tabellen

Viktige parametere i er:

1. Eksport:

  • I_program_name : rapport-ID
  • I_internal_tabname : den interne utdatatabellen
  • I_inclname : inkluderer eller rapportnavnet der alle de dynamiske skjemaene håndteres.

2. Endre

  • ct_fieldcat : an innvendig bord med typen SLIS_T_FIELDCAT_ALV som er deklarert i typepoolen SLIS.

REUSE_ALV_LIST_DISPLAY

Dette er funksjonsmodulen som skriver ut dataene.

De viktige parameterne er:

1. Eksport:

  • I_callback_program : rapport-id
  • I_bypassing_buffer : 'X'
  • I_buffer_active : ' '
  • I_callback_pf_status_set : rutine hvor en bruker kan sette sin egen pf-status eller endre funksjonaliteten til den eksisterende pf-statusen.
  • I_callback_user_command : rutine hvor funksjonskodene håndteres.
  • I_structure name : navnet på ordboktabellen
  • Is_Layout : struktur for å angi oppsettet for rapporten
  • It_fieldcat : intern tabell med liste over alle felt og deres attributter som skal skrives ut (denne tabellen kan fylles ut automatisk av funksjonen)
  • It_events : intern tabell med en liste over alle mulige hendelser av ALV og deres tilsvarende skjemanavn.

2. Tabeller:

  • en. t_outtab : intern tabell med dataene som skal sendes ut

REUSE_ALV_EVENTS_GET:

Returnerer tabell over mulige hendelser for en listetype

1. Importer:

Et_Events :Hendelsestabellen returneres med alle mulige CALLBACK-hendelser for den angitte listetypen (kolonne 'NAME'). For at hendelser skal behandles av tilbakeringingen, må deres 'FORM'-felt fylles ut. Hvis feltet initialiseres, ignoreres hendelsen. Oppføringen kan leses fra hendelsestabellen, feltet 'FORM' fylles ut og oppføringen kan endres ved hjelp av konstanter fra type pool SLIS.

2. Eksport:

I_list_type: 0 = enkel liste REUSE_ALV_LIST_DISPLAY

1 = hierarkisk-sekvensiell liste REUSE_ALV_HIERSEQ_LIST_DISPLAY

2 = enkel blokkeringsliste REUSE_ALV_BLOCK_LIST_APPEND

3 = hierarkisk-sekvensiell blokkeringsliste REUSE_ALV_BLOCK_LIST_HS_APPEND

REUSE_ALV_GRID_DISPLAY

En ny funksjon fra ABAP4.6 versjon, for å vise resultatene i rutenett i stedet for en forhåndsvisning.

Parametere: samme som reuse_alv_list_display

Merk: Grid kan ikke håndtere høye volumer. Funksjoner som sortering, nedrulling bruker mye ressurser/tid hvis datavolumet som skal vises er høyt. Det er ingen klar definisjon slik at hvis datamengden er X, gå for liste eller rutenett, men utvikleren må ta en samtale basert på hans erfaring. Hvis du ikke er sikker, er listen det bedre alternativet

REUSE_ALV_COMMENTARY_WRITE

Dette brukes i Top-of-page-hendelsen for å skrive ut overskrifter og andre kommentarer for listen.

Viktige parametere

  • It_list_commentary : Intern tabell med overskrifter av typen slis_t_listheader.

Denne interne tabellen har tre felt:

  1. Typ : 'H' – overskrift, 'S' – valg, 'A' – handling
  2. Nøkkel : bare når typen er 'S'.
  3. Info: teksten som skal skrives ut

Blokker rapport

Dette ser ut som en enkel rapport, men denne rapporten har bare funksjonene sortering og filtrering. Denne rapporten brukes hvis du må vise mer enn én rapport på utdataene. Teknisk sett hvis du har flere interne tabeller med data som skal vises som separate blokker, så går vi for blokkrapport av ALV.

De viktige funksjonene som brukes for å lage denne rapporten er:

  • REUSE_ALV_BLOCK_LIST_INIT
  • REUSE_ALV_BLOCK_LIST_APPEND
  • REUSE_ALV_BLOCK_LIST_DISPLAY

REUSE_ALV_BLOCK_LIST_INIT

Denne funksjonsmodulen brukes til å angi standard gui-status osv. Parametrene ligner på den som brukes i reuse_alv_list_display eller reuse_alv_grid_display

REUSE_ALV_BLOCK_LIST_APPEND

Denne funksjonsmodulen legger til dataene til blokken.

Viktige parametere

1. Eksport :

  • is_layout : layoutinnstillinger for blokk
  • it_fieldcat : feltkatalog
  • I_tabname : internt tabellnavn med alle mulige hendelser

2. Tabeller:

  • t_outtab : intern tabell med utdata.

REUSE_ALV_BLOCK_LIST_DISPLAY

Denne funksjonsmodulen viser listen med data vedlagt av funksjonen ovenfor.

Parametere: Alle parametere er valgfrie.

Hierarkiske rapporter

Hierarkisk visning brukes for å vise data som er relatert. Som salgsordre og varedetaljer. Her kan salgsordredetaljer være overskriftsdata, mens varene i salgsordren kan være varedata

Funksjonsmodulen som brukes 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_hendelser
  • I_tabname_header : Navn på den interne tabellen i programmet som inneholder utdataene for det høyeste hierarkinivået.
  • I_tabname_item : Navn på den interne tabellen i programmet som inneholder utdataene for det laveste hierarkinivået.
  • Is_keyinfo : Denne strukturen inneholder overskrifts- og elementtabellfeltnavnene som kobler sammen de to tabellene (delt nøkkel).

tabeller

  • t_outtab_header : Overskriftstabell med data som skal sendes ut
  • t_outtab_item : Navn på den interne tabellen i programmet som inneholder utdataene for det laveste hierarkinivået.

Alle definisjoner av interne tabeller, strukturer og konstanter er deklarert i en type-pool kalt SLIS. Denne interne tabellen kan fylles ut automatisk ved å bruke REUSE_ALV_FIELDCATALOG_MERGE'.

Vis varianter

  • Visningsvarianter brukes til å angi standardegenskapene til en alv-utgang som sorteringskriterier, filtreringskriterier, summering og subtotering osv.
  • Visningsvarianter kan være brukerspesifikke og standard (standardvarianter kan brukes av alle brukere)
  • Typer visningsvarianter som kan lagres styres av parameteren i_save som sendes i funksjonsmodulene reuse_alv_list_display / reuse_alv_grid_display
  • Du kan gi et alternativ på valgskjermen for å velge hvilken skjermvariant som skal brukes

De vanlige funksjonsmodulene knyttet til valg / validering av visningsvarianter er

  1. Gjenbruk_alv_variant_default_get
  2. Gjenbruk_alv_variant_f4
  3. Gjenbruk_alv_variant_eksistens

Det er alt til ABAP – ALV-programmering!