TYPE-POOLS

来源:互联网 发布:交互设计 知乎 编辑:程序博客网 时间:2024/06/06 03:20
我们在定义Tables的时候,一般会加上TYPE-POOLS SLIS.

slis应该是个Package.声明了它后就可以用它包括的函数、类、消息等。

SLIS_FIELDCAT_ALV 是控制ALV的列的信息,比如列宽、颜色、是否可修改等。

SLIS_LAYOUT_ALV 是控制整体的ALV的显示状态的,比如隔行显示不同的颜色,自动优化全部列的宽度,全部列可修改等等。

下面一个控制ALV单元格颜色的例子:

DATA: BEGIN OF IT_BUSS OCCURS 0,
          PXKCSL TYPE P DECIMALS 0,   "批销库存数量
          SEL(1),
          colour TYPE slis_t_specialcol_alv,   "这个需要加
      END OF IT_BUSS.
......
      LOOP AT IT_BUSS.
          F_TABIX = SY-TABIX.
          color-fieldname = 'JHCGS'.
          color-color-col = '9'.
          APPEND color.
          IT_BUSS-colour = color[].
          modify IT_BUSS INDEX F_TABIX.
      ENDLOOP.
.......
DATA: gs_layout TYPE slis_layout_alv. "整体alv的属性
gs_layout-colwidth_optimize = 'X'.     "最合适的列宽
gs_layout-box_fieldname = 'CHX'. "CHX是做批量选择的字段
gs_layout-f2code = 'LOOK'.

DATA: it_fields TYPE slis_t_fieldcat_alv.
DATA: wa_fields TYPE LINE OF slis_t_fieldcat_alv.
gs_layout-coltab_fieldname    = 'COLOUR'."加入修改的颜色

REFRESH it_fields.
CLEAR wa_fields.                     "alv中具体字段的属性