Sorun Cevaplayalım

İşinizle ilgili öngörüler edinin, gerçek zamanlı bilgilere göre karar alın.

SAP Eğitim ve Sertifika Dönemleri

Uzmanlığınızı ve deneyiminizi SAP çözümleri kullanarak tasdik edin.

Çözüm Ekibi Başvurusu

Kullanıcılara hızlı ve pratik çözümler üreterek görev almak isteyenler.

Rapora Title Ekleme - Top Of Page Foksiyonu

Övünç DİNÇ

Çözüm Ekibi
Kayıtlı Üye
Katılım
8 Eki 2016
Mesajlar
928
Tepki puanı
246
Konum
İzmir
Kullandığınız SAP Modülleri
  1. SAP MM
  2. SAP PP
Katılım Bölgesi
  1. İ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.


u5zsm.png


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 ;


u5zu3.png


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.
 
Üst