ALV pārskati SAP apmācībā - ABAP sarakstu skatītājs

Satura rādītājs:

Anonim

Jebkura ziņojuma kopīgās vēlamās iezīmes ir "kolonnu izlīdzināšana", šķirošana, filtrēšana, starpsummas, kopsummas utt. Lai tos ieviestu no jauna, ir jāpieliek daudz kodēšanas. Lai izvairītos no tā, mēs varam izmantot jēdzienu ar nosaukumu ABAP List Viewer (ALV).

Šajā apmācībā jūs uzzināsiet:

  • Vienkāršs ziņojums
  • Bloķēt ziņojumu
  • Hierarhiskie ziņojumi
  • Displeja varianti

Katrā no šiem ziņojumiem ir iekļauti funkciju moduļi, kas palīdz radīt vēlamo rezultātu bez lielām pūlēm. Apskatīsim tos detalizēti -

Vienkāršs ziņojums

Svarīgi funkciju moduļi šajā pārskatā ir:

  • Atkārtoti izmantot_alv_lauka katalogs_apvienot
  • Reuse_alv_list_display
  • Reuse_alv_events_get
  • Atkārtoti izmantot_alv_grid_display
  • Atkārtoti izmantot_alv_komentāru_rakstīt

REUSE_ALV_FIELDCATALOG_MERGE
Šis funkciju modulis tiek izmantots, lai aizpildītu lauku katalogu, kas ir būtisks datu parādīšanai ALV.
Ja izejas dati ir no vienas vārdnīcas tabulas un ir atlasītas visas kolonnas, mums nav tikai jāizveido lauku katalogs. Pietiek, lai tabulas nosaukums kā parametrs (I_structure_name) tiktu minēts REUSE_ALV_LIST_DISPLAY. Bet citos gadījumos tas mums ir jāizveido.
Piezīme: Lauku katalogu var aizpildīt manuāli, arī iekšējā tabulā ierakstot visu nepieciešamo.
Svarīgi parametri ir:
1. Eksports:

  • I_programmas_nosaukums: pārskata ID
  • I_internal_tabname: iekšējā izvades tabula
  • I_inclname: iekļaut vai pārskata nosaukumu, kurā tiek apstrādātas visas dinamiskās formas.

2. Mainīšanās

  • ct_fieldcat: iekšējā tabula ar SLIS_T_FIELDCAT_ALV tipu, kas ir deklarēta tipa SLIS tipā.

REUSE_ALV_LIST_DISPLAY
Šis ir funkciju modulis, kas drukā datus.
Svarīgi parametri ir:
1. Eksports:

  • I_callback_program: pārskata ID
  • I_apejot_buferis: 'X'
  • I_buffer_active: ""
  • I_callback_pf_status_set: rutīna, kur lietotājs var pats iestatīt pf statusu vai mainīt esošā pf statusa funkcionalitāti.
  • I_callback_user_command: rutīna, kur tiek apstrādāti funkciju kodi.
  • I_structure name: vārdnīcas tabulas nosaukums
  • Is_Layout: struktūra, lai iestatītu pārskata izkārtojumu
  • It_fieldcat: iekšējā tabula ar visu drukājamo lauku sarakstu un to atribūtiem (šo tabulu funkcija var aizpildīt automātiski)
  • It_events: iekšējā tabula ar visu iespējamo ALV notikumu sarakstu un tiem atbilstošajiem formu nosaukumiem.

2. Galdi:

  • a. t_outtab: iekšējā tabula ar izvades datiem

REUSE_ALV_EVENTS_GET:
atgriež
1. saraksta tipa iespējamo notikumu tabulu. Importēt:
Et_Events: notikumu tabula tiek atgriezta ar visiem iespējamiem CALLBACK notikumiem norādītajam saraksta tipam (kolonna 'NAME'). Lai notikumus varētu apstrādāt atzvanīšana, to laukam “FORM” jābūt aizpildītam. Ja lauks tiek inicializēts, notikums tiek ignorēts. Ierakstu var nolasīt no notikumu tabulas, aizpildīt lauku “FORM” un modificēt ierakstu, izmantojot konstantes no tipa baseina SLIS.
2. Eksportēt:
I_list_type: 0 = vienkāršs saraksts REUSE_ALV_LIST_DISPLAY
1 = hierarhisks-secīgs saraksts REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = vienkāršs bloku saraksts REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarhiski-secīgs bloku saraksts REUSE_ALV_BLOCK_LIST_HS
REUSE_ALV_GRID_DISPLAY
Jauna funkcija no ABAP4.6 versijas, lai parādītu rezultātus režģī, nevis priekšskatījumā.
Parametri: tāds pats kā reuse_alv_list_display

Piezīme: Režģis nevar apstrādāt lielus apjomus. Tādas funkcijas kā kārtošana, ritināšana uz leju patērē daudz resursu / laika, ja parādāmo datu apjoms ir liels. Nav skaidras definīcijas, piemēram, ja datu apjoms ir X, izvēlieties sarakstu vai režģi, bet izstrādātājam ir jāsaņem zvans, pamatojoties uz viņa pieredzi. Ja neesat pārliecināts, tad labāks variants ir saraksts

REUSE_ALV_COMMENTARY_WRITE
To izmanto notikumā Lapas augšdaļa, lai drukātu saraksta virsrakstus un citus komentārus.
Svarīgi parametri

  • It_list_commentary: Iekšējā tabula ar slis_t_listheader tipa virsrakstiem.

Šajā iekšējā tabulā ir trīs lauki:

  1. Tips: 'H' - galvene, 'S' - atlase, 'A' - darbība
  2. Atslēga: tikai tad, ja tips ir “S”.
  3. Info: drukājamais teksts

Bloķēt ziņojumu

Tas izskatās kā vienkāršs pārskats, taču šajā pārskatā ir tikai šķirošanas un filtrēšanas funkcijas. Šis pārskats tiek izmantots, ja izvadē ir jāparāda vairāk nekā viens pārskats. Tehniski runājot, ja jums ir vairākas iekšējās tabulas ar datiem, kas jāparāda kā atsevišķi bloki, mēs izmantojam ALV bloka ziņojumu.
Svarīgas funkcijas, kas tiek izmantotas šī ziņojuma izveidošanai, ir:

  • REUSE_ALV_BLOCK_LIST_INIT
  • REUSE_ALV_BLOCK_LIST_APPEND
  • REUSE_ALV_BLOCK_LIST_DISPLAY

REUSE_ALV_BLOCK_LIST_INIT
Šis funkciju modulis tiek izmantots, lai iestatītu noklusējuma gui statusu utt. Parametri ir līdzīgi parametriem, kas izmantoti reuse_alv_list_display vai reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
Šis funkciju modulis datus pievieno blokam.
Svarīgi parametri 1.
Eksports:

  • is_layout: bloka izkārtojuma iestatījumi
  • it_fieldcat: lauku katalogs
  • I_tabname: iekšējās tabulas nosaukums ar visiem iespējamiem notikumiem

2. Tabulas:

  • t_outtab: iekšējā tabula ar izejas datiem.

REUSE_ALV_BLOCK_LIST_DISPLAY
Šis funkciju modulis parāda sarakstu ar datiem, kas pievienoti iepriekšminētajai funkcijai.
Parametri: visi parametri nav obligāti.

Hierarhiskie ziņojumi

Hierarhisks displejs tiek izmantots, lai parādītu saistītus datus. Tāpat kā pārdošanas pasūtījums un informācija par preci. Šeit pārdošanas pasūtījuma informācija var būt galvenes dati, turpretī tie, kas ir pārdošanas pasūtījumā, var būt preces dati.
Tam izmantotais funkciju modulis ir
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: Programmas iekšējās tabulas nosaukums, kas satur augstākā hierarhijas līmeņa izejas datus.
  • I_tabname_item: Programmas iekšējās tabulas nosaukums, kas satur zemākā hierarhijas līmeņa izejas datus.
  • Is_keyinfo: Šajā struktūrā ir galvenes un vienumu tabulas lauku nosaukumi, kas saista abas tabulas (kopīgā atslēga).

Galdi

  • t_outtab_header: galvenes tabula ar izvades datiem
  • t_outtab_item: Programmas iekšējās tabulas nosaukums, kas satur zemākā hierarhijas līmeņa izejas datus.

Visas iekšējo tabulu, struktūru un konstantu definīcijas ir deklarētas tipa kopā, ko sauc par SLIS. Šo iekšējo tabulu var aizpildīt automātiski, izmantojot REUSE_ALV_FIELDCATALOG_MERGE '.

Displeja varianti

  • Displeja variantus izmanto, lai iestatītu alv izejas noklusējuma īpašības, piemēram, šķirošanas kritērijus, filtrēšanas kritērijus, summēšanu un starpsummu utt.
  • Displeja varianti var būt individuāli un standarta (standarta variantus var izmantot jebkurš lietotājs)
  • Saglabājamo displeja variantu veidu kontrolē parametrs i_save, kas tiek nodots funkciju moduļos reuse_alv_list_display / reuse_alv_grid_display
  • Atlases ekrānā varat norādīt opciju, lai izvēlētos izmantojamo displeja variantu

Kopējie funkciju moduļi, kas saistīti ar displeja variantu izvēli / apstiprināšanu, ir

  1. Atkārtoti izmantot_alv_variant_default_get
  2. Atkārtota izmantošana_var_variant_f4
  3. Atkārtota izmantošana_var_varianta_eksistence

Tas viss ABAP-ALV programmēšanai!