ALV Raporları SAP Öğretici – ABAP Liste Görüntüleyici

Herhangi bir raporun ortak istenen özellikleri "sütun hizalama", sıralama, filtreleme, alt toplamlar, toplamlar vb.'dir. Bunları sıfırdan uygulamak için çok fazla kodlama çalışması yapılması gerekir. Bundan kaçınmak için ABAP Liste Görüntüleyici (ALV) adı verilen bir kavramı kullanabiliriz.

Bu raporların her biri şunları sağlar: fonksiyon modülleri Bu, fazla çaba harcamadan istenen çıktının üretilmesine yardımcı olur. Onlara ayrıntılı olarak bakalım –

Basit Rapor

Bunlardaki önemli fonksiyon modülleri rapor vardır -

  • Reuse_alv_fieldcatalog_merge
  • Reuse_alv_list_display
  • Reuse_alv_events_get
  • Reuse_alv_grid_display
  • Reuse_alv_commentary_write

REUSE_ALV_FIELDCATALOG_MERGE

Bu fonksiyon modülü, verileri ALV'de görüntülemek için gerekli olan bir saha kataloğunu doldurmak için kullanılır.

Çıkış verileri tek bir sözlük tablosundan geliyorsa ve tüm sütunlar seçilmişse, o zaman yalnızca alan kataloğunu oluşturmamız gerekmez. REUSE_ALV_LIST_DISPLAY'de tablo adını parametre olarak (I_structure_name) belirtmeniz yeterlidir. Ancak diğer durumlarda onu yaratmamız gerekir.

Not: Fieldcatalog, dahili tabloya gerekli tüm bilgileri girerek manuel olarak da doldurulabilir.

Önemli parametreler şunlardır:

1. İhracat:

  • I_program_name : rapor kimliği
  • I_internal_tabname : dahili çıktı tablosu
  • I_inclname : tüm dinamik formların işlendiği raporun adını içerir.

2. Değiştirme

  • ct_fieldcat : bir iç masa SLIS tür havuzunda bildirilen SLIS_T_FIELDCAT_ALV türüyle.

REUSE_ALV_LIST_DISPLAY

Bu, verileri yazdıran işlev modülüdür.

Önemli parametreler şunlardır:

1. İhracat:

  • I_callback_program : rapor kimliği
  • I_atlama_tamponu : 'X'
  • I_tampon_aktif : ' '
  • I_callback_pf_status_set : kullanıcının kendi pf durumunu ayarlayabildiği veya mevcut pf durumunun işlevselliğini değiştirebildiği rutin.
  • I_callback_user_command : işlev kodlarının işlendiği rutin.
  • I_structure name : sözlük tablosunun adı
  • Is_Layout: raporun düzenini ayarlayan yapı
  • It_fieldcat : yazdırılacak tüm alanların ve bunların niteliklerinin listesini içeren dahili tablo (bu tablo, işlev tarafından otomatik olarak doldurulabilir)
  • It_events : ALV'nin tüm olası olaylarının ve bunlara karşılık gelen form adlarının listesini içeren dahili tablo.

2. Tablolar:

  • A. t_outtab : çıktısı alınacak verileri içeren dahili tablo

REUSE_ALV_EVENTS_GET:

Bir liste türü için olası olayların tablosunu döndürür

1. İçe Aktarma:

Et_Events:Olay tablosu, belirtilen liste türü ('NAME' sütunu) için tüm olası CALLBACK olaylarıyla birlikte döndürülür. Olayların Geri Arama tarafından işlenebilmesi için 'FORM' alanlarının doldurulması gerekmektedir. Alan başlatıldıysa olay göz ardı edilir. Giriş, olay tablosundan okunabilir, 'FORM' alanı doldurulabilir ve giriş, SLIS tipi havuzundaki sabitler kullanılarak değiştirilebilir.

2. İhracat:

I_list_type: 0 = basit liste REUSE_ALV_LIST_DISPLAY

1 = hiyerarşik-sıralı liste REUSE_ALV_HIERSEQ_LIST_DISPLAY

2 = basit engelleme listesi REUSE_ALV_BLOCK_LIST_APPEND

3 = hiyerarşik-sıralı blok listesi REUSE_ALV_BLOCK_LIST_HS_APPEND

REUSE_ALV_GRID_DISPLAY

ABAP4.6 sürümünden, sonuçları önizleme yerine tablo halinde görüntülemek için yeni bir işlev.

Parametreler: reuse_alv_list_display ile aynı

Not: Izgara yüksek hacimleri işleyemez. Sıralama, aşağı kaydırma gibi işlevler, görüntülenecek veri hacmi yüksekse çok fazla kaynak/zaman tüketir. Veri miktarı X ise liste veya ızgaraya gidilmesi, ancak geliştiricinin deneyimine dayanarak bir çağrı alması gerektiği gibi net bir tanım yoktur. Emin değilseniz listelemek daha iyi bir seçenektir

REUSE_ALV_COMMENTARY_WRITE

Bu, listenin başlıklarını ve diğer yorumlarını yazdırmak için Sayfanın Başı olayında kullanılır.

Önemli Parametreler

  • It_list_commentary : slis_t_listheader türündeki başlıkları içeren dahili tablo.

Bu dahili tablonun üç alanı vardır:

  1. Tip: 'H' – başlık, 'S' – seçim, 'A' – eylem
  2. Anahtar : yalnızca tip 'S' olduğunda.
  3. Bilgi: yazdırılacak metin

Raporu Engelle

Basit bir rapor gibi görünse de bu rapor sadece sıralama ve filtreleme özelliğine sahiptir. Çıktıda birden fazla rapor görüntülemeniz gerekiyorsa bu rapor kullanılır. Teknik olarak konuşursak, ayrı bloklar halinde görüntülenecek verileri içeren birden fazla dahili tablonuz varsa, ALV'nin blok raporunu tercih ederiz.

Bu raporu oluşturmak için kullanılan önemli işlevler şunlardır:

  • REUSE_ALV_BLOCK_LIST_INIT
  • REUSE_ALV_BLOCK_LIST_APPEND
  • REUSE_ALV_BLOCK_LIST_DISPLAY

REUSE_ALV_BLOCK_LIST_INIT

Bu işlev modülü, varsayılan gui durumunu vb. ayarlamak için kullanılır. Parametreler, reuse_alv_list_display veya reuse_alv_grid_display'de kullanılanlara benzer.

REUSE_ALV_BLOCK_LIST_APPEND

Bu fonksiyon modülü verileri bloğa ekler.

Önemli Parametreler

1.İhracat:

  • is_layout : blok için düzen ayarları
  • it_fieldcat : alan kataloğu
  • I_tabname : tüm olası olayları içeren dahili tablo adı

2.Tablolar:

  • t_outtab : çıkış verilerini içeren dahili tablo.

REUSE_ALV_BLOCK_LIST_DISPLAY

Bu işlev modülü, yukarıdaki işlevin eklediği verileri içeren listeyi görüntüler.

Parametreler : Tüm parametreler isteğe bağlıdır.

Hiyerarşik Raporlar

Hiyerarşik görüntüleme, ilişkili verileri görüntülemek için kullanılır. Satış siparişi ve ürün ayrıntıları gibi. Burada satış siparişi ayrıntıları başlık verisi olabilirken satış siparişindeki ürünler ürün verisi olabilir

Bunun için kullanılan fonksiyon modülü:

REUSE_ALV_HIERSEQ_LIST_DISPLAY

İhracat:

  • I_CALLBACK_PROGRAM
  • I_CALLBACK_PF_STATUS_SET
  • I_CALLBACK_USER_COMMAND
  • IS_LAYOUT
  • It_fieldcat
  • It_events
  • I_tabname_header : Programdaki en yüksek hiyerarşi seviyesinin çıktı verilerini içeren dahili tablonun adı.
  • I_tabname_item : Programdaki en düşük hiyerarşi seviyesinin çıkış verilerini içeren dahili tablonun adı.
  • Is_keyinfo : Bu yapı, iki tabloyu (paylaşılan anahtar) birbirine bağlayan başlık ve öğe tablosu alan adlarını içerir.

tablolar

  • t_outtab_header : Çıktısı alınacak verileri içeren başlık tablosu
  • t_outtab_item : Programdaki en düşük hiyerarşi seviyesinin çıkış verilerini içeren dahili tablonun adı.

Dahili tabloların, yapıların ve sabitlerin tüm tanımları, adı verilen bir tür havuzunda bildirilir. SLIS. Bu dahili tablo REUSE_ALV_FIELDCATALOG_MERGE' kullanılarak otomatik olarak doldurulabilir.

Ekran Varyantları

  • Görüntüleme değişkenleri, bir alv çıktısının sıralama kriterleri, filtreleme kriterleri, toplam ve alt toplam vb. gibi varsayılan özelliklerini ayarlamak için kullanılır.
  • Ekran çeşitleri kullanıcıya özel ve standart olabilir (standart çeşitler herhangi bir kullanıcı tarafından kullanılabilir)
  • Kaydedilebilecek ekran çeşitleri, reuse_alv_list_display / reuse_alv_grid_display işlev modüllerinde iletilen i_save parametresi tarafından kontrol edilir
  • Hangi ekran varyantının kullanılacağını seçmek için seçim ekranında bir seçenek sunabilirsiniz

Ekran değişkenlerinin seçilmesi/doğrulanmasıyla ilgili ortak işlev modülleri şunlardır:

  1. Reuse_alv_variant_default_get
  2. Reuse_alv_variant_f4
  3. Reuse_alv_variant_existence

Hepsi bu kadar ABAP – ALV programlama!