数据的展示除了准确,免不了的需要简洁美观,将重点的信息醒目的呈现。那在ALV中就肯定要用到LAYOUT
的样式属性了,试想你的上司或者客户看到分析过后的数据,而不是自己翻看那么一大堆的数据是不是奖励,是不是加薪/微笑脸。
-
ALV样式标记、颜色
颜色,信号灯,这两个都需要在ALV结构中定义且必须给个长度,在LAYOUT
中引用定义。
例如,在结构里面定义STATUS(30), COLOR(4) TYPE C, "行颜色字段,CELLCOLOR TYPE LVC_T_SCOL,"单元格颜色
。
先循环表到工作区,赋值,(可以先加判断条件在赋值,这样就是特定的某个条件会被标记)
WA_LINE-STATUS = '@22@'. " 在ALV字段定义需要定义一个字段
WA_LINE-COLOR = 'C610' "定义了一整行的颜色,不加判断条件在整个都显示为该颜色
PERFORM FILL_CELLCOLOR CHANGING WA_LINE-CELLCOLOR.."定义一个字段单元格的颜色,不过需要重新写一个方法
具体代码如下:
SORT GT_LINE ASCENDING BY BUKRS." 排序
LOOP AT GT_LINE INTO WA_LINE.
WA_LINE-STATUS = '@22@'.
IF WA_LINE-MENGE < 100.
WA_LINE-COLOR = 'C610'.
ELSEIF WA_LINE-MENGE >= 100 AND WA_LINE-MENGE < 1000.
PERFORM FILL_CELLCOLOR CHANGING WA_LINE-CELLCOLOR.
" WA_LINE-COLOR = 'C310'.
ELSE.
WA_LINE-COLOR = 'C510'.
ENDIF.
MODIFY GT_LINE FROM WA_LINE.
ENDLOOP.单元格颜色样式 FORM FILL_CELLCOLOR CHANGING P_WA_LINE_CELLCOLOR TYPE LVC_T_SCOL. DATA WA_CELLCOLOR TYPE LVC_S_SCOL. "单元格颜色结构 WA_CELLCOLOR-FNAME = 'MENGE'. WA_CELLCOLOR-COLOR-COL = '6'. * WA_CELLCOLOR-COLOR-INT = '1'. * WA_CELLCOLOR-COLOR-INV = '0'. APPEND WA_CELLCOLOR TO P_WA_LINE_CELLCOLOR. ENDFORM. " FILL_CELLCOLOR
这两个就是一个基本样式,可以辅助报表更简洁直观表达重点数据,或者看着更美观一些。
网友评论