ALV-raportit SAP-oppaassa - ABAP-luettelonäyttö

Sisällysluettelo:

Anonim

Minkä tahansa raportin yleisiä toivottuja piirteitä ovat "sarakkeiden kohdistus", lajittelu, suodatus, välisummat, summat jne. Näiden toteuttamiseksi tyhjästä on tehtävä paljon koodausta. Tämän välttämiseksi voimme käyttää konseptia nimeltä ABAP List Viewer (ALV).

Tässä opetusohjelmassa opit:

  • Yksinkertainen raportti
  • Estoraportti
  • Hierarkkiset raportit
  • Näyttövaihtoehdot

Kukin näistä raporteista tarjoaa toimintomoduuleja, jotka auttavat tuottamaan haluttua tulosta ilman paljon vaivaa. Katsotaanpa niitä yksityiskohtaisesti -

Yksinkertainen raportti

Tämän raportin tärkeitä toimintomoduuleja ovat -

  • Reuse_alv_fieldcatalog_merge
  • Reuse_alv_list_display
  • Reuse_alv_events_get
  • Reuse_alv_grid_display
  • Reuse_alv_commentary_write

REUSE_ALV_FIELDCATALOG_MERGE
Tätä toimintomoduulia käytetään täyttämään kenttäluettelo, joka on välttämätön tietojen näyttämiseksi ALV: ssä.
Jos lähtötiedot ovat yhdestä sanakirjataulukosta ja kaikki sarakkeet on valittu, meidän ei tarvitse luoda yksinomaan kenttäluetteloa. Riittää, että taulukon nimi mainitaan parametrina (I_structure_name) REUSE_ALV_LIST_DISPLAY. Mutta muissa tapauksissa meidän on luotava se.
Huomaa: Kenttäluettelo voidaan täyttää manuaalisesti myös täyttämällä kaikki tarvittavat tiedot sisäiseen taulukkoon.
Tärkeitä parametreja ovat:
1. Vie:

  • I_ohjelman_nimi: raportin tunnus
  • I_internal_tabname: sisäinen tulostustaulukko
  • I_inclname: sisälly tai raportin nimi, jossa kaikkia dynaamisia lomakkeita käsitellään.

2. Muuttaminen

  • ct_fieldcat: sisäinen taulukko, jonka tyyppi on SLIS_T_FIELDCAT_ALV, joka ilmoitetaan tyypin poolissa SLIS.

REUSE_ALV_LIST_DISPLAY
Tämä on toimintomoduuli, joka tulostaa tiedot.
Tärkeät parametrit ovat:
1. Vie:

  • I_callback_program: raportin tunnus
  • Ohittaa_puskuri: 'X'
  • I_buffer_active: ''
  • I_callback_pf_status_set: rutiini, jossa käyttäjä voi asettaa oman pf-tilansa tai muuttaa olemassa olevan pf-tilan toiminnallisuutta.
  • I_callback_user_command: rutiini, jossa toimintokoodeja käsitellään.
  • I_structure name: sanastotaulukon nimi
  • Is_Layout: rakenne raportin asettelun asettamiseksi
  • It_fieldcat: sisäinen taulukko, jossa on luettelo kaikista tulostettavista kentistä ja niiden määritteistä (tämä taulukko voidaan täyttää automaattisesti toiminnon avulla)
  • It_events: sisäinen taulukko, jossa on luettelo kaikista ALV: n mahdollisista tapahtumista ja niitä vastaavat lomakkeiden nimet.

2. Taulukot:

  • a. t_outtab: sisäinen taulukko syötettävillä tiedoilla

REUSE_ALV_EVENTS_GET:
Palauttaa taulukon mahdollisten tapahtumien luettelotyypille
1. Tuonti:
Et_Events: Tapahtumataulukko palautetaan kaikkien mahdollisten CALLBACK-tapahtumien kanssa määritetylle listatyypille (sarake 'NAME'). Jotta soittopyyntö voi käsitellä tapahtumia, niiden FORM-kenttä on täytettävä. Jos kenttä alustetaan, tapahtuma ohitetaan. Merkintä voidaan lukea tapahtumataulukosta, kenttä 'LOMAKE' täytetty ja merkintää voidaan muokata vakioilla tyypin poolista SLIS.
2. Vie:
I_list_type: 0 = yksinkertainen luettelo REUSE_ALV_LIST_DISPLAY
1 = hierarkkinen järjestyslista REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = yksinkertainen lohkoluettelo REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarkkinen järjestyksellinen lohkoluettelo REUSE_ALV_BLOCK_LIST_HS
REUSE_ALV_GRID_DISPLAY
Uusi toiminto ABAP4.6-versiosta, joka näyttää tulokset ruudukossa eikä esikatselussa.
Parametrit: sama kuin reuse_alv_list_display

Huomaa: Ruudukko ei pysty käsittelemään suuria määriä. Lajittelu, vieritys alaspäin vievät paljon resursseja / aikaa, jos näytettävän datan määrä on suuri. Ei ole olemassa selkeää määritelmää, että jos datan määrä on X, mene luetteloon tai ruudukkoon, mutta kehittäjän on otettava puhelu kokemuksensa perusteella. Jos et ole varma, niin luettelo on parempi vaihtoehto

REUSE_ALV_COMMENTARY_WRITE
Tätä käytetään Sivun alkuun -tapahtumassa luettelon otsikoiden ja muiden kommenttien tulostamiseen.
Tärkeät parametrit

  • It_list_commentary: Sisäinen taulukko, jonka otsikot ovat tyyppiä slis_t_listheader.

Tässä sisäisessä taulukossa on kolme kenttää:

  1. Tyyppi: 'H' - otsikko, 'S' - valinta, 'A' - toiminto
  2. Avain: vain, kun typ on S.
  3. Info: tulostettava teksti

Estoraportti

Tämä näyttää yksinkertaiselta raportilta, mutta tällä raportilla on vain lajittelun ja suodattamisen ominaisuuksia. Tätä raporttia käytetään, jos sinun on näytettävä useampi kuin yksi raportti tuloksessa. Teknisesti ottaen, jos sinulla on useita sisäisiä taulukoita, joissa tiedot näytetään erillisinä lohkoina, siirrymme ALV: n lohkoraporttiin.
Tämän raportin luomisessa käytetyt tärkeät toiminnot ovat:

  • UUDELLEEN_ALV_BLOCK_LIST_INIT
  • REUSE_ALV_BLOCK_LIST_APPEND
  • UUDELLEEN_ALV_BLOCK_LIST_DISPLAY

REUSE_ALV_BLOCK_LIST_INIT
Tätä toimintomoduulia käytetään gui-oletustilan jne. Asettamiseen. Parametrit ovat samankaltaisia ​​kuin uudelleenkäyttötavan_kalvolista_näytössä tai uudelleenkäytössä_alv_grid_näytössä
REUSE_ALV_BLOCK_LIST_APPEND
Tämä toimintomoduuli lisää tiedot lohkoon.
Tärkeät parametrit 1.
vienti:

  • is_layout: lohkon asetteluasetukset
  • it_fieldcat: kenttoluettelo
  • I_tabname: sisäinen taulukon nimi, jossa on kaikki mahdolliset tapahtumat

2. taulukot:

  • t_outtab: sisäinen taulukko lähtötiedoilla.

REUSE_ALV_BLOCK_LIST_DISPLAY
Tämä toimintomoduuli näyttää luettelon yllä olevan toiminnon liitteenä olevista tiedoista.
Parametrit: Kaikki parametrit ovat valinnaisia.

Hierarkkiset raportit

Hierarkkista näyttöä käytetään toisiinsa liittyvien tietojen näyttämiseen. Kuten myyntitilaus ja tuotetiedot. Tässä myyntitilauksen tiedot voivat olla otsikkotiedot, kun taas ne myyntitilauksen tuotteet voivat olla tuotetiedot.
Tätä varten käytetty toimintomoduuli on
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Export:

  • I_CALLBACK_PROGRAM
  • I_CALLBACK_PF_STATUS_SET
  • I_CALLBACK_USER_COMMAND
  • IS_LAYOUT
  • It_fieldcat
  • It_events
  • I_tabname_header: Ohjelman sisäisen taulukon nimi, joka sisältää korkeimman hierarkiatason lähtötiedot.
  • I_tabname_item: Ohjelman sisäisen taulukon nimi, joka sisältää alimman hierarkiatason lähtötiedot.
  • Is_keyinfo: Tämä rakenne sisältää otsikko- ja nimitaulukokenttien nimet, jotka linkittävät nämä kaksi taulukkoa (jaettu avain).

Taulukot

  • t_outtab_header: Otsikkotaulukko, joka sisältää syötettävät tiedot
  • t_outtab_item: Ohjelman sisäisen taulukon nimi, joka sisältää alimman hierarkiatason lähtötiedot.

Kaikki sisäisten taulukoiden, rakenteiden ja vakioiden määritelmät ilmoitetaan tyyppivarastossa nimeltä SLIS. Tämä sisäinen taulukko voidaan täyttää automaattisesti käyttämällä REUSE_ALV_FIELDCATALOG_MERGE '.

Näyttövaihtoehdot

  • Näyttövaihtoehtoja käytetään määrittämään alv-tuotoksen oletusominaisuudet, kuten lajittelukriteerit, suodatuskriteerit, summaus ja välisumma jne.
  • Näyttövaihtoehdot voivat olla käyttäjäkohtaisia ​​ja vakiona (vakiomuunnelmia voi käyttää kuka tahansa käyttäjä)
  • Tallennettavien näyttövaihtoehtojen tyyppiä ohjaa parametri i_save, joka välitetään toimintomoduuleissa reuse_alv_list_display / reuse_alv_grid_display
  • Voit antaa valintanäytöllä vaihtoehdon käytettävän näyttövaihtoehdon valitsemiseksi

Näyttövaihtoehtojen valitsemiseen / vahvistamiseen liittyvät yleiset toimintomoduulit ovat

  1. Reuse_alv_variant_default_get
  2. Reuse_alv_variant_f4
  3. Käytä uudelleen

Tämä kaikki ABAP- ALV-ohjelmointiin!