ALV (ABAP LIST VIEWER)

ALV (ABAP LIST VIEWER)

SAP’ nin standart liste görüntüleyicisidir (ABAP List Viewer). İnternal tablodaki bilgileri standart liste formatında görüntüler. Standart bir liste formatı ve kullanıcı arayüzü sağlar. Hazır fonksiyonları sayesinde geliştirme zamanını önemli derecede azaltır.

Liste çıktısını oluşturmak için iki temel parametreye ihtiyaç vardır.

1. Veri tablosu: ALV’ de gösterilmek istenen internal tablodur

2. Sütun bilgileri: Sütun başlığı, genişliği gibi bilgilerdir.

ALV birçok hazır fonksiyona sahiptir. Bazı hazır fonksiyonlar,

  • Sıralama
  • Filtreleme
  • Alt toplam ve tra toplam alma
  • Raporu çeşitli formatlarda bilgisayara kaydetme
  • Sütunların sırasını değiştirme, istenmeyen sütunları gizleme ve variant olarak sütun sırasının kaydedilmesi

ALV fonksiyonlarının olduğu araç çubuğu.

ALV çıktısı klasik veya nesne tabanlı (OO) alv foksiyonlar kullanılabilir.

Klasik ALV raporlarında kullanılacak bazı fonksiyonlar aşağıdaki tablodadır.

Fonksiyon Modül Tanım
REUSE_ALV_GRID_DISPLAY Veriyi ızgara (grid) içerisinde gösteren fonksiyon
REUSE_ALV_LIST_DISPLAY Veriyi standart liste çıktısı olarak gösteren fonksiyon
REUSE_ALV_HIERSEQ_LIST_DISPLAY Veriyi hiyerarşik sıralı liste içerisinde gösteren fonksiyon
REUSE_ALV_POPUP_TO_SELECT Popup pencerede bir listeden seçim yapılmasını sağlayan fonksiyon
REUSE_ALV_COMMENTARY_WRITE ALV’ ye başlık alanı ekler
REUSE_ALV_VARIANT_F4 Seçim ekranında variant seçimi yapılmasını sağlar
REUSE_ALV_VARIANT_DEFAULT_GET Varsayılan görüntü varyantını getirir
REUSE_ALV_VARIANT_EXISTENCE Bir variant’ ın üst birimde bulunup bulunmadığını kontrol eder
REUSE_ALV_FIELDCATALOG_MERGE Abap dictionary’ deki nesnelerden veya internal tablodan alan kataloğu oluşturmak için kullanılır
REUSE_ALV_EVENTS_GET ALV için kullanılabilecek olayların (events) listesini verir

REUSE_ALV_GRID_DISLAY

Parametre olarak verilerin internal tabloyu hücresel formatta görüntüler.

Sütun bilgilerini aktarmak için “I_STRUCTURE_NAME” parametresi veya “IT_FIELDCAT” parametresi kullanılır.

I_STRUCTURE_NAME: Abap dictionary’ deki tanımlı bir yapıdır. Structure, tablo, tablo tipi gibi. Bu parametre kullanıldığında yapıdaki tüm sütunlar ALV’ de gösterilmeye çalışılır.

IT_FIELDCAT: Sütun bilgilerini içeren internal tabloyu (field catalog) parametre olarak alır.

Alan kataloğu internal tablosu üç yönetim ile hazırlanabilir.

1. Alan kataloğu internal tablosunu el ile oluşturarak

2. Alan kataloğu internal tablosunu fonksiyon ile Abap Dictionary’ daki structure, tablo veya tablo tiplerinden oluşturarak

3. Önce Abap dictionary’ deki nesnelerden oluşturulur, daha sonra istenilen şekilde düzeltilerek

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
I_INTERFACE_CHECK SPACE X Arayüz tutarlılık denetimi. Liste görünümünde &SOS komutu ile de çalışır.
I_BYPASSING_BUFFER TYPE CHAR01 SPACE X X Bufferları (tampon) göz ardı et
I_BUFFER_ACTIVE SPACE X X Buffer (tamponlama) aktif
I_CALLBACK_PROGRAM LIKE SY-REPID SPACE X Fonksiyonu çağıran program ismi
I_CALLBACK_PF_STATUS_SET TYPE SLIS_FORMNAME SPACE X GUI status alt yordam ismi
I_CALLBACK_USER_COMMAND TYPE SLIS_FORMNAME SPACE X Kullanıcı komutu yakalamak için alt yordam ismi
I_CALLBACK_TOP_OF_PAGE TYPE SLIS_FORMNAME SPACE X TOP-OF-PAGE için alt yordam ismi
I_CALLBACK_HTML_TOP_OF_PAGE TYPE SLIS_FORMNAME SPACE X HTML TOP-OF-PAGE için alt yordam ismi
I_CALLBACK_HTML_END_OF_LIST TYPE SLIS_FORMNAME SPACE X HTML END-OF-LIST için alt yordam ismi
I_STRUCTURE_NAME LIKE DD02L-TABNAME X Abap dictionary içerisindeki structure
I_BACKGROUND_ID TYPE SDYDO_KEY SPACE X Top-of-Page alanındaki çıktı için arkaplan parametresi
I_GRID_TITLE TYPE LVC_TITLE X ALV’nin başlık metni
I_GRID_SETTINGS TYPE LVC_S_GLAY X Top-of-Page ve End-of-List görünümleri için görünüm ayarları
IS_LAYOUT TYPE SLIS_LAYOUT_ALV X Listenin görünüm düzeni
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV X Sütun bilgilerini içeren alan kataloğu (field catalog) internal tablosu
IT_EXCLUDING TYPE SLIS_T_EXTAB X Görünmemesi istenen ALV fonksiyonlarını aktarmak için kullanılan internal tablo
IT_SPECIAL_GROUPS TYPE SLIS_T_SP_GROUP_ALV X Sütun seçimi için alanların gruplama bilgisi
IT_SORT TYPE SLIS_T_SORTINFO_ALV X Çıktı için sıralama bilgisi
IT_FILTER TYPE SLIS_T_FILTER_ALV X Çıktı için filtreleme bilgisi
IS_SEL_HIDE TYPE SLIS_SEL_HIDE_ALV X Artık desteklenmiyor
I_DEFAULT ‘X’ X Başlangıç variant seçimini aktif veya pasif yapar
I_SAVE SPACE X Aldığı parametrelere göre variant’ ın saklanmasına izin verir.
IS_VARIANT LIKE DISVARIANT Variant saklanacak ise kullanılır. Variant bilgilesi aktarılır
IT_EVENTS TYPE SLIS_T_EVENT X Kullanılacak olayların listes
IT_EVENT_EXIT TYPE SLIS_T_EVENT_EXIT X Standart ALV fonksiyonları internal tablosu. Burada belirtilen fonksiyonlar USER_COMMAND fonksiyonuna düşmesi
IS_PRINT TYPE SLIS_PRINT_ALV X Çıktı bilgisi
IS_REPREP_ID TYPE SLIS_REPREP_ID X Arayüz başlangıç anahtarı
I_SCREEN_START_COLUMN 0 X Listenin sütun başlangıç pozisyonu. Sadece dialog liste’ te görünecek ise kullanılır
I_SCREEN_START_LINE 0 X Listenin satır başlangıç pozisyonu. Sadece dialog liste’ te görünecek ise kullanılır
I_SCREEN_END_COLUMN 0 X Listenin sütun bitiş pozisyonu. Sadece dialog liste’ te görünecek ise kullanılır
I_SCREEN_END_LINE 0 X Listenin satır bitiş pozisyonu. Sadece dialog liste’ te görünecek ise kullanılır
I_HTML_HEIGHT_TOP TYPE I 0 X HTML_TOP_OF_PAGE yüksekliği
I_HTML_HEIGHT_END TYPE I 0 X HTML_END_OF_PAGE yüksekliği
IT_ALV_GRAPHICS TYPE DTC_T_TC X ALV grafiği için parametre
IT_HYPERLINK TYPE LVC_T_HYPE X Hiperlink
IT_ADD_FIELDCAT TYPE SLIS_T_ADD_FIELDCAT X Ek alan kataloğu bilgileri
IT_EXCEPT_QINFO TYPE SLIS_T_QINFO_ALV X
IR_SALV_FULLSCREEN_ADAPTER TYPE REF TO CL_SALV_FULLSCREEN_ADAPTER X Kullanılamaz
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
E_EXIT_CAUSED_BY_CALLER CALLBACK_USER_COMMAND çıkış parametresi
ES_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER Kullanıcının ALV’ den çıkarken hangi butonu kullandığı bilgisi
TABLES
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
T_OUTTAB ALV’ de gösterilecek veri
EXCEPTIONS
Exception Tanım
PROGRAM_ERROR Program hatası

Örnek 1: “I_STRUCTURE_NAME” parametresi kullanılan örnek. Abap dictionary’ deki yapı ALV’ nin sütunlarını oluşturmak için kullanılır.

DATA: gt_spfli TYPE STANDARD TABLE OF spfli,
gv_repid TYPE sy-repid.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF  TABLE gt_spfli.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
i_structure_name    = ‘SPFLI’
i_save              = ‘A’
TABLES
t_outtab            = gt_spfli.


Örnek 2: “IT_FIELDCAT” parametresi kullanılan örnek. Sütun bilgileri, satır satır internal tabloya ekleniyor ve fonksiyona veriliyor.

TYPE-POOLS: slis.

DATA: gt_fieldcat  TYPE slis_t_fieldcat_alv,
gs_fieldcat  TYPE slis_fieldcat_alv.
Veri tablosu tipi tanımlanıyor
DATA  gt_sbook TYPE STANDARD TABLE OF sbook.
DATA gv_repid TYPE sy-repid.
Veri tablosu dolduruluyor
SELECT * FROM sbook INTO CORRESPONDING FIELDS OF TABLE gt_sbook.
Alan kataloğu dolduruluyor
gs_fieldcat-fieldname  = ‘CARRID’.
gs_fieldcat-seltext_m  = ‘ID’.
gs_fieldcat-outputlen  = 7.
APPEND gs_fieldcat TO gt_fieldcat.
gs_fieldcat-fieldname  = ‘CONNID’.
gs_fieldcat-seltext_m  = ‘No’.
gs_fieldcat-outputlen  = 8.
APPEND gs_fieldcat TO gt_fieldcat.
gs_fieldcat-fieldname  = ‘FLDATE’.
gs_fieldcat-seltext_m  = ‘Uçuş tarihi’.
gs_fieldcat-outputlen  = 9.
APPEND gs_fieldcat TO gt_fieldcat.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
it_fieldcat         = gt_fieldcat
i_save              = ‘A’
TABLES
t_outtab            = gt_sbook
EXCEPTIONS
program_error       = 1
OTHERS              = 2.

Açıklama: Structure’ a atanan aşağıdaki değerler “slis_t_fieldcat_alv” tablo tipindeki internal tabloya eklenir. İnternal tabloya eklenen her bir satır ALV’ de bir sütuna karşılık gelir.

  • (fieldname): Veri tablosunda gösterilecek alan
  • (seltext_m): Alanın sütun başlığı
  • (outputlen) :Alanın sütun genişliği

Örnek 3: Abap dictionary’ deki bir yapıdaki alan bilgilerinden sütun bilgileri oluşturuluyor. Sütun başlığı, genişliği gibi bilgiler yapıdaki alanların özelliklerinden (data element ve domain) oluşturulur.

TYPE-POOLS: slis.
DATA : gt_sbook TYPE STANDARD TABLE OF sbook,
gv_repid TYPE sy-repid.
DATA  gt_fieldcat  TYPE slis_t_fieldcat_alv.
SELECT * FROM sbook INTO CORRESPONDING FIELDS OF TABLE gt_sbook.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’
EXPORTING
i_program_name           = gv_repid
i_structure_name         = ‘SBOOK’
CHANGING
ct_fieldcat             = gt_fieldcat
EXCEPTIONS
inconsistent_interface   = 1
program_error            = 2
OTHERS                   = 3.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
it_fieldcat         = gt_fieldcat
i_save              = ‘A’
TABLES
t_outtab            = gt_sbook
EXCEPTIONS
program_error       = 1
OTHERS              = 2.

Örnek 4: “REUSE_ALV_FIELDCATALOG_MERGE” fonksiyonu kullanılarak sütun bilgilerini Abap dictionary’ deki bir yapıdan alan ve daha sonra sütun bilgilerinde değişiklik yapan örnek.

TYPE-POOLS: slis.
* Alan kataloğu tanımlanıyor
DATA: gt_fieldcat  TYPE slis_t_fieldcat_alv,
gs_fieldcat  TYPE slis_fieldcat_alv.
* Veri tablosu tipi tanımlanıyor
DATA  gt_sbook     TYPE STANDARD TABLE OF sbook.
DATA gv_repid TYPE sy-repid.
* Veri tablosu dolduruluyor
SELECT * FROM sbook INTO CORRESPONDING FIELDS OF TABLE gt_sbook.
* Alan kataloğu internal tablodan oluşturuluyor
CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’
EXPORTING
i_program_name           = gv_repid
i_structure_name         = ‘SBOOK’
CHANGING
ct_fieldcat             = gt_fieldcat
EXCEPTIONS
inconsistent_interface   = 1
program_error            = 2
OTHERS                   = 3.
* Otomatik oluşturulan alan kataloğunu üzerinde değişiklik
LOOP AT gt_fieldcat INTO gs_fieldcat WHERE fieldname = ‘CARRID’.
gs_fieldcat-seltext_m  = ‘Yeni ID’.
gs_fieldcat-outputlen  = 12.
MODIFY gt_fieldcat FROM gs_fieldcat.
ENDLOOP.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
it_fieldcat         = gt_fieldcat
i_save              = ‘A’
TABLES
t_outtab            = gt_sbook
EXCEPTIONS
program_error       = 1
OTHERS              = 2.

REUSE_ALV_LIST_DISPLAY

Parametre olarak verilerin internal tabloyu liste formatında görüntüler. Kullanım olarak “REUSE_ALV_GRID_DISPLAY” fonksiyonuna çok benzer, aldığı parametre sayısı daha azdır.

Sütun bilgilerini aktarmak için “I_STRUCTURE_NAME” parametresi veya “IT_FIELDCAT” parametresi kullanılır.

I_STRUCTURE_NAME: Abap dictionary’ deki tanımlı bir yapıdır. Structure, tablo, tablo tipi gibi. Bu parametre kullanıldığında yapıdaki tüm sütunlar ALV’ de gösterilmeye çalışılır.

IT_FIELDCAT: Sütun bilgilerini içeren internal tabloyu (field catalog) parametre olarak alır.

Alan kataloğu internal tablosu üç yönetim ile hazırlanabilir.

1. Alan kataloğu internal tablosunu el ile oluşturarak

2. Alan kataloğu internal tablosunu fonksiyon ile Abap Dictionary’ daki structure, tablo veya tablo tiplerinden oluşturarak

3. Önce Abap dictionary’ deki nesnelerden oluşturulur, daha sonra istenilen şekilde düzeltilerek

Örnek 1: “I_STRUCTURE_NAME” parametresi kullanılan örnek. Abap dictionary’ deki yapı ALV’ nin sütunlarını oluşturmak için kullanılır.

DATA: gt_spfli TYPE STANDARD TABLE OF spfli,
gv_repid TYPE sy-repid.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
i_structure_name    = ‘SPFLI’
i_save              = ‘A’
TABLES
t_outtab            = gt_spfli.

Örnek 2: “IT_FIELDCAT” parametresi kullanılan örnek. Sütun bilgileri, satır satır internal tabloya ekleniyor ve fonksiyona veriliyor.

TYPE-POOLS: slis.
* Alan kataloğu tanımlanıyor
DATA: gt_fieldcat  TYPE slis_t_fieldcat_alv,
gs_fieldcat  TYPE slis_fieldcat_alv.
* Veri tablosu tip tanımlanıyor
DATA: gt_sbook     TYPE STANDARD TABLE OF sbook.
DATA gv_repid TYPE sy-repid.
* Veri tablosu dolduruluyor
SELECT * FROM sbook INTO CORRESPONDING FIELDS OF TABLE gt_sbook.
* Alan kataloğu dolduruluyor
gs_fieldcat-fieldname  = ‘CARRID’.
gs_fieldcat-seltext_m  = ‘Hava Alanı’.
APPEND gs_fieldcat TO gt_fieldcat.
gs_fieldcat-fieldname  = ‘CONNID’.
gs_fieldcat-seltext_m  = ‘Bağlantı No.’.
APPEND gs_fieldcat TO gt_fieldcat.
gs_fieldcat-fieldname  = ‘FLDATE’.
gs_fieldcat-seltext_m  = ‘Tarih’.
APPEND gs_fieldcat TO gt_fieldcat.
gs_fieldcat-fieldname  = ‘BOOKID’.
gs_fieldcat-seltext_m  = ‘Rezervasyon ID’.
APPEND gs_fieldcat TO gt_fieldcat.
gs_fieldcat-fieldname  = ‘PASSNAME’.
gs_fieldcat-seltext_m  = ‘Yolcu İsmi’.
APPEND gs_fieldcat TO gt_fieldcat.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
it_fieldcat         = gt_fieldcat
i_save              = ‘A’
TABLES
t_outtab            = gt_sbook
EXCEPTIONS
program_error       = 1
OTHERS              = 2.

Örnek 3: “I_INTERFACE_CHECK” parametresi kullanılarak çalıştırılan ALV örneği. Bu parametre geliştirme ve test amaçlı kullanım için uygundur.

DATA: gt_spfli TYPE STANDARD TABLE OF spfli,
gv_repid TYPE sy-repid.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
EXPORTING
i_interface_check   = ‘X’
i_callback_program  = gv_repid
i_structure_name    = ‘SPFLI’
i_save              = ‘A’
TABLES
t_outtab            = gt_spfli.

Program çalıştığında Alan kataloğu ile ilgili bilgieri görüntüler. Araç çubuğundan istenilen internal tablo görüntülenebilir.

Liste çıktısını görebilmek için geriye gitmek veya araç çubuğundan “Çıktı tablosu” butonuna tıklamak gerekir.

REUSE_ALV_HIERSEQ_LIST_DISPLAY

Hiyerarşik sıralı çıktı çıktı oluşturur. İki tane internal tabloyu formatlı ve sıralı biçimde görüntüler. Aldığı parametrelerin çoğu “REUSE_ALV_GRID_DISPLAY” ve “REUSE_ALV_LIST_DISPLAY” fonksiyonu ile aynıdır. Ek olarak detay olarak gösterilecek internal tablo bilgileri ve iki tablo arasındaki anahtar alanlar parametre olarak gönderilir.

Parametre Açıklama Fonksiyon
I_TABNAME_HEADER Başlık olarak gösterilecek internal tablo ismi IMPORT
I_TABNAME_ITEM Detay olarak gösterilecek internal tablo ismi IMPORT
IS_KEYINFO İki tablo arasındaki anahtar alan bağlantısı IMPORT
T_OUTTAB_HEADER Başlık olarak gösterilecek internal tablo TABLES
T_OUTTAB_ITEM Detay olarak gösterilecek internal tablo TABLES

Örnek: SFLIGHT tablosunu başlık SPFLI tablosunun detay olarak gösterildiği hiyerarşik ALV örneği.

TYPE-POOLS: slis.
DATA: gt_fieldcat_spfli   TYPE slis_t_fieldcat_alv,
gt_fieldcat_sflight TYPE slis_t_fieldcat_alv.
TYPES: BEGIN OF gy_sflight,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
expand(1) TYPE c,
END OF gy_sflight.
DATA: gt_sflight TYPE STANDARD TABLE OF gy_sflight,
gt_spfli TYPE STANDARD TABLE OF spfli.
START-OF-SELECTION.
PERFORM tablolari_doldur.
PERFORM alankatalogu_olustur.
PERFORM tablolari_goster.
FORM tablolari_doldur .
SELECT * FROM sflight
INTO CORRESPONDING FIELDS OF TABLE gt_sflight.
SELECT * FROM spfli
INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
ENDFORM.              ” TABLOLARI_DOLDUR
FORM alankatalogu_olustur .
DATA : gs_fieldcat  TYPE slis_fieldcat_alv.
gs_fieldcat-col_pos    = 1.
gs_fieldcat-fieldname  = ‘CARRID’.
gs_fieldcat-tabname    = ‘GT_SFLIGHT’.
gs_fieldcat-seltext_m  = ‘Hava Alanı’.
APPEND gs_fieldcat TO gt_fieldcat_sflight.
gs_fieldcat-col_pos    = 2.
gs_fieldcat-fieldname  = ‘CONNID’.
gs_fieldcat-tabname    = ‘GT_SFLIGHT’.
gs_fieldcat-seltext_m  = ‘Bağlantı No.’.
APPEND gs_fieldcat TO gt_fieldcat_sflight.
gs_fieldcat-col_pos    = 3.
gs_fieldcat-fieldname  = ‘FLDATE’.
gs_fieldcat-tabname    = ‘GT_SFLIGHT’.
gs_fieldcat-seltext_m  = ‘Uçuş Tarihi.’.
APPEND gs_fieldcat TO gt_fieldcat_sflight.
gs_fieldcat-fieldname  = ‘COUNTRYFR’.
gs_fieldcat-tabname    = ‘GT_SPFLI’.
gs_fieldcat-seltext_m  = ‘Ülke’.
APPEND gs_fieldcat TO gt_fieldcat_sflight.
gs_fieldcat-fieldname  = ‘CITYFROM’.
gs_fieldcat-tabname    = ‘GT_SPFLI’.
gs_fieldcat-seltext_m  = ‘Şehir’.
APPEND gs_fieldcat TO gt_fieldcat_sflight.
gs_fieldcat-fieldname  = ‘AIRPFROM’.
gs_fieldcat-tabname    = ‘GT_SPFLI’.
gs_fieldcat-seltext_m  = ‘Havaalanı’.
APPEND gs_fieldcat TO gt_fieldcat_sflight.
ENDFORM.                    ” ALANKATALOGU_OLUSTUR
FORM tablolari_goster .
DATA: lv_tabname_header  TYPE slis_tabname,
lv_tabname_item    TYPE slis_tabname,
lv_keyinfo         TYPE slis_keyinfo_alv,
lv_repid           TYPE sy-repid,
ls_layout          TYPE slis_layout_alv.
lv_repid = sy-repid.
ls_layout-expand_fieldname  = ‘EXPAND’.
ls_layout-window_titlebar   = ‘Hiyerarşik ALV Örneği’.
ls_layout-colwidth_optimize = ‘X’.
lv_tabname_header    = ‘GT_SFLIGHT’.
lv_tabname_item      = ‘GT_SPFLI’.
lv_keyinfo-header01  = ‘CARRID’.
lv_keyinfo-item01    = ‘CARRID’.
lv_keyinfo-header02  = ‘CONNID’.
lv_keyinfo-item02    = ‘CONNID’.
CALL FUNCTION ‘REUSE_ALV_HIERSEQ_LIST_DISPLAY’
EXPORTING
i_callback_program      = lv_repid
is_layout               = ls_layout
it_fieldcat             = gt_fieldcat_sflight
i_save                  = ‘A’
i_tabname_header        = lv_tabname_header
i_tabname_item          = lv_tabname_item
is_keyinfo              = lv_keyinfo
TABLES
t_outtab_header         = gt_sflight
t_outtab_item           = gt_spfli.
ENDFORM.                    <I>” TABLOLARI_GOSTER</I>

REUSE_ALV_BLOCK_LIST_APPEND

Birden fazla Listeyi ard arda görüntüler. Veri tablosu ve alan kataloğu oluşturulan listeler sırasıyla eklenir. Daha sonra “REUSE_ALV_BLOCK_LIST_DISPLAY” fonksiyonu ile eklenen listeler görüntülenir.

Aşağıdaki parametreler zorunludur.

· IS_LAYOUT

· IT_FIELDCAT

· I_TABNAME

· IT_EVENTS

Örnek: Ard arda iki tane ayrı listenin eklendiği örnek.

TYPE-POOLS: slis.
DATA: gt_fieldcat_sflight TYPE slis_t_fieldcat_alv,
gt_fieldcat_spfli TYPE slis_t_fieldcat_alv.
DATA: gt_sflight TYPE STANDARD TABLE OF sflight,
gt_spfli TYPE STANDARD TABLE OF spfli.
START-OF-SELECTION.
PERFORM tablolari_doldur.
PERFORM alankatalogu_olustur.
PERFORM tablolari_goster.
FORM tablolari_doldur .
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
ENDFORM.                    <I>” TABLOLARI_DOLDUR</I>
FORM alankatalogu_olustur .
CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’
EXPORTING
i_structure_name             = ‘SFLIGHT’
CHANGING
ct_fieldcat                 = gt_fieldcat_sflight
EXCEPTIONS
inconsistent_interface       = 1
program_error                = 2
OTHERS                       = 3.
CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’
EXPORTING
i_structure_name             = ‘SPFLI’
CHANGING
ct_fieldcat                 = gt_fieldcat_spfli
EXCEPTIONS
inconsistent_interface       = 1
program_error                = 2
OTHERS                       = 3.
ENDFORM.                    ” ALANKATALOGU_OLUSTUR
FORM tablolari_goster .
DATA : lv_repid TYPE sy-repid,
ls_layout TYPE slis_layout_alv,
lt_events TYPE slis_t_event.
lv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_BLOCK_LIST_INIT’
EXPORTING
i_callback_program          = lv_repid.
CALL FUNCTION ‘REUSE_ALV_BLOCK_LIST_APPEND’
EXPORTING
is_layout                   = ls_layout
it_fieldcat                 = gt_fieldcat_sflight
i_tabname                   = ‘GT_SFLIGHT’
it_events                   = lt_events
TABLES
t_outtab                   = gt_sflight
EXCEPTIONS
program_error               = 1
maximum_of_appends_reached  = 2
OTHERS                        = 3.
CALL FUNCTION ‘REUSE_ALV_BLOCK_LIST_APPEND’
EXPORTING
is_layout                   = ls_layout
it_fieldcat                 = gt_fieldcat_spfli
i_tabname                   = ‘GT_SPFLI’
it_events                   = lt_events
TABLES
t_outtab                   = gt_spfli
EXCEPTIONS
program_error               = 1
maximum_of_appends_reached  = 2
OTHERS                      = 3.
CALL FUNCTION ‘REUSE_ALV_BLOCK_LIST_DISPLAY’
EXCEPTIONS
program_error                 = 1
OTHERS                        = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.                    ” TABLOLARI_GOSTER

REUSE_ALV_FIELDCATALOG_MERGE

Alan kataloğu (ALV’ deki sütun bilgileri) internal tablosunu otomatik olarak oluşturur. Fonksiyona gönderilen “I_INTERNAL_TABNAME” veya “I_STRUCTURE_NAME” parametresine göre alan kataloğu internal tablosunu doldurur.

“I_INTERNAL_TABNAME”: Program içerisinden aktarılan internal tabloya göre alan kataloğu tablosu doldurulur.

“I_STRUCTURE_NAME”: Abap dictionary içerisinde tanımlı, structure, tablo veya view kullanarak tabloyu doldurur.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
I_PROGRAM_NAME LIKE SY-REPID X X Fonksiyonu çağıran program
I_INTERNAL_TABNAME TYPE SLIS_TABNAME X X Alan kataloğu oluşturulacak internal tablo
I_STRUCTURE_NAME LIKE DD02L-TABNAME X X Alan kataloğu oluşturulacak Abap dictionary nenesi
I_CLIENT_NEVER_DISPLAY TYPE SLIS_CHAR_1 X X X Üst birim alanlarını gizle
I_INCLNAME LIKE TRDIR-NAME X X Include ismie
I_BYPASSING_BUFFER TYPE CHAR01 X X Tampon belleği kullanma
I_BUFFER_ACTIVE TYPE CHAR01 X X Özel tamponu aktif et
CHANGING
Parametre Tanım tipi İlişkili tip Ops. Dğr atn. Parametre açıklaması
CT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV X Alan kataloğu tablosu
EXCEPTIONS
Exception Tanım
INCONSISTENT_INTERFACE Çalıştırma parametreleri hatası
PROGRAM_ERROR Program hatası

“I_STRUCTURE_NAME” ile ilgili örnekler için “REUSE_ALV_GRID_DISPLAY” fonksiyonunun anlatıldığı 2. Ve 3. Örnekleri inceleyebilirsiniz.

REUSE_ALV_COMMENTARY_WRITE

ALV’ ye açıklama bilgisi ekler. Raporla ilgili bilgileri başlıkta açıklama alanında göstermek için kullanılır. Eklenmek istenen bilgiler satır satır internal tabloya eklenir ve fonksiyona parametre olarak gönderilir. “REUSE_ALV_GRID_DISPLAY” fonksiyonundan “I_CALLBACK_TOP_OF_PAGE” parametresine başlık fonksiyonun kullanıldığı alt yordam ismi yazılır.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
IT_LIST_COMMENTARY TYPE SLIS_T_LISTHEADER X Açıklama bilgisinin olduğu internal tablo
I_LOGO X Eklenecek logo ismi
I_END_OF_LIST_GRID X
I_ALV_FORM TYPE SAP_BOOL X

Örnek: Açıklama alanına rapor ismi, tarih, kayıt sayısı ve logo ekleyen örnek.

TYPE-POOLS: slis.
DATA: gt_spfli TYPE STANDARD TABLE OF spfli,
gv_repid LIKE sy-repid.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
* Program ismi gv_repid değikenine atanıyor
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program      = gv_repid
i_structure_name        = ‘SPFLI’
i_callback_top_of_page  = ‘TOP_OF_PAGE’
i_save                  = ‘A’
TABLES
t_outtab                = gt_spfli.
FORM top_of_page.
DATA: lt_header    TYPE slis_t_listheader,
ls_header    TYPE slis_listheader,
lv_lines     TYPE i,
lv_linesc(4) TYPE c.
* Başlık alanına rapor ismi yazılıyor
ls_header-typ  = ‘H’.
ls_header-key  = ”.
ls_header-info = gv_repid.
APPEND ls_header TO lt_header.
* Günün tarihi ekleniyor
CLEAR ls_header.
ls_header-typ = ‘S’.
ls_header-key = ‘Tarih: ‘.
WRITE sy-datum TO ls_header-info.
APPEND ls_header TO lt_header.
CLEAR: ls_header.
* İnternal tablodaki kayıt sayısı ekleniyor
CLEAR ls_header.
* İnternal tablodaki kayıt sayısı lv_lines değişkenine atanıyor
DESCRIBE TABLE gt_spfli LINES lv_lines.
lv_linesc = lv_lines.
CONCATENATE ‘Toplam kayıt sayısı: ‘ lv_linesc INTO ls_header-info SEPARATED BY space.
ls_header-typ  = ‘A’.
APPEND ls_header TO lt_header.
CALL FUNCTION ‘REUSE_ALV_COMMENTARY_WRITE’
EXPORTING
it_list_commentary   = lt_header
i_logo               = ‘ENJOYSAP_LOGO’.
ENDFORM.

REUSE_ALV_VARIANT_F4

ALV variantının seçilmesini seçilmesini sağlayan bir pencere (dialog) açar. Variant listesinin hali hazırda kaydedilmiş variant/variantların olması gerekir. Çalıştırılmadan önce “IS_VARIANT” import paremetresindeki “REPORT” değişkenine raporun ismi atanmalıdır. Pencereden seçim yapıldıktan sonra ALV fonksiyonuna seçilen ALV bilgileri yine “IS_VARIANT” parametresi ile aktarılır.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
IS_VARIANT LIKE DISVARIANT X Variant bilgileri
I_TABNAME_HEADER TYPE SLIS_TABNAME X X Tablo ismi balığı
I_TABNAME_ITEM TYPE SLIS_TABNAME X X Tablo ismi kalemi
IT_DEFAULT_FIELDCAT TYPE X X Alan kataloğu internal tablosu
I_SAVE SLIS_T_FIELDCAT_ALV SPACE X X Variant saklama seçeneği
I_DISPLAY_VIA_GRID TYPE CHAR01 SPACE X X Izgara biçiminde göster
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
E_EXIT X İptal seçildi
ES_VARIANT LIKE DISVARIANT X Variant bilgisi
EXCEPTIONS
Exception Tanım
NOT_FOUND Variant bulunamadı
PROGRAM_ERROR Program hatası

Örnek 1: Seçim ekranında variant seçim parametresi olan ve bu parametreden seçilen varainta göre ALV’ nin düzeninin değiştiği örnek. Variant listesini seçim ekranında görmek için önce ALV listesinde variant kaydedilmesi gerekir. Kaydedilen variant daha sonra rapor her çalıştığında seçim ekranında seçilebilir.

DATA gt_spfli TYPE STANDARD TABLE OF spfli.
PARAMETER : p_varia TYPE disvariant-variant.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.
PERFORM f4_variant.
START-OF-SELECTION.
PERFORM alv_goster.
FORM alv_goster .
DATA : ls_variant TYPE disvariant,
lv_repid   TYPE sy-repid.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
lv_repid           = sy-repid.
ls_variant-report  = lv_repid.
ls_variant-variant = p_varia.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = lv_repid
i_structure_name   = ‘SPFLI’
i_save             = ‘A’
is_variant         = ls_variant
TABLES
t_outtab           = gt_spfli.
ENDFORM.
FORM f4_variant .
DATA: ls_variant TYPE disvariant,
lv_save(1) TYPE c VALUE ‘A’,
lv_exit(1) TYPE c.
CLEAR ls_variant.
ls_variant-report = sy-repid.
CALL FUNCTION ‘REUSE_ALV_VARIANT_F4’
EXPORTING
is_variant    = ls_variant
i_save        = lv_save
IMPORTING
e_exit        = lv_exit
es_variant    = ls_variant
EXCEPTIONS
not_found     = 1
program_error = 2
OTHERS        = 3.
IF sy-subrc = 0 AND lv_exit = space.
p_varia = ls_variant-variant.
ENDIF.
ENDFORM.

P_VARIA parametresi üzerinde F4 yardımı kullanıldığında, kaydedilmiş olan varaint listesi görünür. Bu listeden seçim yapılarak rapor çalıştığında düzen seçilen varaint’ a göre gelir.

REUSE_ALV_VARIANT_DEFAULT_GET

ALV raporuna ait varsayılan varaint’ ı elde etmek için kullanılır.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
I_SAVE SPACE X X Varaint saklama seçeneği
EXPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
CS_VARIANT LIKE DISVARIANT X Variant bilgileri
EXCEPTIONS
Exception Tanım
WRONG_INPUT Yanlış giriş paremetresi
NOT_FOUND Variant bulunamadı
PROGRAM_ERROR Program hatası

Örnek: ALV’ ye ait varsayılan variant varsa bunu seçim ekranındaki variant parametresine taşıyan örnek.

DATA gt_spfli TYPE STANDARD TABLE OF spfli.
PARAMETER : p_varia TYPE disvariant-variant.
INITIALIZATION.
PERFORM varsayilan_varainti_bul.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.
PERFORM f4_variant.
START-OF-SELECTION.
PERFORM alv_goster.

FORM varsayilan_varainti_bul .
DATA: ls_variant TYPE disvariant,
lv_save(1) TYPE c VALUE ‘A’.
CLEAR ls_variant.
ls_variant-report = sy-repid.
CALL FUNCTION ‘REUSE_ALV_VARIANT_DEFAULT_GET’
EXPORTING
i_save      = lv_save
CHANGING
cs_variant  = ls_variant
EXCEPTIONS
wrong_input         = 1
not_found           = 2
program_error       = 3
OTHERS              = 4.
IF sy-subrc = 0.
p_varia = ls_variant-variant.
ENDIF.
ENDFORM.
FORM f4_variant .
DATA: ls_variant TYPE disvariant,
lv_save(1) TYPE c VALUE ‘A’,
lv_exit(1) TYPE c.
CLEAR ls_variant.
ls_variant-report = sy-repid.
CALL FUNCTION ‘REUSE_ALV_VARIANT_F4’
EXPORTING
is_variant    = ls_variant
i_save        = lv_save
IMPORTING
e_exit        = lv_exit
es_variant    = ls_variant
EXCEPTIONS
not_found     = 1
program_error = 2
OTHERS        = 3.
IF sy-subrc = 0 AND lv_exit = space.
p_varia = ls_variant-variant.
ENDIF.
ENDFORM.
FORM alv_goster .
DATA : ls_variant TYPE disvariant,
lv_repid   TYPE sy-repid.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
lv_repid           = sy-repid.
ls_variant-report  = lv_repid.
ls_variant-variant = p_varia.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = lv_repid
i_structure_name   = ‘SPFLI’
i_save             = ‘A’
is_variant         = ls_variant
TABLES
t_outtab           = gt_spfli.
ENDFORM.

Bu ALV’ ye ait varsayılan varaint “INITIALIZATION” sürecinde bulunarak ekrandaki “P_VARIA” parametresine taşınır.

REUSE_ALV_VARIANT_EXISTENCE

Bir varaint’ ın mevcut olup olmadığı kontrolünü yapar.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
I_SAVE SPACE X X Varaint saklama seçeneği
CHANGING
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
CS_VARIANT LIKE DISVARIANT X Variant bilgileri
EXCEPTIONS
Exception Tanım
WRONG_INPUT Yanlış giriş paremetresi
NOT_FOUND Variant bulunamadı
PROGRAM_ERROR Program hatası

Örnek: Seçilen variant’ ın sistemde bulunup, bulunmadığını kontrol eden örnek.

DATA gt_spfli TYPE STANDARD TABLE OF spfli.
PARAMETER : p_varia TYPE disvariant-variant.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.
PERFORM f4_variant.
START-OF-SELECTION.
PERFORM variant_kontrolu.
PERFORM alv_goster.
FORM f4_variant .
DATA: ls_variant TYPE disvariant,
lv_save(1) TYPE c VALUE ‘A’,
lv_exit(1) TYPE c.
CLEAR ls_variant.
ls_variant-report = sy-repid.
CALL FUNCTION ‘REUSE_ALV_VARIANT_F4’
EXPORTING
is_variant    = ls_variant
i_save        = lv_save
IMPORTING
e_exit        = lv_exit
es_variant    = ls_variant
EXCEPTIONS
not_found     = 1
program_error = 2
OTHERS        = 3.
IF sy-subrc = 0 AND lv_exit = space.
p_varia = ls_variant-variant.
ENDIF.
ENDFORM.
FORM variant_kontrolu .
DATA: ls_variant TYPE disvariant,
lv_save(1) TYPE c VALUE ‘A’.
IF p_varia IS NOT INITIAL.
ls_variant-report   = sy-repid.
ls_variant-variant  = p_varia.
CALL FUNCTION ‘REUSE_ALV_VARIANT_EXISTENCE’
EXPORTING
i_save              = lv_save
CHANGING
cs_variant         = ls_variant
EXCEPTIONS
wrong_input         = 1
not_found           = 2
program_error       = 3
OTHERS              = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDFORM.                    ” VARIANT_KONTROLU
FORM alv_goster .
DATA : ls_variant TYPE disvariant,
lv_repid   TYPE sy-repid.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
lv_repid           = sy-repid.
ls_variant-report  = lv_repid.
ls_variant-variant = p_varia.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = lv_repid
i_structure_name   = ‘SPFLI’
i_save             = ‘A’
is_variant         = ls_variant
TABLES
t_outtab           = gt_spfli.
ENDFORM.

Seçim ekranında “P_VARIA” parametresine yazılan varaint sistemde bulunuyor ise ALV bulunan variant düzeninde gösterilir. Bulunamaz ise hata mesajı verilir.

REUSE_ALV_EVENTS_GET

Lliste tipine göre ALV fonksiyonunun alabileceği bütün (CALLBACK) olayların listesini döner. Bu listedeki olaylara atanan alt yordam isimleri ALV fonksiyonuna verilerek alt yordamlar atınmış olur.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
I_LIST_TYPE TYPE SLIS_LIST_TYPE 0 X X 1-4 arası liste tipi
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
ET_EVENTS TYPE SLIS_T_EVENT X Liste tipine göre olayların listesi
EXCEPTIONS
Exception Tanım
LIST_TYPE_WRONG Liste tipi mevcut değil

I_LIST_TYPE parametresinin alabileceği değerler ve açıklamaları aşağıdaki tablodadır.

Parametre Değeri ALV Liste Tipi ALV Fonksiyonu
0 Basit liste REUSE_ALV_LIST_DISPLAY
1 Hiyerarşik sıralı liste REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 Basit blok liste REUSE_ALV_BLOCK_LIST_APPEND
3 Hiyerarşik sıralı blok liste REUSE_ALV_BLOCK_LIST_HS_APPEND
4 Tam ekran REUSE_ALV_GRID_DISPLAY

Örnek: Aşağıdaki örnekte hücresel ALV gösterimi için ALV fonksiyonunda “I_CALLBACK_TOP_OF_PAGE” parametresi kullanılmadı. Bunun yerine “REUSE_ALV_EVENTS_GET” fonksiyonu kullanılarak “IT_EVENTS” tablosu alınır. Bu tabloda olaya alt yordam ismi atanır, ALV fonksiyonuna bu tablo parametre olarak verilir.

TYPE-POOLS: slis.
DATA: gt_spfli TYPE STANDARD TABLE OF spfli,
gv_repid LIKE sy-repid,
gt_events TYPE slis_t_event.
START-OF-SELECTION.
PERFORM alv_callback_olaylari_bul.
PERFORM alv_goster.
FORM alv_callback_olaylari_bul .
DATA ls_events TYPE slis_alv_event.
CALL FUNCTION ‘REUSE_ALV_EVENTS_GET’
EXPORTING
i_list_type           = 4
IMPORTING
et_events             = gt_events
EXCEPTIONS
list_type_wrong       = 1
OTHERS                = 2.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
READ TABLE gt_events INTO ls_events
WITH KEY name = slis_ev_top_of_page.
IF sy-subrc = 0.
ls_events-form = ‘TOP_OF_PAGE’.
MODIFY gt_events FROM ls_events INDEX sy-tabix.
ENDIF.
ENDFORM.
FORM alv_goster .
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
i_structure_name    = ‘SPFLI’
i_save              = ‘A’
it_events           = gt_events
TABLES
t_outtab            = gt_spfli.
ENDFORM.
FORM top_of_page.
DATA: lt_header    TYPE slis_t_listheader,
ls_header    TYPE slis_listheader.
ls_header-typ  = ‘H’.
ls_header-key  = ”.
ls_header-info = ‘REUSE_ALV_EVENTS_GET Örneği’.
APPEND ls_header TO lt_header.
CALL FUNCTION ‘REUSE_ALV_COMMENTARY_WRITE’
EXPORTING
it_list_commentary  = lt_header
i_logo              = ‘ENJOYSAP_LOGO’.
ENDFORM.

Sütun Görüntüsü Biçimlendirme

Alan katalogu özellikleri değiştirilerek sütuna bağlı alanların görüntüsü değiştirilebilir.

Alan Anlamı Veri Tipi Değer Aralığı
HOTSPOT Alan üzerinde geldiğinde imlecin el şeklini (link) almasını sağlar CHAR(1) SPACE, ‘X’
CHECKBOX Alanın checkbox olarak görünmesini sağlar CHAR(1) SPACE, ‘X’
DO_SUM ALV’ de belirtilen alanın alt toplamı alınarak görüntülenir CHAR(1) SPACE, ‘X’
COL_POS Alanın sütun pozisyonu ayarlamak için kullanılır INT4(10) Tamsayı
EMPHASIZE Sütun rengini değiştirmek için kullanılır‘X’ kullanılır ise ön tanımlı tipler kullanılır. Eğer karakter ‘C’(renk kodu) ile başlarsa, alabileceği üç rakamın anlamı şöyledir.1. x: renk kodu2. y: yoğunluk görünüm3. z: ters çevrilmiş renk görünümü CHAR(4) SPACE, ‘X’ or ‘Cxyz’ (x:’1′-‘9’; y,z: ‘0’=off ‘1’=on)
NO_OUT Alan gizlenir. Alan alan listesinde kalmaya devam eder. ALV görüntüledikten sonra düzen içerisinden listeye dâhil edilebilir CHAR(1) SPACE, ‘X’
OUTPUTLEN Alanın görüntülenen sütun genişliğini ayarlamak için kullanılır. ABAP Dictionary’ de tanımlı bir alan ise doldurmaya gerek yoktur. Alan uzunluğu Domain üzerinden devralınır. NUMC(6) Tamsayı

Sütun İçeriğini Biçimlendirme

Alan katalogu özellikleri değiştirilerek sütuna bağlı alanların içerikleri biçimlendirilebilir.

Alan Anlamı Veri Tipi Değer Aralığı
EDIT_MASK Geçerli alan çıktısı için çeviri yordamı atanmış ise kullanılmasını sağlar. CHAR(60) SPACE, çeviri yordamı
ICON Sütun içeriği ikon olarak görüntülenir. Sütun içeriği geçerli ikon karakter dizesi içermelidir. CHAR(1) SPACE, ‘X’
JUST Hizalama için kullanılır. CHAR ve NUMC veri tipine sahip alanlara uygulanabilir.· ‘R’: Sağa dayalı· ‘L’: Sola dayalı· ‘R’: Ortalanmış CHAR(1) SPACE, ‘R’, ‘L’,’C’
LZERO NUMC veri tipi için kullanılabilir. Alanın sıfırdan büyük rakamının solunda sıfır var ise görüntülenir. CHAR(1) SPACE, ‘X’
NO_SIGN Alan değeri işaretsiz olarak görüntülenir. CHAR(1) SPACE, ‘X’
NO_ZERO Sıfır alanlar boş olarak görüntülenir. CHAR(1) SPACE, ‘X’
SYMBOL Sütun içeriği sembol olarak görüntülenir. Alan içeriği geçerli sembol işaretini içermelidir. CHAR(1) SPACE, ‘X’

Sütun Metin Özelliklerini Biçimlendirme

Alan katalogu özellikleri değiştirilerek sütun başlığı, ipucu yardımı, sütun seçim metinlerinin bakımı yapılabilir.

LVC_S_FCAT için metin biçimlendirme özellikleri

Alan Anlamı Veri Tipi Değer Aralığı
TOOLTIP Sütuna bağlı ipucu yardımı metni CHAR(40) Herhangi bir metin
TIPDDICTXT ABAP Data Dictionary’ e referans gösterilen alanlar için metin seçimi. CHAR(1) SPACE, ‘L’, ‘M’, ‘S’ ve ‘R’
SELTEXT Sütun seçiminde kullanılacak metin CHAR(40) Herhangi bir metin
SELDDICTXT ABAP Dictionary’ e referans gösterilen alanlar için sütun seçiminde kullanılacak metin CHAR(1) SPACE, ‘L’, ‘M’, ‘S’ ve ‘R’
SCRTEXT_S ABAP Dictionary’ de tanımlı alanlar için tanımlı kısa metin bu alana kopyalanır. CHAR(10) ABAP Dictionary’ den kopyalanan metin
SCRTEXT_M ABAP Dictionary’ de tanımlı alanlar için tanımlı orta uzunluktaki metin bu alana kopyalanır. CHAR(20) ABAP Dictionary’ den kopyalanan metin
SCRTEXT_L ABAP Dictionary’ de tanımlı alanlar için tanımlı uzun metin bu alana kopyalanır. CHAR(40) ABAP Dictionary’ den kopyalanan metin
REPTEXT ABAP Dictionary’ de tanımlı alanlar için uygun data element’ alan etiketi bu alana kopyalanır. CHAR(55) ABAP Dictionary’ den kopyalanan metin
COLTEXT ABAP Dictionary’ e referans gösterilmeyen alan için sütun başlığı belirler. CHAR(40) Herhangi bir metin
COLDDICTXT ABAP Dictionary’ e referans gösterilen alanlar için sütun başlığı seçiminde kullanılacak metin. CHAR(1) SPACE, ‘L’, ‘M’, ‘S’ ve ‘R’

SLIS_FIELDCAT_ALV için metin biçimlendirme özellikleri

Alan Anlamı Veri Tipi Değer Aralığı
SELTEXT_S ABAP Dictionary’ de tanımlı alanlar için tanımlı kısa metin bu alana kopyalanır. CHAR(10) ABAP Dictionary’ den kopyalanan metin
SELTEXT_M ABAP Dictionary’ de tanımlı alanlar için tanımlı orta uzunluktaki metin bu alana kopyalanır. CHAR(20) ABAP Dictionary’ den kopyalanan metin
SELTEXT_L ABAP Dictionary’ de tanımlı alanlar için tanımlı uzun metin bu alana kopyalanır. CHAR(40) ABAP Dictionary’ den kopyalanan metin
REPTEXT ABAP Dictionary’ de tanımlı alanlar için uygun data element’ alan etiketi bu alana kopyalanır. CHAR(55) ABAP Dictionary’ den kopyalanan metin

Örnek: Sütun biçimlendirme uygulanan örnek.

TYPE-POOLS: slis.
DATA: gt_fieldcat  TYPE slis_t_fieldcat_alv,
gs_fieldcat  TYPE slis_fieldcat_alv.
TYPES: BEGIN OF gy_sbook,
carrid TYPE sbook-carrid,
connid TYPE sbook-connid,
fldate TYPE sbook-fldate,
bookid TYPE sbook-bookid,
passname TYPE sbook-passname,
icon   TYPE c LENGTH 4,
END OF gy_sbook.
DATA: gt_sbook TYPE STANDARD TABLE OF gy_sbook,
gs_sbook TYPE gy_sbook.
DATA gv_repid TYPE sy-repid.
SELECT * FROM sbook INTO CORRESPONDING FIELDS OF TABLE gt_sbook.
LOOP AT gt_sbook INTO gs_sbook.
gs_sbook-icon = ‘@CQ@’.
MODIFY gt_sbook FROM gs_sbook.
ENDLOOP.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname  = ‘CARRID’.
gs_fieldcat-seltext_m  = ‘Hava Alanı’.
gs_fieldcat-hotspot    = ‘X’.
gs_fieldcat-just       = ‘R’.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname  = ‘CONNID’.
gs_fieldcat-seltext_m  = ‘Bağlantı No.’.
gs_fieldcat-emphasize  = ‘C601’.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname  = ‘FLDATE’.
gs_fieldcat-seltext_m  = ‘Tarih’.
gs_fieldcat-emphasize  = ‘X’.
gs_fieldcat-COL_POS    = 5.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname  = ‘BOOKID’.
gs_fieldcat-seltext_m  = ‘Rezervasyon ID’.
gs_fieldcat-outputlen  = 15.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname  = ‘PASSNAME’.
gs_fieldcat-seltext_m  = ‘Yolcu İsmi’.
gs_fieldcat-no_out     = ‘X’.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname  = ‘ICON’.
gs_fieldcat-seltext_m  = ‘Icon’.
gs_fieldcat-icon       = ‘X’.
APPEND gs_fieldcat TO gt_fieldcat.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program  = gv_repid
it_fieldcat         = gt_fieldcat
i_save              = ‘A’
TABLES
t_outtab            = gt_sbook
EXCEPTIONS
program_error       = 1
OTHERS              = 2.

Örnek: Hotspot

TYPE-POOLS: slis.
DATA : gt_mara TYPE STANDARD TABLE OF mara,
gs_mara TYPE mara,
gv_repid TYPE sy-repid.
DATA : gt_fieldcat TYPE slis_t_fieldcat_alv,
gs_fieldcat TYPE slis_fieldcat_alv.
SELECT * FROM mara UP TO 10 ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_mara.
gv_repid = sy-repid.
CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’
EXPORTING
i_program_name           = gv_repid
i_structure_name         = ‘MARA’
CHANGING
ct_fieldcat             = gt_fieldcat
EXCEPTIONS
inconsistent_interface   = 1
program_error            = 2
OTHERS                   = 3.
gs_fieldcat-hotspot = ‘X’.
MODIFY gt_fieldcat FROM gs_fieldcat
TRANSPORTING hotspot
WHERE fieldname = ‘MATNR’.
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program      = gv_repid
it_fieldcat             = gt_fieldcat
i_save                  = ‘A’
i_callback_user_command = ‘USER_COMMAND’
TABLES
t_outtab                = gt_mara
EXCEPTIONS
program_error           = 1
OTHERS                  = 2.
FORM user_command  USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN ‘&IC1’.
READ TABLE gt_mara INTO gs_mara INDEX rs_selfield-tabindex.
IF sy-subrc EQ 0.
SET PARAMETER ID ‘MAT’ FIELD gs_mara-matnr.
CALL TRANSACTION ‘MM03’ AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.                    ” USER_COMMAND

Örnek:

Copy… (Ctrl+F5)

Package ve request işlemleri yapılır.