天天看點

簡單的ALV顯示資訊

  在ALV開發中有兩個重要的對象:LAYOUT和FIELDCAT。LAYOUT主要用于設定ALV的輸出格式,如輸出字段的顔色、表格中的線條等;而FIELDCAT主要用于ALV結構定義,包括具體字段的名稱、類型、格式等屬性,它們同屬于類型池SLIS,在ALV開發中必須導入類型池SLIS。

      [For Example]

   *ALV使用到的類型池

   TYPE-POOLS:SLIS.

   DATA wa_alv_field TYPE SLIS_FIELDCAT_ALV.

   *清單字段 (綁定FIELD)無HEADLER LINE

DATA wa_alv_fieldcat TYPE SLIS_T_FIELDCAT_ALV.

   *DATA wa_alv_fieldcat TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE. "有HEADLINE LINE定義的FIELDCAT

   *定義資料內表

     DATA wa_spfli LIKE TABLE OF SPFLI WITH HEADER LINE.

   *內表賦值

SELECT * INTO TABLE wa_spfli FROM SPFLI.

   *定義四FIELDCAT資訊

wa_alv_field-COL_POS = 1. *ALV列索引

wa_alv_field-FIELDNAME = 'CARRID'.*ALV綁定字段

wa_alv_field-SELTEXT_M = '航班承運人'.*ALV表頭顯示的文字

APPEND wa_alv_field TO wa_alv_fieldcat.*內表賦值,無HEADER LINE隻能APPEND...TO...

  *有HEADER LINE 的FIELDCAT可以直接用對象指派給對象

  *wa_alv_fieldcat-COL_POS = 1.

  *wa_alv_fieldcat-FIELDNAME = 'CARRID'.

  *wa_alv_fieldcat-SELTEXT_M = '航班承運人'.

  *APPEND wa_alv_fieldcat.

wa_alv_field-COL_POS = 2.

wa_alv_field-FIELDNAME = 'CONNID'.

wa_alv_field-SELTEXT_M = '航班數量'.

APPEND wa_alv_field TO wa_alv_fieldcat.

     wa_alv_field-COL_POS = 3.

wa_alv_field-FIELDNAME = 'CITYFROM'.

wa_alv_field-SELTEXT_M = '起飛城市'.

     wa_alv_field-COL_POS = 4.

wa_alv_field-FIELDNAME = 'CITYTO'.

wa_alv_field-SELTEXT_M = '目標城市'.

wa_alv_field-COL_POS = 5.

wa_alv_field-FIELDNAME = 'AIRPFROM'.

wa_alv_field-SELTEXT_M = '部門機場'.

wa_alv_field-COL_POS = 6.

wa_alv_field-FIELDNAME = 'AIRPTO'.

wa_alv_field-SELTEXT_M = '目地機場'.

  *調用ALV顯示表單

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "'REUSE_ALV_LIST_DISPLAY' 樣式風格有點迥異

     EXPORTING

       IT_FIELDCAT = wa_alv_fieldcat *設定ALV顯示風格 對于無HEADER LINE 也可以用wa_alv_fieldcat[],然而有HEADER LINE的隻能用後者,否則程式将報錯,有無HEADER LINE的FIELDCAT加上[]取回的都是表身吧。

     TABLES

       T_OUTTAB = wa_spfli.

  程式運作界面如下:

繼續閱讀