Change Top of Page in ALV Reports

Abap ile geliştirilen ALV rapor ekranlarında, ilgili rapora dair bilgi vermek veya farklı bir detay paylaşmak amacı ile raporların bulunduğu sayfanın üzerinde Top of Page alanları bulunmaktadır. Bu alanlara istediğimiz bilgiyi oluşturarak yansıtabilmekteyiz. Örnek olarak aşağıdaki resimde görebileceğiniz üzere, raporun başlığı, kullanıcı adı ve tarih gibi bilgileri Top of Page alanında ekrana yansıtmaktayız. 

Yukarıda ki örneğe ilişkin kod bloğu aşağıdaki gibidir. Top of Page alanı için ilk olarak Type, Key ve Info alanlarından oluşan bir veri yapısı oluşturuyoruz. Daha sonra ALV raporunun ekrana yansıtılması öncesinde bu veri yapısındaki alanları ilgili dolduruyoruz. Reuse_Alv_Grid_Display_LVC fonksiyonu içerisinde I_CALLBACK_TOP_OF_PAGE parametresi için oluşturduğumuz TOP_OF_PAGE formunun adını string olarak belirtiyoruz. bu form içerisinde doldurduğumuz veri yapısını Reuse_Alv_Commentary_Write fonksiyonu ile Top Of Page yapısına uygun formatını ekrana yansıtmayı sağlıyoruz.

DATA      : GT_FCAT      TYPE LVC_T_FCAT,
            GT_FCATALOG TYPE LVC_T_FCAT.

DATA : LT_TABLE TYPE TABLE OF ZDEMO_S_TABLE.
CONSTANTS : GC_STR_NAME LIKE DD02L-TABNAME VALUE 'ZDEMO_S_TABLE'.


DATA : BEGIN OF ALV_LIST OCCURS 0,
         TYP(1)  TYPE C,
         KEY(20) TYPE C,
         INFO    TYPE SLIS_ENTRY,
       END OF ALV_LIST.

START-OF-SELECTION.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_TABLE FROM ZDEMO_TABLE.

  IF LT_TABLE IS NOT INITIAL.
    PERFORM FIELDCATALOG_EDIT TABLES GT_FCATALOG.
    PERFORM DISPLAY_ALV  TABLES   LT_TABLE
                                  GT_FCATALOG.
  ENDIF.


FORM FIELDCATALOG_EDIT TABLES GT_FCAT_EDIT TYPE LVC_T_FCAT.

  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      I_STRUCTURE_NAME = GC_STR_NAME
    CHANGING
      CT_FIELDCAT      = GT_FCATALOG[].

ENDFORM.


FORM DISPLAY_ALV TABLES    GT_OUT
                 STRUCTURE ZDEMO_S_TABLE
                 GT_FCAT TYPE LVC_T_FCAT.

  DATA: DATE(10).
  WRITE SY-DATUM TO DATE MM/DD/YYYY.
  ALV_LIST-TYP  = 'S'.
  ALV_LIST-KEY  = 'Demo Report Title'.
  ALV_LIST-INFO = TEXT-TTL.
  APPEND ALV_LIST.
  ALV_LIST-TYP  = 'S'.
  ALV_LIST-KEY  = 'User Name :'.
  ALV_LIST-INFO = SY-UNAME.
  APPEND ALV_LIST.
  ALV_LIST-TYP  = 'S'.
  ALV_LIST-KEY  = 'Date :'.
  ALV_LIST-INFO = DATE.
  APPEND ALV_LIST.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      I_CALLBACK_PROGRAM       = SY-REPID
      I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
      I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
      I_CALLBACK_TOP_OF_PAGE   = 'TOP_OF_PAGE'
      IT_FIELDCAT_LVC          = GT_FCAT[]
      I_DEFAULT                = 'X'
      I_SAVE                   = 'A'
    TABLES
      T_OUTTAB                 = GT_OUT.

ENDFORM.

FORM TOP_OF_PAGE.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = ALV_LIST[].
ENDFORM.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s