ALV ataskaitos SAP mokymo programoje - ABAP sąrašų peržiūros priemonė

Bendros pageidaujamos bet kurios ataskaitos ypatybės yra „stulpelių sulyginimas“, rūšiavimas, filtravimas, tarpinės sumos, sumos ir kt. Norint jas įgyvendinti nuo nulio, reikia įdėti daug pastangų koduojant. Norėdami to išvengti, galime naudoti sąvoką, vadinamą „ABAP List Viewer“ (ALV).

Šioje pamokoje sužinosite:

  • Paprasta ataskaita
  • Blokuoti ataskaitą
  • Hierarchinės ataskaitos
  • Ekrano variantai

Kiekvienoje iš šių ataskaitų pateikiami funkciniai moduliai, kurie padeda be didelių pastangų sukurti norimą rezultatą. Leiskite pažvelgti į juos išsamiai -

Paprasta ataskaita

Svarbūs funkcijų moduliai šioje ataskaitoje yra:

  • Pakartotinis naudojimas_alv_katalogo_ sujungimas
  • Reuse_alv_list_display
  • Pakartotinai naudoti_alv_events_get
  • Pakartotinai naudoti_skelbimo_gridą
  • Pakartotinai naudoti_skaičiuoti_komentarus

REUSE_ALV_FIELDCATALOG_MERGE
Šis funkcijų modulis naudojamas užpildyti lauko katalogą, kuris yra būtinas norint rodyti duomenis ALV.
Jei išvesties duomenys yra iš vienos žodyno lentelės ir pažymėti visi stulpeliai, mums nereikia sukurti tik lauko katalogo. Pakanka paminėti lentelės pavadinimą kaip parametrą (I_structure_name) REUSE_ALV_LIST_DISPLAY. Tačiau kitais atvejais turime tai sukurti.
Pastaba: Katalogą galima užpildyti rankiniu būdu, taip pat užpildydami visą reikiamą informaciją į vidinę lentelę.
Svarbiausi parametrai yra šie:
1. Eksportuoti:

  • I_program_name: ataskaitos ID
  • I_internal_tabname: vidinė išvesties lentelė
  • I_inclname: įtraukti arba ataskaitos pavadinimas, kuriame tvarkomos visos dinaminės formos.

2. Keitimasis

  • ct_fieldcat: vidinė lentelė su SLIS_T_FIELDCAT_ALV tipu, kuri deklaruojama SLIS tipo baseine.

REUSE_ALV_LIST_DISPLAY
Tai funkcijų modulis, kuris spausdina duomenis.
Svarbūs parametrai yra šie:
1. Eksportuoti:

  • I_callback_program: ataskaitos ID
  • I_bypassing_buffer: 'X'
  • I_buffer_active: "
  • I_callback_pf_status_set: įprasta, kai vartotojas gali nustatyti savo pf būseną arba pakeisti esamos pf būsenos funkcionalumą.
  • I_callback_user_command: įprasta, kai tvarkomi funkcijos kodai.
  • I_structure name: žodyno lentelės pavadinimas
  • „Is_Layout“: struktūra, skirta nustatyti ataskaitos išdėstymą
  • „It_fieldcat“: vidinė lentelė su visų laukų ir jų atributų, kuriuos norite spausdinti, sąrašu (šią lentelę funkcija gali užpildyti automatiškai)
  • It_events: vidinė lentelė su visų galimų ALV įvykių ir jų atitinkamų formų pavadinimų sąrašu.

2. Lentelės:

  • a. t_outtab: vidinė lentelė su pateikiamais duomenimis

REUSE_ALV_EVENTS_GET:
pateikia 1 sąrašo tipo galimų įvykių lentelę.
Importas:
Et_Events: įvykių lentelė grąžinama su visais įmanomais CALLBACK įvykiais pagal nurodytą sąrašo tipą (stulpelis „NAME“). Kad įvykiai būtų apdorojami atgaliniu skambučiu, jų laukas „FORMA“ turi būti užpildytas. Jei laukas inicijuojamas, įvykis nepaisomas. Įrašą galima perskaityti iš įvykių lentelės, užpildyti lauką „FORMA“ ir įrašą modifikuoti naudojant SLIS tipo baseino konstantas.
2. Eksportuoti:
I_list_type: 0 = paprastas sąrašas REUSE_ALV_LIST_DISPLAY
1 = hierarchinis nuoseklus sąrašas REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = paprastas blokų sąrašas REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchinis nuoseklus blokų sąrašas REUSE_ALV_BLOCK_LIST_HS
REUSE_ALV_GRID_DISPLAY
Nauja ABAP4.6 versijos funkcija, rodanti rezultatus tinklelyje, o ne peržiūroje.
Parametrai: tokie patys kaip pakartotinio naudojimo_sąrašo_display

Pastaba: Tinklelis negali apdoroti didelių apimčių. Tokios funkcijos kaip rūšiavimas, slinkimas žemyn sunaudoja daug išteklių / laiko, jei rodomų duomenų kiekis yra didelis. Nėra aiškaus apibrėžimo, kad jei duomenų kiekis yra X, eikite į sąrašą ar tinklelį, tačiau kūrėjas turi skambinti, remdamasis savo patirtimi. Jei nežinote, tada sąrašas yra geresnis pasirinkimas

REUSE_ALV_COMMENTARY_WRITE
Tai naudojama įvykyje „Puslapio viršuje“, norint spausdinti antraštes ir kitus sąrašo komentarus.
Svarbūs parametrai

  • It_list_commentary: Vidinė lentelė su slis_t_listheader tipo antraštėmis.

Šioje vidinėje lentelėje yra trys laukai:

  1. Tipas: „H“ - antraštė, „S“ - pasirinkimas, „A“ - veiksmas
  2. Raktas: tik tada, kai tipas yra „S“.
  3. Informacija: spausdinamas tekstas

Blokuoti ataskaitą

Tai atrodo paprasta ataskaita, tačiau šioje ataskaitoje yra tik rūšiavimo ir filtravimo ypatybės. Ši ataskaita naudojama, jei išvestyje turite rodyti daugiau nei vieną ataskaitą. Techniškai kalbant, jei turite kelias vidines lenteles su duomenimis, kurie turi būti rodomi kaip atskiri blokai, mes einame prie ALV bloko ataskaitos.
Svarbios funkcijos, naudojamos kuriant šią ataskaitą, yra šios:

  • REUSE_ALV_BLOCK_LIST_INIT
  • REUSE_ALV_BLOCK_LIST_APPEND
  • REUSE_ALV_BLOCK_LIST_DISPLAY

REUSE_ALV_BLOCK_LIST_INIT
Šis funkcijos modulis naudojamas numatytajai „gui“ būsenai nustatyti ir kt. Parametrai yra panašūs į tuos, kurie naudojami reuse_alv_list_display arba reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
Šis funkcijos modulis prideda duomenis prie bloko.
Svarbūs parametrai 1.
Eksportuoti:

  • is_layout: bloko išdėstymo nustatymai
  • it_fieldcat: lauko katalogas
  • I_tabname: vidinis lentelės pavadinimas su visais įmanomais įvykiais

2. Lentelės:

  • t_outtab: vidinė lentelė su išvesties duomenimis.

REUSE_ALV_BLOCK_LIST_DISPLAY
Šis funkcijų modulis rodo sąrašą su duomenimis, pridėtais aukščiau.
Parametrai: Visi parametrai yra neprivalomi.

Hierarchinės ataskaitos

Hierarchinis ekranas naudojamas rodyti susijusius duomenis. Kaip pardavimo užsakymas ir išsami informacija apie prekę. Išsami pardavimo užsakymo informacija gali būti antraštės duomenys, o jie - pardavimo užsakymo elementai - elemento duomenys.
Tam naudojamas funkcijų modulis yra
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: Vidinės programos lentelės, kurioje yra aukščiausio hierarchijos lygio išvesties duomenys, pavadinimas.
  • I_tabname_item: Vidinės programos lentelės, kurioje yra žemiausio hierarchijos lygio išvesties duomenys, pavadinimas.
  • Is_keyinfo: Šioje struktūroje yra antraštės ir elementų lentelių laukų pavadinimai, susiejantys dvi lenteles (bendras raktas).

Lentelės

  • t_outtab_header: Antraštės lentelė su išvesties duomenimis
  • t_outtab_item: Vidinės programos lentelės, kurioje yra žemiausio hierarchijos lygio išvesties duomenys, pavadinimas.

Visi vidinių lentelių, struktūrų ir konstantų apibrėžimai pateikiami tipų grupėje, vadinamoje SLIS. Šią vidinę lentelę galima užpildyti automatiškai naudojant REUSE_ALV_FIELDCATALOG_MERGE '.

Ekrano variantai

  • Ekrano variantai naudojami nustatant numatytąsias alv išvesties savybes, pvz., Rūšiavimo kriterijus, filtravimo kriterijus, sumavimą ir tarpinę sumą ir kt.
  • Ekrano variantai gali būti konkretūs vartotojui ir standartiniai (standartinius variantus gali naudoti bet kuris vartotojas)
  • Ekrano variantus, kuriuos galima išsaugoti, kontroliuoja parametras „i_save“, kuris perduodamas funkciniuose moduliuose reuse_alv_list_display / reuse_alv_grid_display
  • Pasirinkimo ekrane galite nurodyti parinktį, kurią ekrano variantą naudoti

Yra bendri funkciniai moduliai, susiję su ekrano variantų pasirinkimu / patvirtinimu

  1. Reuse_alv_variant_default_get
  2. Pakartotinis_alv_variantas_f4
  3. Pakartotinis naudojimas_variantinis_egzistavimas

Tai viskas ABAP- ALV programavimui!

Įdomios straipsniai...