天天看点

简单的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.

  程序运行界面如下:

继续阅读