有两种方法能控制write输出的list报表中的颜色。
1, format
可以使用FORMAT来调整输出的颜色,format语法如下:
1 |
FORMAT <option1> [ON|OFF] <option2> [ON|OFF]........ |
一旦通过ON设定,FORMAT语句中设置的格式将适用于所有后续输出的语句,直到再次使用OFF选项关闭,其具体选项列表如下:
COLOR n [ON|OFF]:设定列表行的背景颜色。
INTENSIFIED [ON|OFF]:设定是否将字段强化输出。
INVERSE [ON|OFF]:设定是否将背景即文字颜色反转输出。
HOTSPOT [ON|OFF]:将光标以手型显示,单击触发行选择事件(热点)。
INPUT [ON|OFF]:设定输入字段,允许用户输入。
RESET:恢复上述的所有设定默认值。
可以WRITE出来的颜色其实很少,大概有只有8种,如下:
COLOR类型及描述 | ||
No | COLOR | DESC |
0 | COL_BACKGROUND | Background(GUI-specific) |
1 | COL_HEADING | Headers(grayish blue) |
2 | COL_NORMAL | List body(bright gray) |
3 | COL_TOTAL | Totals(yellow) |
4 | COL_KEY | Key columns(bluish green) |
5 | COL_POSITIVE | Positive threshold value(green) |
6 | COL_NEGATIVE | Negative threshold value(red) |
7 | COL_GROUP | Control levels(violet) |
例子代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
REPORT ztest_list_color. DATA col TYPE i VALUE 0. DO 8 TIMES. col = sy-index - 1. FORMAT COLOR = col. WRITE :/ col COLOR OFF, 'INTENSIFIED ON' INTENSIFIED ON, 'INTENSIFIED OFF' INTENSIFIED OFF, 'INVERSE ON' INVERSE ON, 'INVERSE OFF' INVERSE OFF, 'HOTSPOT ON' HOTSPOT ON, 'HOTSPOT OFF' HOTSPOT OFF, 'INPUT ON' INPUT ON, 'INPUT OFF' INPUT OFF, 'FRAMES ON' FRAMES ON, 'FRAMES OFF' FRAMES OFF, 'RESET' RESET. ENDDO. |
运行如下:
2, color
第二种方法是利用write语句中的color 关键字,语法如下:
1 |
... [COLOR {[=]{color [ON]}|OFF}|{= col}] |
也能输出8种颜色,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
REPORT ztest_list_color2. DATA sum TYPE i. WRITE: 'COL_BACKGROUND', sum COLOR COL_BACKGROUND. ULINE. WRITE: 'COL_HEADING ', sum COLOR COL_HEADING. ULINE. WRITE: 'COL_NORMAL ', sum COLOR COL_NORMAL. ULINE. WRITE: 'COL_TOTAL ', sum COLOR COL_TOTAL. ULINE. WRITE: 'COL_KEY ', sum COLOR COL_KEY. ULINE. WRITE: 'COL_POSITIVE ', sum COLOR COL_POSITIVE. ULINE. WRITE: 'COL_NEGATIVE ', sum COLOR COL_NEGATIVE. ULINE. WRITE: 'COL_GROUP ', sum COLOR COL_GROUP . |
运行结果:
以上。
发表评论