- Katılım
- 8 Eki 2016
- Mesajlar
- 939
- Çözümler
- 4
- Tepki puanı
- 276
- Puanları
- 63
- Yaş
- 42
- Konum
- İzmir
- Web Sitesi
- sapforo.com
- Kullandığınız SAP Modülleri
-
- SAP MM
- SAP PP
- SAP FI
- SAP QM
- Katılım Bölgesi
-
- İzmir
Bu konumuzda sıkça kullanılan ve kullanıcılar için büyük avantaj sağlayan rapor başlığı (TOP-OF-PAGE) fonksiyonunu inceleyeceğiz.
Resimde göründüğü gibi başlık ekleyebileceğimiz iki alan vardır.
İlki genel başlık dediğimiz rapor içinde seçimle değiştirilemeyecek olan "BAŞLIK ALANI" yazan bölgedir.
Bu alanda default olarak SAP yada programın ismi gelir. Bu alana kendimiz başlık girmek için ;
Rapor içinde Git>Özellikler menüsüne tıklanır. Açılan menüden TITLE alanına başlık olarak görünmesi istediğimiz metin girilir.
Raporunuza bu fonksiyon ile statik başlık verebileceğiniz gibi duruma göre başlığın değişmesini de sağlayabilirsiniz. Örneğin seçim ekranında seçilen radiobutton un text ini basit bir if kontrolüyle başlık yapabilirsiniz veya tıklanan bir kayıta göre farklı bir kayıt çekip başlığa yerleştirebilirsiniz.
Resimde göründüğü gibi başlık ekleyebileceğimiz iki alan vardır.
İlki genel başlık dediğimiz rapor içinde seçimle değiştirilemeyecek olan "BAŞLIK ALANI" yazan bölgedir.
Bu alanda default olarak SAP yada programın ismi gelir. Bu alana kendimiz başlık girmek için ;
Rapor içinde Git>Özellikler menüsüne tıklanır. Açılan menüden TITLE alanına başlık olarak görünmesi istediğimiz metin girilir.
Kod:
Daha kapsamlı bir başlık eklemek istiyorsak ;
i_callback_top_of_page = ’TOP-OF-PAGE’
fonksiyonunu kullanmamız gerekir.
*——————————————————————-*
* Form TOP-OF-PAGE *
*——————————————————————-*
* ALV Report Header *
*——————————————————————-*
Form top-of-page.
*ALV BAŞLIK TANIMLAMALARI
data: t_header type slis_t_listheader, “
wa_header type slis_listheader, “
t_line like wa_header-info, “ BAŞLIK ALANI İÇİN GEREKLİ TANIMLAMALAR
ld_lines type i, “
ld_linesc(10) type c. “
* BAŞLIK
wa_header-typ = ’H’. “—>>> ANA BAŞLIK YAZI BOYUTU
wa_header-info = ’DENEME’. ”—>>> ANA BAŞLIK METNİ
append wa_header to t_header.
clear wa_header.
* TARİH
wa_header-typ = ’S’. “—>>> TARİH ALANI YAZI BOYUTU
wa_header-key = ’TARİH: ’. “—>>> TARİH ALANI METNİ
CONCATENATE sy-datum+6(2) ’.' “–>> SİSTEM SAATİ GÜN AY YIL ÇEKİME İŞLEMLERİ
sy-datum+4(2) ’.’
sy-datum(4) INTO wa_header-info.
append wa_header to t_header.
clear: wa_header.
* TOPLAN BULUNAN SATIR
describe table ITAB lines ld_lines. “—>>> SATIRI SAYILACAK TABLO ADI
ld_linesc = ld_lines.
concatenate ’TOPLAM GÖSTERİLEN SATIR SAYISI: ’ ld_linesc “-> GÖSTERİLECEK METİN
into t_line separated by space.
wa_header-typ = ’A’.
wa_header-info = t_line.
append wa_header to t_header.
clear: wa_header, t_line.
call function ’REUSE_ALV_COMMENTARY_WRITE’
EXPORTING
it_list_commentary = t_header.
endform. “top-of-page
Yukarıdaki formu raporumuza ekledikten sonra ALV yi oluşturduğumuz yerde bu formu çağırıyoruz;
*&———————————————————————*
*& Form DISPLAY_ALV_REPORT
*&———————————————————————*
* Display report using ALV grid
*———————————————————————-*
form display_alv_report.
gd_repid = sy-repid.
call function ’REUSE_ALV_GRID_DISPLAY’
exporting
i_callback_program = gd_repid
i_callback_top_of_page = ’TOP-OF-PAGE’ “–>> BAŞLIKĞI ALV YE EKLEME
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = ’X’
tables
t_outtab = ıtab
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. “ DISPLAY_ALV_REPORT
Raporunuza bu fonksiyon ile statik başlık verebileceğiniz gibi duruma göre başlığın değişmesini de sağlayabilirsiniz. Örneğin seçim ekranında seçilen radiobutton un text ini basit bir if kontrolüyle başlık yapabilirsiniz veya tıklanan bir kayıta göre farklı bir kayıt çekip başlığa yerleştirebilirsiniz.