单元个颜色以及第一列的light显示

TYPE-POOLS: slis, icon.
DATA: fieldcat TYPE slis_t_fieldcat_alv.
DATA: BEGIN OF imara OCCURS 0,
  light(4) TYPE c,
  matnr TYPE mara-matnr,
  mtart TYPE mara-mtart,
  maktx TYPE makt-maktx,
  color_line(4) TYPE c,
  tcolor TYPE slis_t_specialcol_alv,
END OF imara.
DATA: xcolor TYPE slis_specialcol_alv.

START-OF-SELECTION.
  PERFORM get_data.
  PERFORM write_report.

FORM get_data.
  WRITE icon_green_light AS ICON TO imara-light.
  imara-matnr = 'ABC'.
  imara-mtart = 'ZCFG'.
  imara-maktx = 'This is description for ABC'.
  APPEND imara.
  WRITE icon_yellow_light AS ICON TO imara-light.
  imara-matnr = 'DEF'.
  imara-mtart = 'ZCFG'.
  imara-maktx = 'This is description for DEF'.
  APPEND imara.
  WRITE icon_red_light AS ICON TO imara-light.
  imara-matnr = 'GHI'.
  imara-mtart = 'ZCFG'.
  imara-maktx = 'This is description for GHI'.
  APPEND imara.
  LOOP AT imara.
    IF sy-tabix = 1.    " Index of internal table
      imara-color_line = 'C410'. " color line
    ENDIF.
    IF sy-tabix = 2.     " color CELL
      CLEAR xcolor.
      xcolor-fieldname = 'MATNR'.
      xcolor-color-col = '3'.
      xcolor-color-int = '1'. " Intensified on/off
*      xcolor-color-inv = '0'.   " It seems no influence
      APPEND xcolor TO imara-tcolor.
    ENDIF.
    MODIFY imara.
  ENDLOOP.
ENDFORM. "get_data

FORM write_report.
  DATA: layout TYPE slis_layout_alv.
  layout-coltab_fieldname = 'TCOLOR'.
  layout-info_fieldname = 'COLOR_LINE'.
  PERFORM build_field_catalog.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      is_layout   = layout
      it_fieldcat = fieldcat
    TABLES
      t_outtab    = imara.
ENDFORM. "write_report

FORM build_field_catalog.
  DATA: fc_tmp TYPE slis_t_fieldcat_alv WITH HEADER LINE.
  CLEAR: fieldcat. REFRESH: fieldcat.
  CLEAR: fc_tmp.
  fc_tmp-reptext_ddic = 'Status'.
  fc_tmp-fieldname = 'LIGHT'.
  fc_tmp-tabname = 'IMARA'.
  fc_tmp-outputlen = '4'.
  fc_tmp-icon = 'X'.
  APPEND fc_tmp TO fieldcat.
  CLEAR: fc_tmp.
  fc_tmp-reptext_ddic = 'Material Number'.
  fc_tmp-fieldname = 'MATNR'.
  fc_tmp-tabname = 'IMARA'.
  fc_tmp-outputlen = '18'.
  APPEND fc_tmp TO fieldcat.
  CLEAR: fc_tmp.
  fc_tmp-reptext_ddic = 'Material Type'.
  fc_tmp-fieldname = 'MTART'.
  fc_tmp-tabname = 'IMARA'.
  fc_tmp-outputlen = '10'.
  APPEND fc_tmp TO fieldcat.
  CLEAR: fc_tmp.
  fc_tmp-reptext_ddic = 'Material'.
  fc_tmp-fieldname = 'MAKTX'.
  fc_tmp-tabname = 'IMARA'.
  fc_tmp-outputlen = '40'.
  APPEND fc_tmp TO fieldcat.
ENDFORM. "build_field_catalog

输出结果显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值