ABAP:在Write语句中使用颜色作为变量

时间:2013-04-22 12:23:06

标签: colors abap

如何将颜色值插入变量?

例如

这对我有用:

write:/10  'test' COLOR COL_HEADING.

我觉得颜色是整数所以我试过了:

data:
gv_mycolor type I.
gv_mycolor = 5.
write:/10  'test' COLOR gv_mycolor.

第二个代码给了我一个错误: “不期望颜色gv_mycolor;只允许1到7或相关的颜色ID。

使用声明

FORMAT COLOR = gv_mycolor.

适合我。我只有写声明有问题。 有人可以帮忙吗? 谢谢 托马斯

2 个答案:

答案 0 :(得分:6)

DATA colour TYPE i VALUE 2.

WRITE:/10  'test' COLOR = colour .

你必须使用一个等号,这就是它的全部...... ABAP和它的有趣陈述:P

答案 1 :(得分:1)

编辑:答案的第一部分是隐藏的,因为它不正确 - 请参阅Vlad的评论&答案

  

您的问题的简短回答:语法不允许您根据编译器消息执行此操作。    您可以做的最好的事情是将FORMAT和WRITE语句组合在一起  宏观,但这是非常老派,可能不会教你  相关的太多了。

查看包SLIS,其中有许多示例(BCALV_GRID*)如何实现ALV列表和网格。即使在Web Dynpro中,这些也经常使用。 CL_SALV*类还提供了一个很好的简化(和支持)接口来实现ALV网格。 (有关完整示例,请参阅this answer。)